Node — Aspose.3D FOSS for Java

Methods

Methods Node klasa reprezentuje nazwany element w grafie sceny Aspose.3D. Każdy węzeł może zawierać jeden Entity (takim jak Mesh lub Camera), utrzymuje relacje rodzic-dziecko z innymi węzłami i posiada lokalną transformację. Węzły są podstawowym sposobem organizacji obiektów 3D w hierarchii sceny.

import com.aspose.threed.Scene;
import com.aspose.threed.Node;

Scene scene = new Scene();

// Access the root node via getter
Node root = scene.getRootNode();

// Create a child node
Node child = root.createChildNode("my_node");

// Iterate child nodes via getter
for (Node node : root.getChildNodes()) {
    System.out.println(node.getName());
}

Methods

Methods Node konstruktor inicjalizuje węzeł z opcjonalną nazwą.

MethodsMethodsMethods
nameStringOpcjonalna nazwa węzła

Methods

Wszystkie atrybuty węzła są dostępne za pomocą metod getter/setter.

MethodsMethodsMethodsMethodsMethods
nameStringgetName()setName(String)Czytelny dla człowieka identyfikator węzła
entityEntitygetEntity()setEntity(Entity)Podstawowy podmiot dołączony do tego węzła (np., Mesh, Camera). Skrót do pierwszego elementu getEntities().
entitiesList<Entity>getEntities()Wszystkie podmioty dołączone do tego węzła (tylko do odczytu)
materialMaterialgetMaterial()setMaterial(Material)Podstawowy materiał przypisany do tego węzła
materialsList<Material>getMaterials()Wszystkie materiały przypisane do tego węzła (tylko do odczytu)
childNodesList<Node>getChildNodes()Lista węzłów potomnych
parentNodeNodegetParentNode()setParentNode(Node)Bezpośredni węzeł nadrzędny w hierarchii sceny (getParentNodes() nie jest dostępny na Node)
visiblebooleangetVisible()setVisible(boolean)Methods false, węzeł i jego poddrzewo są ukryte
excludedbooleangetExcluded()setExcluded(boolean)Methods true, ten węzeł jest wykluczony z renderowania
transformTransformgetTransform()Transformacja lokalna (przesunięcie, obrót, skalowanie)
globalTransformGlobalTransformgetGlobalTransform()Macierz transformacji w przestrzeni światowej
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Metadane zasobu przypisane do tego węzła, jeśli istnieją
propertiesPropertyCollectiongetProperties()Własne właściwości przypisane do tego węzła

Methods

MethodsTyp zwracanyMethods
createChildNode(String name)NodeTworzy i dołącza nowy węzeł potomny o podanej nazwie
createChildNode(String name, Entity entity)NodeTworzy węzeł potomny i przypisuje do niego entity
addChildNode(Node node)voidDodaje istniejący węzeł jako potomka tego węzła
getChild(String name)NodeZnajduje bezpośredni węzeł potomny po nazwie
addEntity(Entity entity)voidDołącza dodatkową entity do tego węzła
merge(Node node)voidŁączy dzieci oraz entity innego węzła z tym węzłem
evaluateGlobalTransform(boolean withGeometricTransform)Matrix4Zwraca macierz transformacji w przestrzeni świata; przekaż true aby uwzględnić offsety geometryczne
getBoundingBox()BoundingBoxSzablon w tej edycji — zawsze zwraca sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Nie wykonywane jest obliczanie geometrii.
getProperty(String name)ObjectPobiera wartość właściwości po nazwie
findProperty(String name)PropertyZnajduje właściwość po nazwie

Methods

Utwórz scenę, podłącz siatkę do węzła i przeglądaj graf sceny:

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.*;


Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);

// Attach mesh to a child node
Node node = scene.getRootNode().createChildNode("triangle", mesh);

// Traverse child nodes using getter
for (Node child : scene.getRootNode().getChildNodes()) {
    Entity entity = child.getEntity();
    if (entity != null) {
        System.out.println("Node '" + child.getName() + "': " + entity.getClass().getSimpleName());
        System.out.println("  Excluded: " + child.getExcluded());
    }
}

Zobacz także

 Polski