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__