## 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