Base Classes — Aspose.3D FOSS for Java
Paket: com.aspose.threed (aspose-3d-foss 26.1.0)
Dessa tre klasser utgör basen för Aspose.3D-klasshierarkin. Varje offentligt objekt i biblioteket ärver från A3DObject, som tillhandahåller ett namn och en dynamisk egenskapskollektion. SceneObject ärver A3DObject med spårning av scenmedlemskap. CustomObject är en lättviktig konkret underklass för att lagra godtycklig användarmetadata.
A3DObject
Rotbas-klassen för alla Aspose.3D hanterade objekt. Varje namngivet objekt i biblioteket – Node, Mesh, AnimationClip, Material, och så vidare – ärver från A3DObject.
import com.aspose.threed.A3DObject;Example
| Class | Description |
|---|---|
A3DObject | Root base class for all Aspose.3D managed objects. Provides a name property and a Properties collection for user-defined metadata. |
SceneObject | Base class shared by Node and Entity . Provides the property collection interface used for user-defined metadata. |
CustomObject | Lightweight A3DObject subclass that carries only a name and an arbitrary PropertyCollection . Used for storing user-defined metadata on scene objects. |
Entity | Base class for all scene entities ( Mesh , Camera , Light , etc.). Attached to a Node via Node.addEntity() . |
Deformer | Base class for deformers that modify mesh geometry (e.g., skinning, morph targets). |
Example
findProperty(String propertyName)
Sök efter en namngiven egenskap i detta objekts PropertyCollection och returnera Property instans, eller null om den inte hittas.
Returnerar: Property eller 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)
Returnera det aktuella värdet för en namngiven egenskap, eller null om egenskapen inte finns.
Returnerar: Object
Object val = node.getProperty("name");
System.out.println(val); // "origin"setProperty(String property, Object value)
Sätt värdet för en namngiven egenskap. Skapar egenskapen om den inte redan finns.
Returnerar: void
node.setProperty("layer", 3);
System.out.println(node.getProperty("layer")); // 3removeProperty(String property)
Ta bort en namngiven egenskap från samlingen.
Returnerar: boolean – true om egenskapen hittades och togs bort.
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 med en referens till den ägande Scene. Node, Entity, och relaterade klasser ärver från SceneObject.
import com.aspose.threed.SceneObject;Example
A3DObject -> SceneObject
Ytterligare egenskap
import com.aspose.threed.Scene;
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("child");
System.out.println(node.getScene() == scene); // trueCustomObject
En lättviktsbetongsubklass av A3DObject som bara bär ett namn och ett godtyckligt PropertyCollection. Använd den för att bifoga fritt formulerad metadata till en scen utan att subklassa någon entitetstyp.
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