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
Всички атрибути на възела се достъпват чрез методи за получаване/запис (getter/setter).
| 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 | Добавя съществуващ node като дете на този node |
getChild(String name) | Node | Намира директен child node по име |
addEntity(Entity entity) | void | Прикача допълнителен entity към този node |
merge(Node node) | void | Обединява децата и entity-тата на друг node в този node |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Връща world-space transform matrix; предайте true за включване на геометрични отмествания |
getBoundingBox() | BoundingBox | Заглушка в това издание — винаги връща sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Не се извършва геометрично изчисление. |
getProperty(String name) | Object | Получава стойност на свойство по име |
findProperty(String name) | Property | Намира свойство по име |
Methods
Създайте сцена, прикрепете mesh към възел и обходете графа на сцената:
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());
}
}