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 سازنده یک گره را با یک نام اختیاری مقداردهی اولیه می‌کند.

MethodsMethodsMethods
nameStringنام اختیاری برای گره

Methods

تمام ویژگی‌های گره از طریق متدهای getter/setter قابل دسترسی هستند.

MethodsMethodsMethodsMethodsMethods
nameStringgetName()setName(String)شناسهٔ قابل‌خواندن برای انسان برای گره
entityEntitygetEntity()setEntity(Entity)موجودیت اصلی متصل به این گره (مثلاً., Mesh, Camera). میان‌بر برای اولین عنصر از getEntities().
entitiesList<Entity>getEntities()تمام موجودیت‌های متصل به این گره (فقط‑خواندنی)
materialMaterialgetMaterial()setMaterial(Material)ج material اصلی اختصاص یافته به این گره
materialsList<Material>getMaterials()تمام materialهای اختصاص داده شده به این گره (فقط‑خواندنی)
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ماتریس تبدیل فضای جهانی را برمی‌گرداند؛ 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());
    }
}

موارد مرتبط

 فارسی