A3DObject, SceneObject, CustomObject — Aspose.3D Python API Reference
Pakiet: aspose.threed (aspose-3d-foss 26.1.0)
Te trzy klasy tworzą podstawę hierarchii klas Aspose.3D. Każdy publiczny obiekt w bibliotece dziedziczy po A3DObject, które zapewnia nazwę i dynamiczną kolekcję właściwości. SceneObject rozszerza A3DObject z śledzeniem przynależności do sceny. CustomObject jest lekką, konkretną podklasą służącą do przechowywania dowolnych metadanych użytkownika.
A3DObject
Podstawowa klasa bazowa dla wszystkich zarządzanych obiektów Aspose.3D. Każdy nazwany obiekt w bibliotece — Node, Mesh, AnimationClip, Material, i tak dalej — dziedziczy po A3DObject.
from aspose.threed import A3DObjectEnumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | str | odczyt/zapis | Czytelna dla człowieka nazwa obiektu. Domyślnie jest pustym ciągiem. |
properties | PropertyCollection | odczyt | Dynamiczna kolekcja właściwości dołączona do tego obiektu. Iteruj ją lub użyj find_property() do wyszukiwań nazwanych. |
Enumerations
find_property(property_name)
Wyszukaj nazwane właściwości w obiekcie PropertyCollection i zwróć Property instancję, lub None jeśli nie zostanie znaleziona.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
property_name | str | Nazwa do wyszukania. |
Zwraca: Property | None
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("origin")
prop = node.find_property("name")
if prop is not None:
print(prop.value) # "origin"get_property(property)
Zwróć bieżącą wartość nazwanej właściwości, lub None jeśli właściwość nie istnieje.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
property | str | Nazwa właściwości. |
Zwraca: Any
val = node.get_property("name")
print(val) # "origin"set_property(property, value)
Ustawia wartość nazwanej właściwości. Tworzy właściwość, jeśli jeszcze nie istnieje.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
property | str | Nazwa właściwości. |
value | Any | Nowa wartość. |
Zwraca: None
node.set_property("layer", 3)
print(node.get_property("layer")) # 3remove_property(property)
Usuwa nazwanej właściwość z kolekcji.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
property | `str | Property` |
Zwraca: bool — True jeśli właściwość została znaleziona i usunięta.
Enumerations
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("my_node")
# Set and retrieve a custom property
node.set_property("export_lod", 2)
print(node.get_property("export_lod")) # 2
# Enumerate all properties
for prop in node.properties:
print(f" {prop.name} = {prop.value!r}")
# Find and inspect a specific property
p = node.find_property("name")
if p:
print(p.value_type) # <class 'str'>SceneObject
Enumerations A3DObject z odniesieniem do właściciela Scene. Node, Entity, a powiązane klasy dziedziczą po SceneObject.
from aspose.threed import SceneObjectEnumerations
A3DObject → SceneObject
Dodatkowe właściwości
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
scene | `Scene | None` | odczyt/zapis |
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("child")
print(node.scene is scene) # True (Node inherits SceneObject)CustomObject
Lekka konkretna podklasa A3DObject która zawiera tylko nazwę i dowolny PropertyCollection. Użyj jej, aby dołączyć metadane w formie dowolnej do sceny bez tworzenia podklasy żadnego typu encji.
from aspose.threed import CustomObjectEnumerations
A3DObject → CustomObject
Enumerations
CustomObject(name: str = None)Enumerations
from aspose.threed import CustomObject, Scene
# Attach pipeline metadata to a node as a custom object
meta = CustomObject("render_settings")
meta.set_property("max_bounces", 8)
meta.set_property("use_denoiser", True)
scene = Scene()
# Store as a user property on the root node
scene.root_node.set_property("render_meta", meta.name)
print(meta.get_property("max_bounces")) # 8