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