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__