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ą.
| Methods | Methods | Methods |
|---|---|---|
name | String | Opcjonalna nazwa węzła |
Methods
Wszystkie atrybuty węzła są dostępne za pomocą metod getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Czytelny dla człowieka identyfikator węzła |
entity | Entity | getEntity() | setEntity(Entity) | Podstawowy podmiot dołączony do tego węzła (np., Mesh, Camera). Skrót do pierwszego elementu getEntities(). |
entities | List<Entity> | getEntities() | – | Wszystkie podmioty dołączone do tego węzła (tylko do odczytu) |
material | Material | getMaterial() | setMaterial(Material) | Podstawowy materiał przypisany do tego węzła |
materials | List<Material> | getMaterials() | – | Wszystkie materiały przypisane do tego węzła (tylko do odczytu) |
childNodes | List<Node> | getChildNodes() | – | Lista węzłów potomnych |
parentNode | Node | getParentNode() | setParentNode(Node) | Bezpośredni węzeł nadrzędny w hierarchii sceny (getParentNodes() nie jest dostępny na Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, węzeł i jego poddrzewo są ukryte |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, ten węzeł jest wykluczony z renderowania |
transform | Transform | getTransform() | – | Transformacja lokalna (przesunięcie, obrót, skalowanie) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Macierz transformacji w przestrzeni światowej |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadane zasobu przypisane do tego węzła, jeśli istnieją |
properties | PropertyCollection | getProperties() | – | Własne właściwości przypisane do tego węzła |
Methods
| Methods | Typ zwracany | Methods |
|---|---|---|
createChildNode(String name) | Node | Tworzy i dołącza nowy węzeł potomny o podanej nazwie |
createChildNode(String name, Entity entity) | Node | Tworzy węzeł potomny i przypisuje do niego entity |
addChildNode(Node node) | void | Dodaje istniejący węzeł jako potomka tego węzła |
getChild(String name) | Node | Znajduje bezpośredni węzeł potomny po nazwie |
addEntity(Entity entity) | void | Dołą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) | Matrix4 | Zwraca macierz transformacji w przestrzeni świata; przekaż true aby uwzględnić offsety geometryczne |
getBoundingBox() | BoundingBox | Szablon w tej edycji — zawsze zwraca sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Nie wykonywane jest obliczanie geometrii. |
getProperty(String name) | Object | Pobiera wartość właściwości po nazwie |
findProperty(String name) | Property | Znajduje 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());
}
}