Node — Aspose.3D FOSS for Java
Methods
Methods Node 클래스는 Aspose.3D 씬 그래프에서 이름이 지정된 요소를 나타냅니다. 각 노드는 하나를 보유할 수 있습니다 Entity (예를 들어 a 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 생성자는 선택적 이름을 사용하여 노드를 초기화합니다.
| 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). 첫 번째 요소에 대한 바로 가기 of 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 | 월드 스페이스 변환 행렬을 반환합니다; pass 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());
}
}