A3DObject, SceneObject, CustomObject — Aspose.3D FOSS for Java
包:: com.aspose.threed (aspose-3d-foss 26.1.0)
这三个类构成了 Aspose.3D 类层次结构的基础。库中的每个公共对象都继承自 A3DObject,,它提供了名称和动态属性集合。. SceneObject 扩展 A3DObject 并具备场景成员跟踪。. CustomObject 是一个轻量级的具体子类,用于存储任意用户元数据。.
A3DObject
所有 Aspose.3D 托管对象的根基类。库中每个具名对象—— Node, Mesh, AnimationClip, Material, 等等 – 继承自 A3DObject.
import com.aspose.threed.A3DObject;Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
name | String | getName() | setName(String) | 对象的可读名称。默认为空字符串。. |
properties | PropertyCollection | getProperties() | – | 附加到此对象的动态属性集合。遍历它或使用 findProperty() 进行命名查找。. |
Example
findProperty(String propertyName)
在此对象中搜索具名属性 PropertyCollection 并返回 Property 实例,或 null 如果未找到。.
| Example | Example | Example |
|---|---|---|
propertyName | String | 要搜索的名称。. |
返回值:: Property 或 null
import com.aspose.threed.Scene;
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("origin");
Property prop = node.findProperty("name");
if (prop != null) {
System.out.println(prop.getValue()); // "origin"
}getProperty(String property)
返回指定属性的当前值,或 null 如果属性不存在。.
| Example | Example | Example |
|---|---|---|
property | String | 属性名称。. |
返回:: Object
Object val = node.getProperty("name");
System.out.println(val); // "origin"setProperty(String property, Object value)
设置指定名称属性的值。如果属性尚不存在,则创建该属性。.
| Example | Example | Example |
|---|---|---|
property | String | 属性名称。. |
value | Object | 新值。. |
返回:: void
node.setProperty("layer", 3);
System.out.println(node.getProperty("layer")); // 3removeProperty(String property)
从集合中移除指定名称的属性。.
| Example | Example | Example |
|---|---|---|
property | String 或 Property | 属性名称或 Property 要删除的实例。. |
返回:: boolean – true 如果找到了属性并已删除。.
Example
import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.Property;
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("my_node");
// Set and retrieve a custom property
node.setProperty("export_lod", 2);
System.out.println(node.getProperty("export_lod")); // 2
// Enumerate all properties
for (Property prop : node.getProperties()) {
System.out.println(" " + prop.getName() + " = " + prop.getValue());
}
// Find and inspect a specific property
Property p = node.findProperty("name");
if (p != null) {
System.out.println(p.getValueType()); // java.lang.String
}SceneObject
Example A3DObject 带有对所属对象的引用 Scene. Node, Entity,,并且相关类继承自 SceneObject.
import com.aspose.threed.SceneObject;Example
A3DObject -> SceneObject
附加属性
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
scene | Scene | getScene() | setScene(Scene) | Example Scene 此对象所属的,或 null 如果尚未附加。. |
import com.aspose.threed.Scene;
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("child");
System.out.println(node.getScene() == scene); // trueCustomObject
一种轻质混凝土的子类 A3DObject 仅携带名称和任意的 PropertyCollection. 使用它向场景附加自由形式的元数据,而无需对任何实体类型进行子类化。.
import com.aspose.threed.CustomObject;Example
A3DObject -> CustomObject
Example
CustomObject()
CustomObject(String name)Example
import com.aspose.threed.CustomObject;
import com.aspose.threed.Scene;
// Attach pipeline metadata to a scene as a custom object
CustomObject meta = new CustomObject("render_settings");
meta.setProperty("max_bounces", 8);
meta.setProperty("use_denoiser", true);
Scene scene = new Scene();
scene.getRootNode().setProperty("render_meta", meta.getName());
System.out.println(meta.getProperty("max_bounces")); // 8