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) | ج material اصلی اختصاص یافته به این گره |
materials | List<Material> | getMaterials() | – | تمام materialهای اختصاص داده شده به این گره (فقط‑خواندنی) |
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
یک صحنه ایجاد کنید، یک 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());
}
}