v4.0
Transfers a set of properties from the specified input objects on a generator operator to a
specified output object as a new property. It can be optionally shared.
Note: To transfer cluster properties alone, use the
TransferClusterPropertiesAcrossGenOp command.
oReturn = TransferPropertiesAcrossGenOp( Operator, Object, PropertiesToTransfer, PropertyName, ShareProperty, TransferClusterProperties ); |
Returns the created Property.
Parameter | Type | Description | ||||
---|---|---|---|---|---|---|
Operator | String | Specifies the generator operator on which the property transfer will be performed. | ||||
Object | String | Specifies an output object to which the new property will be added. | ||||
PropertiesToTransfer | Selection list |
Specifies the properties to transfer to the new property. Properties are not cluster properties.
|
||||
PropertyName | String | Specifies the name of the new property. | ||||
ShareProperty | Boolean |
True implies that the property will be shared. Default Value: True |
||||
TransferClusterProperties | Boolean |
True implies that the cluster property references by name are also
transfered according to an internal heuristic that considers all
input properties equivalent.
Default Value: True |
'This example transfers properties across generator 'operators that admit transfer of properties. Dim l_NewMaterial newscene ,false 'Create objects CreatePrim "Grid", "MeshSurface", "grid" CreatePrim "Grid", "MeshSurface", "grid1" Translate "grid1", 8.2, 0, 0, siRelative, siView, siObj, siXYZ 'Add some properties to objects: Materials and texture coordinates. ApplyShader , , , , siLetLocalMaterialsOverlap SetValue "grid1.Material.Phong.diffuse.red", 0.750 SIApplyShaderToCnxPoint "Image", "grid1.Material.Phong.diffuse" SelectObj "grid", , True SetSelFilter "Polygon" AddToSelection "grid.poly[18-21,26-29,34-37,42-45,50-53]", , True ApplyShader , , , , siLetLocalMaterialsOverlap SetValue "grid.polymsh.cls.Polygon.Material.Phong.diffuse.green", 0.250 SIApplyShaderToCnxPoint "Image", "grid.polymsh.cls.Polygon.Material.Phong.diffuse" CreateProjection "grid", siTxtPlanarXZ, siTxtDefaultSpherical, "Texture_Support", "Texture_Projection" SetInstanceDataValue , "grid.polymsh.cls.Polygon.Material.Phong.Image.tspace_id", "Texture_Projection" SelectObj "grid1", , True CreateProjection "grid1", siTxtPlanarXZ, siTxtDefaultSpherical, "Texture_Support", "Texture_Projection" SetInstanceDataValue , "grid1.Material.Phong.Image.tspace_id", "Texture_Projection" ' Apply merge operator. 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 across the merge operator. set l_NewMaterial = TransferPropertiesAcrossGenOp( "polymsh.polymsh.mergemesh", "polymsh",_ "grid.polymsh.cls.Polygon.Material,grid1.Material", "Material_Gen", , True ) ' View results. SetDisplayMode "Camera", "texturedecal" SetValue "Camera.camvis.objctrlpropmaps", True ActivateObjectSelTool SelectObj "grid" AddToSelection "grid1", , True AddToSelection l_NewMaterial.Parent |
//This example transfers properties across generator //operators that admit transfer of 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 some properties to objects: Materials and texture coordinates. ApplyShader(null, "", null, "", siLetLocalMaterialsOverlap); SetValue("grid1.Material.Phong.diffuse.red", 1, null); SIApplyShaderToCnxPoint("Image", "grid1.Material.Phong.diffuse", null, null); CreateProjection("grid1", siTxtPlanarXZ, siTxtDefaultSpherical, "Texture_Support", "Texture_Projection", null, null, ""); SetInstanceDataValue(null, "grid1.Material.Phong.Image.tspace_id", "Texture_Projection"); SelectObj("grid", null, true); SetSelFilter("Polygon"); AddToSelection("grid.poly[26-29,34-37,42-45]", null, true); ApplyShader(null, "", null, "", siLetLocalMaterialsOverlap); SetValue("grid.polymsh.cls.Polygon.Material.Phong.diffuse.blue", 0.006, null); SIApplyShaderToCnxPoint("Image", "grid.polymsh.cls.Polygon.Material.Phong.diffuse", null, null); CreateProjection("grid", siTxtPlanarXZ, siTxtDefaultSpherical, "Texture_Support", "Texture_Projection1", null, null, ""); SetInstanceDataValue(null, "grid.polymsh.cls.Polygon.Material.Phong.Image.tspace_id", "Texture_Projection1"); // 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 properties across the merge operator. l_NewMaterial = TransferPropertiesAcrossGenOp( "polymsh.polymsh.mergemesh", "polymsh", "grid.polymsh.cls.Polygon.Material, grid1.Material", "Material_Gen", null, true); // Transfer properties across the merge operator. SelectObj("grid", null, true); AddToSelection("grid1", null, true); AddToSelection( l_NewMaterial , null, true); SetDisplayMode("Camera", "texturedecal"); SetValue("Camera.camvis.objctrlpropmaps", true, null); |