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 конструктор ініціалізує вузол з необов’язковим ім’ям.
| Methods | Methods | Methods |
|---|---|---|
name | String | Необов’язкове ім’я для вузла |
Methods
Всі атрибути вузла доступні через методи‑геттери/сеттери.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Людсько‑читабельний ідентифікатор вузла |
entity | Entity | getEntity() | setEntity(Entity) | Основна сутність, прикріплена до цього вузла (наприклад,., Mesh, Camera). Швидка клавіша для першого елементу getEntities(). |
entities | List<Entity> | getEntities() | – | Усі сутності, приєднані до цього вузла (лише для читання) |
material | Material | getMaterial() | setMaterial(Material) | Основний матеріал, призначений цьому вузлу |
materials | List<Material> | getMaterials() | – | Усі матеріали, призначені цьому вузлу (лише для читання) |
childNodes | List<Node> | getChildNodes() | – | Список дочірніх вузлів |
parentNode | Node | getParentNode() | setParentNode(Node) | Безпосередній батьківський вузол у ієрархії сцени (getParentNodes() не доступний на Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, вузол і його піддерево приховані |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, цей вузол виключено з рендерингу |
transform | Transform | getTransform() | – | Локальне перетворення (трансляція, обертання, масштаб) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Матриця перетворення у світовому просторі |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Метадані ресурсу, прикріплені до цього вузла, якщо є |
properties | PropertyCollection | getProperties() | – | Користувацькі властивості, прикріплені до цього вузла |
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());
}
}