Node — Aspose.3D FOSS for Java
Methods
Methods Node Klasse repräsentiert ein benanntes Element im Aspose.3D-Szenengraphen. Jeder Knoten kann ein Entity (wie z.B. ein Mesh oder Camera), pflegt Eltern-Kind-Beziehungen zu anderen Knoten und trägt eine lokale Transformation. Knoten sind die primäre Methode, 3D-Objekte in einer Szenenhierarchie zu organisieren.
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 initialisiert einen Knoten mit einem optionalen Namen.
| Methods | Methods | Methods |
|---|---|---|
name | String | Optionaler Name für den Knoten |
Methods
Alle Knotenattribute werden über Getter/Setter-Methoden abgerufen.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Menschenlesbarer Bezeichner für den Knoten |
entity | Entity | getEntity() | setEntity(Entity) | Die primäre Entität, die an diesem Knoten angehängt ist (z.B., Mesh, Camera). Kurzform für das erste Element von getEntities(). |
entities | List<Entity> | getEntities() | – | Alle an diesem Knoten angehängten Entitäten (schreibgeschützt) |
material | Material | getMaterial() | setMaterial(Material) | Das primäre Material, das diesem Knoten zugewiesen ist |
materials | List<Material> | getMaterials() | – | Alle Materialien, die diesem Knoten zugewiesen sind (schreibgeschützt) |
childNodes | List<Node> | getChildNodes() | – | Liste der Kindknoten |
parentNode | Node | getParentNode() | setParentNode(Node) | Direkter Elternknoten in der Szenenhierarchie (getParentNodes() ist nicht verfügbar auf Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, der Knoten und sein Unterbaum sind ausgeblendet |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, dieser Knoten ist vom Rendering ausgeschlossen |
transform | Transform | getTransform() | – | Lokale Transformation (Translation, Rotation, Skalierung) |
globalTransform | GlobalTransform | getGlobalTransform() | – | World-Space-Transformationsmatrix |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Asset-Metadaten, die diesem Knoten zugeordnet sind, falls vorhanden |
properties | PropertyCollection | getProperties() | – | Benutzerdefinierte Eigenschaften, die diesem Knoten zugeordnet sind |
Methods
| Methods | Rückgabetyp | Methods |
|---|---|---|
createChildNode(String name) | Node | Erstellt und hängt einen neuen Kindknoten mit dem angegebenen Namen an |
createChildNode(String name, Entity entity) | Node | Erstellt einen Kindknoten und weist ihm eine Entität zu |
addChildNode(Node node) | void | Fügt einen bestehenden Knoten als Kind dieses Knotens hinzu |
getChild(String name) | Node | Findet einen direkten Kindknoten anhand des Namens |
addEntity(Entity entity) | void | Hängt eine zusätzliche Entität an diesen Knoten an |
merge(Node node) | void | Führt die Kinder und Entitäten eines anderen Knotens in diesen Knoten zusammen |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Gibt die world-space Transformationsmatrix zurück; übergebe true um geometrische Offsets einzuschließen |
getBoundingBox() | BoundingBox | Stub in dieser Ausgabe — gibt immer ein Sentinel zurück BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Es wird keine Geometrieberechnung durchgeführt. |
getProperty(String name) | Object | Ruft einen Eigenschaftswert anhand des Namens ab |
findProperty(String name) | Property | Findet eine Eigenschaft anhand des Namens |
Methods
Erstelle eine Szene, füge ein Mesh zu einem Knoten hinzu und durchlaufe den Szenengraphen:
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());
}
}