ProjectItem.Parent3DObject

導入

v5.0

詳細

プロジェクト項目が属するX3DObjectオブジェクトを戻します。このプロパティは、クラスタプロパティや3DObject階層の深い位置にあるその他のオブジェクトを処理するときに便利です。

注:このプロパティは、CustomOperatorUpdate関数では使用できません。

1. VBScript の例

'
' Demonstrating how the Parent3DObject property can be used
'
NewScene , false
set oRoot = Application.ActiveProject.ActiveScene.Root
set oModel = oRoot.AddModel( , "Sally" )
set oNull = oModel.AddNull
set oNull1 = oNull.AddNull
Application.LogMessage oNull1.Name & " is a child of the object " & oNull1.Parent3DObject
Application.LogMessage TypeName( oRoot.Parent3DObject )
Application.LogMessage oModel.Parent3DObject
Application.LogMessage oNull.Parent3DObject
Application.LogMessage oNull.Kinematics.Parent3DObject
' Expected Result:
'INFO : null1 is a child of the object Sally.null
'INFO : Nothing
'INFO : Scene_Root
'INFO : Sally
'INFO : Sally.null

2. JScript の例

/*
        The Parent3DObject property can be very useful when dealing with cluster properties or
        other objects that are buried deep in a hierarchy. 
*/
NewScene( null, false );
var oModel = Application.ActiveSceneRoot.AddModel();
oModel.Name = "MyModel";
var obj = oModel.AddGeometry( "Cube", "MeshSurface" );
// Add a textured image to the polygon mesh 
BlendInTextureLayers( "Image", obj, 1, true, siReplaceAndNoBlendInTextureLayers );
obj.ActivePrimitive.Geometry.AddCluster( siSampledPointCluster, "TextureCluster" );
GenerateUniqueUVs( obj, "TextureProperty" );
SetInstanceDataValue( obj, obj.Material + ".Phong.Image.tspace_id", "TextureProperty" );
// Get at the uv property
var oUVProperty = Dictionary.GetObject( obj + ".polymsh.cls.TextureCluster.TextureProperty" );
// Which 3dobject does the UVProperty belong to?
var o3DObject = oUVProperty.Parent3DObject;
Application.LogMessage( "UV Property belongs to : " + o3DObject.FullName );
// Expected Result:
//INFO : UV Property belongs to : MyModel.cube