xsi_customoperator.h Source File
 
 
 
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__