Property — Aspose.3D FOSS for Java

Example

Property представляет собой отдельное именованное, типизированное поле метаданных, прикреплённое к любому A3DObject (включая Node, Mesh, AnimationClip, и т.д.). Свойства доступны через PropertyCollection возвращаемый obj.getProperties(). Вы можете читать, записывать и перечислять свойства, чтобы хранить пользовательские данные рядом с элементами сцены.

Example: com.aspose.threed

import com.aspose.threed.Property;

Example

Property объекты обычно не создаются напрямую кодом приложения. Они создаются вызовом A3DObject.getProperty() или находятся через A3DObject.findProperty().

ExampleExampleExample
nameStringИмя свойства
valueObjectНачальное значение (необязательно)

Example

ExampleExampleExampleExampleExample
nameStringgetName()Только для чтения имя свойства
valueObjectgetValue()setValue(Object)Текущее значение; доступно для чтения и записи
valueTypeClass<?>getValueType()Java Class текущего значения

Example

ExampleТип возвращаемого значенияExample
getExtra(String name)ObjectПолучает именованное дополнительное поле метаданных, хранящееся в этом свойстве
setExtra(String name, Object value)voidУстанавливает именованное дополнительное поле метаданных
getBindPoint(AnimationNode anim, boolean create)BindPointВозвращает точку привязки анимации для этого свойства в заданном AnimationNode; пропустить true создать, если отсутствует
getKeyframeSequence(AnimationNode anim, boolean create)KeyframeSequenceВозвращает последовательность ключевых кадров для этого свойства в заданном AnimationNode

Example

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.Property;
import com.aspose.threed.PropertyCollection;

Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("tagged_node");

// Access the property collection
PropertyCollection props = node.getProperties();

// Get a property by name (read raw value)
Object val = node.getProperty("name");
System.out.println(val);   // "tagged_node"

// Find a property object
Property prop = node.findProperty("name");
if (prop != null) {
    System.out.println(prop.getName());         // "name"
    System.out.println(prop.getValue());        // "tagged_node"
    System.out.println(prop.getValueType());    // class java.lang.String
}

// Enumerate all properties
for (Property p : props) {
    System.out.println("  " + p.getName() + " = " + p.getValue());
}

// Store a custom value on a property (extra metadata)
if (prop != null) {
    prop.setExtra("ui_label", "Scene Origin Node");
    Object label = prop.getExtra("ui_label");
    System.out.println(label);   // "Scene Origin Node"
}

См. также

 Русский