ICENodeDef Class Reference

ICENodeDef objects are used for describing a unique custom ICENode object. Instances of this object are used to register custom ICENode objects with PluginRegistrar::RegisterICENode. More...

#include <xsi_icenodedef.h>

Inheritance diagram for ICENodeDef:

CBase List of all members.

Public Member Functions

  ICENodeDef ()
  ~ICENodeDef ()
  ICENodeDef (const CRef &in_ref)
  ICENodeDef (const ICENodeDef &in_obj)
bool  IsA (siClassID in_ClassID) const
siClassID  GetClassID () const
ICENodeDef operator= (const ICENodeDef &in_obj)
ICENodeDef operator= (const CRef &in_ref)
CStatus  PutThreadingModel (siICENodeThreadingModel in_nModel)
siICENodeThreadingModel  GetThreadingModel () const
CStatus  AddPortGroup (ULONG in_uniqueGroupId, ULONG in_nMin=1, ULONG in_nMax=1, const CString in_strPrompt=CString())
CStatus  AddInputPort (ULONG in_uniquePortId, ULONG in_uniqueGroupId, ULONG in_nDataType, ULONG in_nStructType, ULONG in_nContextType, const CString &in_strName, const CString &in_strScriptName, const CValue &in_defaultVal=CValue(), ULONG in_typeMapId=ULONG_MAX, ULONG in_structMapId=ULONG_MAX, ULONG in_contextMapId=ULONG_MAX)
CStatus  AddOutputPort (ULONG in_uniquePortId, ULONG in_uniqueGroupId, ULONG in_nDataType, ULONG in_nStructType, ULONG in_nContextType, const CString &in_strName, const CString &in_strScriptName, ULONG in_typeMapId=ULONG_MAX, ULONG in_structMapId=ULONG_MAX, ULONG in_contextMapId=ULONG_MAX)

Detailed Description

ICENodeDef objects are used for describing a unique custom ICENode object. Instances of this object are used to register custom ICENode objects with PluginRegistrar::RegisterICENode.

See also:
ICENode, PluginRegistrar::RegisterICENode, ICENode Callbacks
Since:
7.0


Constructor & Destructor Documentation

ICENodeDef (  ) 

Default constructor.

~ICENodeDef (  ) 

Default destructor.

ICENodeDef ( const CRef in_ref  ) 

Constructor.

Parameters:
in_ref  constant reference object.

ICENodeDef ( const ICENodeDef in_obj  ) 

Copy constructor.

Parameters:
in_obj  constant class object.


Member Function Documentation

bool IsA ( siClassID  in_ClassID  )  const [virtual]

Returns true if a given class type is compatible with this API class.

Parameters:
in_ClassID  class type.
Returns:
true if the class is compatible, false otherwise.

Reimplemented from CBase.

siClassID GetClassID (  )  const [virtual]

Returns the type of the API class.

Returns:
The class type.

Implements CBase.

ICENodeDef& operator= ( const ICENodeDef in_obj  ) 

Creates an object from another object.

Parameters:
in_obj  constant class object.
Returns:
The new ICENodeDef object.

ICENodeDef& operator= ( const CRef in_ref  ) 

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:
in_ref  constant class object.
Returns:
The new ICENodeDef object.

CStatus PutThreadingModel ( siICENodeThreadingModel  in_nModel  ) 

Sets this ICENode threading model as single or multi threading. By default ICENode objects are evaluated in a multi-threading process where the evaluation is performed in several passes. Single thread processing on the other hand performs an evaluation in one single pass which allows the node to get all the input data in one single chunk.

Parameters:
in_nModel  Threading model value.
Returns:
CStatus::OK Success.

CStatus::Fail Operation failed.

See also:
ICENodeDef::GetThreadingModel

siICENodeThreadingModel GetThreadingModel (  )  const

Returns the threading model for this ICENode.

Returns:
ICENode threading model.
See also:
ICENodeDef::PutThreadingModel

CStatus AddPortGroup ( ULONG  in_uniqueGroupId,
ULONG  in_nMin = 1,
ULONG  in_nMax = 1,
const CString  in_strPrompt = CString()  
)

Adds a port group to this ICENode definition. Port groups must be defined with a unique identifier.

Parameters:
in_uniqueGroupId  The port group unique identifier.
in_nMin  Minimum number of objects required for a connection. Cannot be used for output port groups.
in_nMax  Maximum number of objects allowed to be connected. Cannot be used for output port groups.
in_strPrompt  Prompt to display during picking session.
Returns:
The returned status code (CStatus::OK for success).

CStatus AddInputPort ( ULONG  in_uniquePortId,
ULONG  in_uniqueGroupId,
ULONG  in_nDataType,
ULONG  in_nStructType,
ULONG  in_nContextType,
const CString in_strName,
const CString in_strScriptName,
const CValue in_defaultVal = CValue(),
ULONG  in_typeMapId = ULONG_MAX,
ULONG  in_structMapId = ULONG_MAX,
ULONG  in_contextMapId = ULONG_MAX  
)

Adds an input port to this ICENode definition. Ports must be defined with a unique identifier.

Parameters:
in_uniquePortId  The port unique identifier.
in_uniqueGroupId  The port group unique identifier.
in_nDataType  The port data type (see siICENodeDataType).
in_nStructType  The structure type of the port data (see siICENodeStructureType).
in_nContextType  The context type of the port data (see siICENodeContextType).
in_strName  The port name.
in_strScriptName  The port scripting name.
in_defaultVal  The port default value.
in_typeMapId  The type map id for this port.
in_structMapId  The struct map id for this port.
in_contextMapId  The context map id for this port.
Returns:
The returned status code (CStatus::OK for success).

CStatus AddOutputPort ( ULONG  in_uniquePortId,
ULONG  in_uniqueGroupId,
ULONG  in_nDataType,
ULONG  in_nStructType,
ULONG  in_nContextType,
const CString in_strName,
const CString in_strScriptName,
ULONG  in_typeMapId = ULONG_MAX,
ULONG  in_structMapId = ULONG_MAX,
ULONG  in_contextMapId = ULONG_MAX  
)

Adds an output port to this ICENode definition. Ports must be defined with a unique identifier.

Parameters:
in_uniquePortId  The port unique identifier.
in_uniqueGroupId  The port group unique identifier.
in_nDataType  The port data type (see siICENodeDataType).
in_nStructType  The structure type of the port data (see siICENodeStructureType).
in_nContextType  The context type of the port data (see siICENodeContextType).
in_strName  The port name.
in_strScriptName  The port scripting name.
in_typeMapId  The type map id for this port.
in_structMapId  The struct map id for this port.
in_contextMapId  The context map id for this port.
Returns:
The returned status code (CStatus::OK for success).


The documentation for this class was generated from the following file: