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__