Source.AddProperty

導入

v4.0

詳細

UserDataBlobまたはCustomPropertyを作成し、Source オブジェクトに追加します。

スクリプト 構文

oReturn = Source.AddProperty( Preset, [BranchFlag], [Name] );

戻り値

CustomPropertyUserDataBlobUserDataMapまたは(使用されたプリセットによる)

パラメータ

パラメータ タイプ 詳細
プリセット String この引数には、Property Preset の名前またはファイル名やプリセット ファイルへの完全パスを含む文字列が格納されます。

注: CustomProperty PresetsUserDataBlob Presets、および UserDataMap Presets だけがソースに対して有効です。

作成されるプロパティのタイプはこの引数により決定されます。たとえば、"CustomProperty" は空のCustomPropertyを作成し、"UserDataBlob" はUserDataBlobを作成します。
BranchFlag Boolean False は、唯一のサポートされる値です。

デフォルト値: false

Name String 新しいプロパティの名前を表します(SIObject.Nameを参照)。指定しない場合には、オブジェクトは Preset引数に基づいて名前が付けられます。

JScript の例

/*
        This example shows how to add user data to a shape source
*/
// First build a simple scene 
NewScene( null, false );
var oCone = ActiveSceneRoot.AddGeometry( "Cone", "MeshSurface" );
// Set up the time in seconds
var oPlayCtrl = GetValue("PlayControl");
var dFrameRate = oPlayCtrl.Parameters("Rate").Value;
var dTime = 1.0 * dFrameRate;                                   // start at the beginning
// Using SaveShapeKey stores the source and applies the clip simultaneously
var aIndices = new Array( 1,4,7,10,13,16,19,22,25 );
var aPositions = new Array( /*    X,        Y,        Z         */
                                0,        1.6667,  0,           // point 1
                                -0.5,     -0.5,    0,           // point 4
                                -0.3536,  -0.5,    -0.3536,     // point 7
                                0,        -0.5,    0.5,         // point 10
                                0.3536,   -0.5,    0.3536,      // point 13
                                0.5,      -0.5,    0,           // point 16
                                0.3536,   -0.5,    -0.3536,     // point 19
                                0,        -0.5,    -0.5,        // point 22
                                -0.3536,  -0.5,    -0.3536      // point 25
                        );
var oShapeClip = oCone.ActivePrimitive.Geometry.SaveShapeKey( 
                        dTime,                                  // Time (when to evaluate)
                        -1,                                     // ClipDuration
                        siShapeObjectReferenceMode,             // RefMode (shape ref. mode)
                        siShapeMixedWeightMode,                 // InstMode (shape inst. mode)
                        "MyNewShape",                           // Name for shape
                        aIndices,                               // IndexArray (point indices)
                        aPositions                              // PositionArray (key positions)
                );
// Add a CustomProperty nested under the Source of the 1st clip
var oShapeSource = oShapeClip.Source;
var oShapePSet = oShapeSource.AddProperty( "CustomProperty",false, "ShapePSet" );
oShapePSet.AddParameter3( "Foo", siString ) ;
// Add a UserDataBlob nested under the ShapeSource
var oShapeUserDataBlob = oShapeSource.AddProperty( "UserDataBlob" );
LogMessage( "There are " + oShapeSource.Properties.Count + " Properties under this Shape Source" ) ;
// Expected result:
//INFO : There are 2 Properties under this Shape Source

関連項目

SceneItem.AddProperty Source.Properties