Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_SWITCH_H 00002 #define XDKWRL_SWITCH_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mfnode.h> 00006 #include <xdkwrl/fieldtypes/sfint32.h> 00007 00008 namespace wrl 00009 { 00010 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00011 // Interface of Switch 00012 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00013 class Switch : public Node 00014 { 00015 public: 00016 Switch(const char* name=""); 00017 virtual ~Switch(); 00018 virtual inline unsigned int nbFields() const; 00019 virtual FieldHandle field(const std::string& n); 00020 virtual FieldHandle field(unsigned int i); 00021 virtual bool isSetToDefaultValue(unsigned int i) const; 00022 virtual inline unsigned int nbEventsIn() const; 00023 virtual EventInHandle eventIn(const std::string& n); 00024 virtual EventInHandle eventIn(unsigned int i); 00025 virtual inline unsigned int nbEventsOut() const; 00026 virtual EventOutHandle eventOut(const std::string& n); 00027 virtual EventOutHandle eventOut(unsigned int i); 00028 inline const char* typeName() const; 00029 virtual Node* duplicate() const; 00030 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00031 /*!@name Exposed Fields 00032 * A field that is capable of receiving events via an eventIn to 00033 * change its value(s), and generating events via an eventOut 00034 * when its value(s) change. 00035 */ 00036 //!@{ 00037 /*! 00038 * See <a href="#_details" class="md">Detailed Description</a> 00039 * for meaning of this field. 00040 * Default value is set to MFNode default value 00041 */ 00042 MFNode choice; 00043 /*! 00044 * See <a href="#_details" class="md">Detailed Description</a> 00045 * for meaning of this field. 00046 * Default value is set to 00047 \code 00048 whichChoice = -1; 00049 \endcode 00050 */ 00051 SFInt32 whichChoice; 00052 //!@} 00053 /*!@name Fields 00054 * A property or attribute of a node. Each node type has a fixed set 00055 * of fields. Fields may contain various kinds of data and one or many 00056 * values. Each field has a default value. 00057 */ 00058 //!@{ 00059 //!@} 00060 /*!@name Events In 00061 * 00062 */ 00063 //!@{ 00064 /*! 00065 * Set event associated to exposedField choice 00066 */ 00067 EventIn<MFNode> set_choice; 00068 /*! 00069 * Set event associated to exposedField whichChoice 00070 */ 00071 EventIn<SFInt32> set_whichChoice; 00072 //!@} 00073 /*!@name Events Out 00074 * 00075 */ 00076 //!@{ 00077 /*! 00078 * Changed event associated to exposedField choice 00079 */ 00080 EventOut<MFNode> choice_changed; 00081 /*! 00082 * Changed event associated to exposedField whichChoice 00083 */ 00084 EventOut<SFInt32> whichChoice_changed; 00085 //!@} 00086 }; 00087 }; 00088 //************************************************************ 00089 // Implementation of Switch 00090 //************************************************************ 00091 /*! 00092 * Returns <code>"Switch"</code>. Useful for printing. 00093 */ 00094 inline const char* 00095 wrl::Switch::typeName() const 00096 { 00097 return "Switch"; 00098 } 00099 /*! 00100 * Returns the number of fields (exposed or not) for this node type. 00101 */ 00102 inline unsigned int 00103 wrl::Switch::nbFields() const 00104 { 00105 return 2; 00106 } 00107 /*! 00108 * Returns the number of events in for this node type. 00109 */ 00110 inline unsigned int 00111 wrl::Switch::nbEventsIn() const 00112 { 00113 return 0; 00114 } 00115 /*! 00116 * Returns the number of events out for this node type. 00117 */ 00118 inline unsigned int 00119 wrl::Switch::nbEventsOut() const 00120 { 00121 return 0; 00122 } 00123 #endif // XDKWRL_SWITCH_H 00124 00125 // Local variables section. 00126 // This is only used by emacs! 00127 // Local Variables: 00128 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00129 // End:
Generated on 28 Jun 2006 with
![]() |
|