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 __XSIOPERATOR_H__
00018 #define __XSIOPERATOR_H__
00019
00020 #include <xsi_projectitem.h>
00021
00022 namespace XSI {
00023
00024 class Port;
00025
00026
00169
00170
00171 class SICPPSDKDECL Operator : public ProjectItem
00172 {
00173 public:
00175 Operator();
00176
00178 ~Operator();
00179
00183 Operator(const CRef& in_ref);
00184
00188 Operator(const Operator& in_obj);
00189
00194 bool IsA( siClassID in_ClassID) const;
00195
00199 siClassID GetClassID() const;
00200
00206 Operator& operator=(const Operator& in_obj);
00207
00213 Operator& operator=(const CRef& in_ref);
00214
00222 Port GetPort
00223 (
00224 const CString& in_portname,
00225 const CString& in_groupname,
00226 LONG in_instance = 0
00227 ) const;
00228
00239 Port GetPortAt
00240 (
00241 LONG in_port,
00242 LONG in_group = 0,
00243 LONG in_instance = 0
00244 ) const;
00245
00249 CRefArray GetInputPorts() const;
00250
00255 CRefArray GetOutputPorts() const;
00256
00261 LONG GetNumPortGroups() const;
00262
00268 LONG GetNumPortsInGroup(LONG in_index) const;
00269
00275 LONG GetNumInstancesInGroup(LONG in_index) const;
00276
00281 bool GetMute(void) const;
00282
00290 CStatus PutMute(bool in_mute);
00291
00300 CStatus Disconnect(bool in_force);
00301
00311 CStatus Connect(siConstructionMode in_mode = siConstructionModeDefault);
00312
00322 CStatus Connect(const CRef& in_obj,siConstructionMode in_mode = siConstructionModeDefault);
00323
00333 CStatus Connect(const CRefArray& in_objs, siConstructionMode in_mode = siConstructionModeDefault);
00334
00345 CStatus Connect(const CString& in_objs,siConstructionMode in_mode = siConstructionModeDefault);
00346
00351 CRefArray GetPortGroups() const;
00352
00357 bool IsConnected() const;
00358
00365 bool SupportsBranchGroup(LONG group = -1, LONG port = -1 ) const;
00366
00378 CStatus ConnectToGroup( LONG in_Group, CRef & in_obj, LONG & out_Instance );
00379
00387 CStatus DisconnectGroup( LONG in_Group, LONG in_Instance, bool in_Force = false );
00388
00397 CValue GetInputValue( LONG in_port,
00398 LONG in_group = 0,
00399 LONG in_instance = 0 ) const;
00400
00409 CValue GetInputValue( const CString& in_port,
00410 const CString& in_group = CString(),
00411 LONG in_instance = 0 ) const;
00412
00413 private:
00414 Operator * operator&() const;
00415 Operator * operator&();
00416
00417 };
00418
00419 };
00420
00421 #endif // __XSIOPERATOR_H__