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#).
CreateEmptyPartition( [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
CreateEmptyPartition 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"
|
RenderPasses CreateLayer CreatePartition CreatePass GetCurrentPass SetCurrentPass DeleteCurrentPass SICreateLayer SICreateEmptyPartition AddToPartition