TransferClusterPropertiesAcrossGenOp

Introduced

v4.0

Description

Transfers a set of cluster properties from the specified input objects on a generator operator to a specified output object as a new cluster property.

Note: To transfer properties (ex.: materials) alone, use the TransferPropertiesAcrossGenOp command.

Scripting Syntax

oReturn = TransferClusterPropertiesAcrossGenOp( Operator, Object, ClusterPropsToTransfer, ClusterPropertyName, RebindClusterProperties );

Return Value

Returns the created ClusterProperty.

Parameters

Parameter Type Description
Operator String Specifies the generator operator on which the cluster property transfer will be performed.
Object String Specifies an output object to which the new cluster property will be added.
ClusterPropsToTransfer Selection list Specifies the cluster properties to transfer to the new cluster property.
ClusterPropertyName String Specifies the name of the new cluster property.
RebindClusterProperties Boolean True implies that the properties already transferred which may refer to the new cluster property are updated to refer to it by name.

Note: Currently not implemented.

Default Value: True

Examples

1. VBScript Example

'This example transfers cluster properties across generator 

'operators that admit transfer of cluster properties.

Dim l_MeshMergeOp

newscene ,false

'Create objects

CreatePrim "Grid", "MeshSurface", "grid"

CreatePrim "Grid", "MeshSurface", "grid1"

Translate "grid1", 8.2, 0, 0, siRelative, siView, siObj, siXYZ

'Add cluster property: weight map on both objects.

SelectObj "grid", , True

ActivateVertexSelTool

AddToSelection "grid.pnt[48-51,57-60,66-69]", , True

CreateWeightMap , , "Weight_Map"

SelectObj "grid1", , True

ActivateVertexSelTool

AddToSelection "grid1.pnt[20-25,29-34,38-43,47-52]", , True

CreateWeightMap , , "Weight_Map"

SetValue "Views.ViewA.TopCamera.camvis.objctrlpropmaps", True

' Apply merge operator. 

set l_MeshMergeOp = ApplyGenOp( "MeshMerge", , "grid,grid1", 3, siPersistentOperation, siKeepGenOpInputs )

SetValue "polymsh.polymsh.mergemesh.tolerance", 2.0

Translate , -4.0, 3.0, -0.0, siRelative, siView, siObj, siXYZ

' Transfer properties acrros merge operator.

TransferClusterPropertiesAcrossGenOp "polymsh.polymsh.mergemesh", "polymsh", _

"grid.polymsh.cls.Point.Weight_Map,grid1.polymsh.cls.Point.Weight_Map", "Weight_Map_Gen", True

' View results.  

SetDisplayMode "Camera", "texturedecal"

SetValue "Camera.camvis.objctrlpropmaps", True

ActivateObjectSelTool

SelectObj "grid"

AddToSelection "grid1", , True

AddToSelection l_MeshMergeOp(0)

2. JScript Example

//This example transfers cluster properties across generator 

//operators that admit transfer of cluster properties.

NewScene( null, false )

//Create objects

CreatePrim("Grid", "MeshSurface", "grid", null);

CreatePrim("Grid", "MeshSurface", "grid1", null);

Translate( "grid1", 8.2, 0.0, 0.0, 

	siRelative, siView, siObj, siXYZ, 

	null, null, null, null, null, null, null, null, null);

//Add cluster property: weight map on both objects.

SetSelFilter("Point");

AddToSelection("grid.pnt[20-23,29-32,38-41,47-50,56-59]", null, true);

CreateWeightMap(null, null, "Weight_Map", null, null);

SelectObj("grid1", null, true);

ActivateVertexSelTool(null);

AddToSelection("grid1.pnt[30-32,39-41,48-50]", null, true);

CreateWeightMap(null, null, "Weight_Map", null, null);

//Apply merge operator. 

ApplyGenOp("MeshMerge", "", "grid,grid1", 3, siPersistentOperation, siKeepGenOpInputs);

SetValue("polymsh.polymsh.mergemesh.tolerance", 2, null);

Translate( "polymsh", -4.0, 4.0, -5.0, 

	siRelative, siView, siObj, siXYZ, 

	null, null, null, null, null, null, null, null, null);

//Transfer cluster properties across the merge operator.

TransferClusterPropertiesAcrossGenOp(

	"polymsh.polymsh.mergemesh", 

	"polymsh", 	

	"grid.polymsh.cls.Point.Weight_Map, grid1.polymsh.cls.Point.Weight_Map",

	"Weight_Map_Gen", 

	true);

//View results.  

SelectObj("grid", null, true);

AddToSelection("grid1", null, true);

AddToSelection("polymsh", null, true);

SetValue("Camera.camvis.objctrlpropmaps", true, null);

SetDisplayMode("Camera", "shaded");

See Also

TransferPropertiesAcrossGenOp TransferAllPropertiesAcrossGenOp CopyAnimationAcrossGenerator