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#).
SICreateEmptyPartition( [Target], [Name], [Type], [Value] ); |
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. |
' ' 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" |