xsi_icenodedef.h Source File
 
 
 
xsi_icenodedef.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSIICENODEDEF_H__
00018 #define __XSIICENODEDEF_H__
00019 
00020 #include <xsi_base.h>
00021 #include <xsi_value.h>
00022 
00023 namespace XSI {
00024 
00025 //*****************************************************************************
00034 //*****************************************************************************
00035 
00036 class SICPPSDKDECL ICENodeDef : public CBase
00037 {
00038 public:
00039 
00041         ICENodeDef();
00042 
00044         ~ICENodeDef();
00045 
00049         ICENodeDef(const CRef& in_ref);
00050 
00054         ICENodeDef(const ICENodeDef& in_obj);
00055 
00060         bool IsA( siClassID in_ClassID) const;
00061 
00065         siClassID GetClassID() const;
00066 
00071         ICENodeDef& operator=(const ICENodeDef& in_obj);
00072 
00078         ICENodeDef& operator=(const CRef& in_ref);
00079 
00091         CStatus PutThreadingModel( siICENodeThreadingModel in_nModel );
00092 
00097         siICENodeThreadingModel GetThreadingModel( ) const;
00098 
00115         CStatus DefineCustomType(       const CString&  in_strCustomType,
00116                                                                 const CString&  in_strDisplayName,
00117                                                                 const CString&  in_strDescription,
00118                                                                 unsigned char   in_red,
00119                                                                 unsigned char   in_green,
00120                                                                 unsigned char   in_blue );
00121 
00134         CStatus AddPortGroup(   ULONG in_uniqueGroupId,
00135                                                         ULONG in_nMin=1,
00136                                                         ULONG in_nMax=1,
00137                                                         const CString in_strGroupName=CString() );
00138 
00156         CStatus AddInputPort(   ULONG in_uniquePortId,
00157                                                         ULONG in_uniqueGroupId,
00158                                                         ULONG in_nDataType,
00159                                                         ULONG in_nStructType,
00160                                                         ULONG in_nContextType,
00161                                                         const CString& in_strName,
00162                                                         const CString& in_strScriptName,
00163                                                         const CValue& in_defaultVal = CValue(),
00164                                                         ULONG in_typeMapId = UINT_MAX,
00165                                                         ULONG in_structMapId = UINT_MAX,
00166                                                         ULONG in_contextMapId = UINT_MAX );
00167 
00189         CStatus AddInputPort(   ULONG in_uniquePortId,
00190                                                         ULONG in_uniqueGroupId,
00191                                                         ULONG in_nDataType,
00192                                                         ULONG in_nStructType,
00193                                                         ULONG in_nContextType,
00194                                                         const CString& in_strName,
00195                                                         const CString& in_strScriptName,
00196                                                         const CValue& in_defaultVal,
00197                                                         const CValue& in_minVal,
00198                                                         const CValue& in_maxVal,
00199                                                         ULONG in_typeMapId,
00200                                                         ULONG in_structMapId,
00201                                                         ULONG in_contextMapId );
00202 
00217         CStatus AddInputPort(   ULONG                           in_uniquePortId,
00218                                                         ULONG                           in_uniqueGroupId,
00219                                                         const CStringArray& in_strCustomDataTypes,
00220                                                         ULONG                           in_nStructType,
00221                                                         ULONG                           in_nContextType,
00222                                                         const CString&          in_strName,
00223                                                         const CString&          in_strScriptName,
00224                                                         ULONG                           in_typeMapId,
00225                                                         ULONG                           in_structMapId,
00226                                                         ULONG                           in_contextMapId );
00227 
00242         CStatus AddOutputPort(  ULONG in_uniquePortId,
00243                                                         ULONG in_nDataType,
00244                                                         ULONG in_nStructType,
00245                                                         ULONG in_nContextType,
00246                                                         const CString& in_strName,
00247                                                         const CString& in_strScriptName,
00248                                                         ULONG in_typeMapId = UINT_MAX,
00249                                                         ULONG in_structMapId = UINT_MAX,
00250                                                         ULONG in_contextMapId = UINT_MAX );
00251 
00265         CStatus AddOutputPort(  ULONG                           in_uniquePortId,
00266                                                         const CStringArray&     in_strCustomDataTypes,
00267                                                         ULONG                           in_nStructType,
00268                                                         ULONG                           in_nContextType,
00269                                                         const CString&          in_strName,
00270                                                         const CString&          in_strScriptName,
00271                                                         ULONG                           in_typeMapId = UINT_MAX,
00272                                                         ULONG                           in_structMapId = UINT_MAX,
00273                                                         ULONG                           in_contextMapId = UINT_MAX );
00274 
00290         CStatus AddOutputPort(  ULONG in_uniquePortId,
00291                                                         ULONG in_uniqueGroupId,
00292                                                         ULONG in_nDataType,
00293                                                         ULONG in_nStructType,
00294                                                         ULONG in_nContextType,
00295                                                         const CString& in_strName,
00296                                                         const CString& in_strScriptName,
00297                                                         ULONG in_typeMapId = UINT_MAX,
00298                                                         ULONG in_structMapId = UINT_MAX,
00299                                                         ULONG in_contextMapId = UINT_MAX );
00300 
00310         CStatus PutColor( unsigned char in_red, unsigned char in_green, unsigned char in_blue );
00311 
00312         private:
00313         ICENodeDef * operator&() const;
00314         ICENodeDef * operator&();
00315 };
00316 
00317 };
00318 #endif // __XSIICENODEDEF_H__