Node — Aspose.3D FOSS for Java
Methods
Methods Node kelas mewakili elemen bernama dalam Aspose.3D scene graph. Setiap nod boleh memegang satu Entity (seperti a Mesh atau Camera), mengekalkan hubungan ibu-bapa dengan nod lain, dan membawa transformasi setempat. Nod adalah cara utama untuk mengatur objek 3D dalam hierarki adegan.
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 konstruktor menginisialisasi nod dengan nama pilihan.
| Methods | Methods | Methods |
|---|---|---|
name | String | Nama pilihan untuk nod |
Methods
Semua atribut node diakses melalui kaedah getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Pengenal yang boleh dibaca manusia untuk nod |
entity | Entity | getEntity() | setEntity(Entity) | Entiti utama yang dilampirkan pada nod ini (contohnya,., Mesh, Camera). Pintasan untuk elemen pertama dari getEntities(). |
entities | List<Entity> | getEntities() | – | Semua entiti yang dilampirkan pada nod ini (baca-sahaja) |
material | Material | getMaterial() | setMaterial(Material) | Bahan utama yang ditetapkan kepada nod ini |
materials | List<Material> | getMaterials() | – | Semua bahan yang ditetapkan kepada nod ini (baca-sahaja) |
childNodes | List<Node> | getChildNodes() | – | Senarai nod anak |
parentNode | Node | getParentNode() | setParentNode(Node) | NOD induk segera dalam hierarki adegan (getParentNodes() tidak tersedia pada Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, nod dan subpohonannya disembunyikan |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, nod ini dikecualikan daripada rendering |
transform | Transform | getTransform() | – | Transformasi setempat (terjemahan, putaran, skala) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Matriks transformasi ruang-dunia |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadata aset yang dilampirkan pada nod ini, jika ada |
properties | PropertyCollection | getProperties() | – | Ciri tersuai yang dilampirkan pada nod ini |
Methods
| Methods | Jenis Pulangan | Methods |
|---|---|---|
createChildNode(String name) | Node | Mencipta dan melampirkan nod anak baru dengan nama yang diberikan |
createChildNode(String name, Entity entity) | Node | Mencipta nod anak dan menetapkan entiti kepadanya |
addChildNode(Node node) | void | Menambah nod sedia ada sebagai anak kepada nod ini |
getChild(String name) | Node | Mencari nod anak secara langsung mengikut nama |
addEntity(Entity entity) | void | Melampirkan entiti tambahan kepada nod ini |
merge(Node node) | void | Menggabungkan anak‑anak dan entiti nod lain ke dalam nod ini |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Mengembalikan matriks transformasi ruang‑dunia; lewati true untuk menyertakan offset geometri |
getBoundingBox() | BoundingBox | Stub dalam edisi ini — sentiasa mengembalikan sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Tiada pengiraan geometri dilakukan. |
getProperty(String name) | Object | Mendapatkan nilai sifat mengikut nama |
findProperty(String name) | Property | Mencari sifat mengikut nama |
Methods
Cipta satu adegan, lampirkan mesh kepada node, dan lalui graf adegan:
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());
}
}