SICreateEmptyPartition
 
 
 

SICreateEmptyPartition

Description

Creates a new empty partition of the specified type (either object or light) and inspects it. This is the scripting equivalent of deselecting everything in the scene and then selecting Pass - Partition > New from the Render menu.

Note: After creating an empty partition, you can add items to it, but CreatePartition and SICreatePartition command already performs both tasks simultaneously.

A partition is a division of a pass and behaves like a group. Partitions are used to organize scene elements within a pass. There are only two types of partitions, object and light. A render pass creates a picture layer of a scene that can be composited with any other passes to create a complete image.

Note: This command uses output arguments. C# and some scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference so you need to use the best workaround for your situation:

For scripting languages this command returns an ISIVTCollection which you can use to get the output arguments.

For C# you can use the XSIApplication.ExecuteCommand method to call this command. ExecuteCommand packs the output arguments into a C# System.Object containing an Array of the output arguments (see Calling Commands from C#).

Scripting Syntax

SICreateEmptyPartition( [Target], [Name], [Type], [Value] );

Parameters

Parameter Type Description
Target String Pass to add the partition to.

Default Value: Selected pass, or current pass

Name String Name of the new partition.

Default Value: "Partition"

Type siPartitionType Type of the partition to create.

Default Value: siObjectPartition

Value XSICollection containing a Group object Returns the new partition.

Examples

VBScript Example

'
'       This example demonstrates how to create an empty partition
'       and then add an object to it. It also shows how you can 
'       access partition information from a particular pass.
'
' Create a new scene 
NewScene , false
' Create a cone to add to one of the partitions
Set oCone = GetPrim( "Cone", "MeshSurface" )
' Create a standard (default) pass 
CreatePass , "PassMeBy", oPass
' Print partition info for default pass
getPartInfo oPass
' Now add an empty light partition to the pass and add the light to it
SICreateEmptyPartition oPass, "Sweet_Sorrow", siLightPartition, oLightPart
AddToPartition oLightPart(0), "Light"
' Print new partition info 
getPartInfo oPass
function getPartInfo( in_pass )
        Application.LogMessage "Partitions for " & in_pass & ":"
        Application.LogMessage "--------------------------------"
        ' Create an XSICollection with the partition info
        set oParts = CreateObject( "XSI.Collection" )
        oParts.SetAsText in_pass & ".Partitions.*" 
        For Each p In oParts
                Application.LogMessage p
        Next
end function
' Output of the above script:
'INFO : "Partitions for Passes.PassMeBy:"
'INFO : "--------------------------------"
'INFO : "Passes.PassMeBy.Background_Objects_Partition"
'INFO : "Passes.PassMeBy.Background_Lights_Partition"
'
'INFO : "Partitions for Passes.PassMeBy:"
'INFO : "--------------------------------"
'INFO : "Passes.PassMeBy.Background_Objects_Partition"
'INFO : "Passes.PassMeBy.Background_Lights_Partition"
'INFO : "Passes.PassMeBy.Sweet_Sorrow"

See Also

RenderPasses CreateLayer CreatePartition CreatePass GetCurrentPass SetCurrentPass DeleteCurrentPass SICreateLayer CreateEmptyPartition AddToPartition