Node — Aspose.3D FOSS for Java

Methods

Methods Node класс представляет именованный элемент в Aspose.3D графе сцены. Каждый узел может содержать один Entity (например, Mesh или Camera),.

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

Все атрибуты узла доступны через методы getter/setter.

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Заглушка в этом издании — всегда возвращает sentinel 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());
    }
}

См. также

 Русский