00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_NodeBundle_h__
00017 #define __HOM_NodeBundle_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_EnumModules.h"
00022 #include "HOM_Errors.h"
00023 #include "HOM_Module.h"
00024 #include <boost/any.hpp>
00025 #include <string>
00026 #include <vector>
00027
00028 class HOM_Node;
00029
00030 SWIGOUT(%rename(Bundle) HOM_NodeBundle;)
00031
00032 class HOM_API HOM_NodeBundle
00033 {
00034 public:
00035 HOM_NodeBundle()
00036 { HOM_CONSTRUCT_OBJECT(this) }
00037 HOM_NodeBundle(const HOM_Node &)
00038 { HOM_CONSTRUCT_OBJECT(this) }
00039 virtual ~HOM_NodeBundle()
00040 { HOM_DESTRUCT_OBJECT(this) }
00041
00042
00043
00044 virtual bool operator==(HOM_NodeBundle *bundle)
00045 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00046 virtual bool operator!=(HOM_NodeBundle *bundle)
00047 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00048
00049 virtual int __hash__() throw(HOM_Error) = 0;
00050 virtual std::string __repr__() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00051
00052 virtual void destroy() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00053
00054 virtual std::string name() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00055 virtual void setName(const char* name)
00056 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00057 HOM_Error) = 0;
00058
00059 virtual HOM_EnumValue &filter()
00060 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00061 virtual void setFilter(HOM_EnumValue &filter)
00062 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00063
00064 SWIGOUT(%ignore boostAnyPattern;)
00065 virtual boost::any boostAnyPattern()
00066 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00067
00068 #ifdef SWIG
00069 %extend
00070 {
00071 SWIGPYTHONOUT(%feature("autodoc",
00072 "pattern(self) -> string or None") pattern;)
00073 InterpreterObject pattern()
00074 throw(HOM_ObjectWasDeleted, HOM_Error)
00075 {
00076 return HOMboostAnyToInterpreterObject(self->boostAnyPattern());
00077 }
00078 }
00079 #endif
00080
00081 virtual void setPattern(const char *pattern_or_none)
00082 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00083
00084 SWIGPYTHONOUT(%feature("autodoc",
00085 "nodes(self) -> tuple of Nodes") nodes;)
00086 virtual std::vector<HOM_ElemPtr<HOM_Node> > nodes()
00087 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00088
00089 virtual bool containsNode(HOM_Node &node)
00090 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00091 virtual void addNode(HOM_Node &node)
00092 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00093 virtual void removeNode(HOM_Node &base_node)
00094 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00095 virtual void clear()
00096 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00097
00098 virtual bool isSelected()
00099 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00100
00101 SWIGOUT(%kwargs setSelected;)
00102 virtual void setSelected(bool on, bool clear_all_selected=false)
00103 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00104 };
00105
00106 #endif