xsi_customoperator.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 __XSICUSTOMOPERATOR_H__
    00018 #define __XSICUSTOMOPERATOR_H__
    00019
    00020 #include <xsi_operator.h>
    00021
    00022 namespace XSI {
    00023
    00024 class ParamDef;
    00025 class PortGroup;
    00026
    00027 //*****************************************************************************
    00034 //*****************************************************************************
    00035
    00036 class SICPPSDKDECL CustomOperator : public Operator
    00037 {
    00038 public:
    00040     CustomOperator();
    00041
    00043     ~CustomOperator();
    00044
    00048     CustomOperator(const CRef& in_ref);
    00049
    00053     CustomOperator(const CustomOperator& in_obj);
    00054
    00059     bool IsA( siClassID in_ClassID) const;
    00060
    00064     siClassID GetClassID() const;
    00065
    00071     CustomOperator& operator=(const CustomOperator& in_obj);
    00072
    00078     CustomOperator& operator=(const CRef& in_ref);
    00079
    00083     CString GetFileName(void) const;
    00084
    00089     CStatus PutFileName(const CString& in_str);
    00090
    00094     CString GetLanguage(void) const;
    00095
    00101     CString GetCode(void) const;
    00102
    00109     CStatus PutCode(const CString& code);
    00110
    00114     LONG GetDebug(void) const;
    00115
    00122     CStatus PutDebug(LONG debug);
    00123
    00127     bool GetAlwaysEvaluate(void) const;
    00128
    00134     CStatus PutAlwaysEvaluate(bool val);
    00135
    00143     CStatus AddParameter(
    00144         const CRef& in_paramdef,
    00145         Parameter&  io_parameter );
    00146
    00152     CStatus RemoveParameter( const Parameter& in_param );
    00153
    00163     CRef AddInputPort( const CRef& obj, const CString& name=CString(), LONG group=-1, LONG insertat=-1, LONG flags=0, CStatus* pst = 0 );
    00164
    00174     CRef AddOutputPort( const CRef& obj, const CString& name=CString(), LONG group=-1, LONG insertat=-1, LONG flags=0, CStatus* pst = 0 );
    00175
    00185     CRefArray AddIOPort( const CRef& obj, const CString& name=CString(), LONG group=-1, LONG insertat=-1, LONG flags=0, CStatus* pst = 0 );
    00186
    00199     CRef AddPortGroup( const CString& name, LONG groupmin=1, LONG groupmax=1, const CString& filterid=CString(), const CString& pickprompt=CString(), LONG flags=0, CStatus* pst = 0 );
    00200
    00206     CStatus Validate();
    00207
    00228     CRef AddInputPortByClassID( siClassID in_TargetClassID,
    00229                                 const CString& in_strPortName=CString(),
    00230                                 LONG in_PortGroup=-1,
    00231                                 LONG in_InsertAt=0,
    00232                                 LONG in_flags=0 );
    00233
    00251     CRef AddOutputPortByClassID(siClassID in_TargetClassID,
    00252                                 const CString& in_strPortName=CString(),
    00253                                 LONG in_PortGroup=-1,
    00254                                 LONG in_InsertAt=0,
    00255                                 LONG in_flags=0 );
    00256
    00271     CRefArray AddIOPortByClassID(siClassID in_TargetClassID,
    00272                                 const CString& in_strPortName=CString(),
    00273                                 LONG in_PortGroup=-1,
    00274                                 LONG in_InsertAt=0,
    00275                                 LONG in_flags=0 );
    00276
    00277
    00278     private:
    00279     CustomOperator * operator&() const;
    00280     CustomOperator * operator&();
    00281
    00282 };
    00283
    00284 };
    00285
    00286 #endif // __XSICUSTOMOPERATOR_H__