Node — Aspose.3D FOSS for Java

Methods

Methods Node клас представляє іменований елемент у Aspose.3D графі сцени. Кожен вузол може містити один Entity (наприклад, Mesh або Camera), підтримує відношення батько‑дитина з іншими вузлами та містить локальне перетворення. Вузли — це основний спосіб організації 3D‑об’єктів у ієрархії сцени.

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 конструктор ініціалізує вузол з необов’язковим ім’ям.

MethodsMethodsMethods
nameStringНеобов’язкове ім’я для вузла

Methods

Всі атрибути вузла доступні через методи‑геттери/сеттери.

MethodsMethodsMethodsMethodsMethods
nameStringgetName()setName(String)Людсько‑читабельний ідентифікатор вузла
entityEntitygetEntity()setEntity(Entity)Основна сутність, прикріплена до цього вузла (наприклад,., Mesh, Camera). Швидка клавіша для першого елементу getEntities().
entitiesList<Entity>getEntities()Усі сутності, приєднані до цього вузла (лише для читання)
materialMaterialgetMaterial()setMaterial(Material)Основний матеріал, призначений цьому вузлу
materialsList<Material>getMaterials()Усі матеріали, призначені цьому вузлу (лише для читання)
childNodesList<Node>getChildNodes()Список дочірніх вузлів
parentNodeNodegetParentNode()setParentNode(Node)Безпосередній батьківський вузол у ієрархії сцени (getParentNodes() не доступний на Node)
visiblebooleangetVisible()setVisible(boolean)Methods false, вузол і його піддерево приховані
excludedbooleangetExcluded()setExcluded(boolean)Methods true, цей вузол виключено з рендерингу
transformTransformgetTransform()Локальне перетворення (трансляція, обертання, масштаб)
globalTransformGlobalTransformgetGlobalTransform()Матриця перетворення у світовому просторі
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Метадані ресурсу, прикріплені до цього вузла, якщо є
propertiesPropertyCollectiongetProperties()Користувацькі властивості, прикріплені до цього вузла

Methods

MethodsТип поверненняMethods
createChildNode(String name)NodeСтворює та прикріплює новий дочірній вузол з вказаною назвою
createChildNode(String name, Entity entity)NodeСтворює дочірній вузол і призначає йому сутність
addChildNode(Node node)voidДодає існуючий вузол як дочірній до цього вузла
getChild(String name)NodeЗнаходить прямий дочірній вузол за назвою
addEntity(Entity entity)voidПрикріплює додаткову сутність до цього вузла
merge(Node node)voidОб’єднує дочірні елементи та сутності іншого вузла з цим вузлом
evaluateGlobalTransform(boolean withGeometricTransform)Matrix4Повертає матрицю трансформації у світовому просторі; передайте true щоб включити геометричні зсуви
getBoundingBox()BoundingBoxЗаглушка у цьому випуску — завжди повертає маркер BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Геометричні обчислення не виконуються.
getProperty(String name)ObjectОтримує значення властивості за назвою
findProperty(String name)PropertyЗнаходить властивість за назвою

Methods

Створіть сцену, приєднайте меш до вузла та пройдіться по графу сцени:

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());
    }
}

Див. також

 Українська