PortSet

A PortSet contains none, one or more than one Group sections. A Group contains zero, one, or more port definitions. If the body of a port definition is empty, you can omit the braces ({}) and terminate the line with a semicolon (;). The PortSet section does not apply to shaders.

The purpose of a portset is to categorise the type of entities to which an operator port can be connected. Basically, it goes from more generic to more specialized Major->Minor->Interface->Component.

PortSet portset_name
{
   Group portgroup_name
   {
       Origin = Select | Pick | Create;
       PickMessage = string
       Input | Output portname
       {
          Major = guid;
          Minor = guid;
          Component | Interface = guid;
          Attributes = integer_expression;
       }
   }
}

 

In a scripted operator, if you selected a property or a primitive from the Explorer window, the Interface description appears in the SPDL file; if you selected a parameter, the Component description appears.

Major

Specifies the type of entity to which you want to connect.

GUID

Description

{E80A1590-CA13-11CF-91B9-00AA00624C2D}

A primitive (all primitives or cluster)

{9E04FCEE-10F3-11d0-943A-00AA006D3165}

A property (all properties,materials, and cluster properties)

Minor

Specifies a specialisation of the Major type (non existent if its a cluster))

If you inspect the object you're connecting too(local kine state, primitive), right-click the tab header bar and choose Edit. The Minor GUID is the GUID at the top of the spdl file.

Interface

There's a handful of different specialisation here, basically when this is specified it means your connecting to the full object rather than a specific parameter.

GUID

Description

{00000000-0000-0000-C000-000000000046}

Properties

{CDEA6775-415B-11d0-AA40-00A0243E34C4}

Primitive

{A244F0D0-1E1D-11D0-AA2E-00A0243E34C4}

Cluster

Component

This is used when connecting to a parameter. This value corresponds to the parameter-specific GUID that you'll find in the spdl of the target entity.