Node — Aspose.3D FOSS for Java
Methods
Methods Node kelas mewakili elemen bernama dalam grafik adegan Aspose.3D. Setiap node dapat menampung satu Entity (seperti sebuah Mesh atau Camera), mempertahankan hubungan induk‑anak dengan node lain, dan membawa transformasi lokal. Node 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 node dengan nama opsional.
| Methods | Methods | Methods |
|---|---|---|
name | String | Nama opsional untuk node |
Methods
Semua atribut node diakses melalui metode getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Pengidentifikasi yang dapat dibaca manusia untuk node |
entity | Entity | getEntity() | setEntity(Entity) | Entitas utama yang terlampir pada node ini (misalnya,., Mesh, Camera). Pintasan untuk elemen pertama dari getEntities(). |
entities | List<Entity> | getEntities() | – | Semua entitas yang terlampir pada node ini (hanya‑baca) |
material | Material | getMaterial() | setMaterial(Material) | Materi utama yang ditetapkan untuk node ini |
materials | List<Material> | getMaterials() | – | Semua materi yang ditugaskan ke node ini (hanya-baca) |
childNodes | List<Node> | getChildNodes() | – | Daftar node anak |
parentNode | Node | getParentNode() | setParentNode(Node) | Node induk langsung dalam hierarki adegan (getParentNodes() tidak tersedia di Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, node dan subpohon‑nya disembunyikan |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, node ini dikecualikan dari rendering |
transform | Transform | getTransform() | – | Transformasi lokal (translasi, rotasi, skala) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Matriks transformasi ruang-dunia |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadata aset yang terlampir pada node ini, jika ada |
properties | PropertyCollection | getProperties() | – | Properti khusus yang terlampir pada node ini |
Methods
| Methods | Tipe Pengembalian | Methods |
|---|---|---|
createChildNode(String name) | Node | Membuat dan melampirkan node anak baru dengan nama yang diberikan |
createChildNode(String name, Entity entity) | Node | Membuat node anak dan menetapkan entitas padanya |
addChildNode(Node node) | void | Menambahkan node yang ada sebagai anak dari node ini |
getChild(String name) | Node | Menemukan node anak langsung berdasarkan nama |
addEntity(Entity entity) | void | Melampirkan entitas tambahan ke node ini |
merge(Node node) | void | Menggabungkan anak dan entitas node lain ke dalam node ini |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Mengembalikan matriks transformasi ruang dunia; pass true untuk menyertakan offset geometris |
getBoundingBox() | BoundingBox | Stub dalam edisi ini — selalu mengembalikan sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Tidak ada perhitungan geometri yang dilakukan. |
getProperty(String name) | Object | Mendapatkan nilai properti berdasarkan nama |
findProperty(String name) | Property | Menemukan properti berdasarkan nama |
Methods
Buat sebuah adegan, lampirkan mesh ke sebuah node, dan telusuri grafik 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());
}
}