XdkWrl: planesensor.h Source File

Home | Hierarchy | Members | Alphabetical | Related Pages

# planesensor.h

Go to the documentation of this file.

    00001 #ifndef XDKWRL_PLANESENSOR_H
    00002 #define XDKWRL_PLANESENSOR_H
    00003
    00004 #include <xdkwrl/node.h>
    00005 #include <xdkwrl/fieldtypes/sfbool.h>
    00006 #include <xdkwrl/fieldtypes/sfvec2f.h>
    00007 #include <xdkwrl/fieldtypes/sfvec3f.h>
    00008
    00009 namespace wrl
    00010 {
    00011   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00012   // Interface of PlaneSensor
    00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00014   class PlaneSensor : public Node
    00015   {
    00016    public:
    00017      PlaneSensor(const char* name="");
    00018      virtual ~PlaneSensor();
    00019      virtual inline unsigned int nbFields() const;
    00020      virtual FieldHandle field(const std::string& n);
    00021      virtual FieldHandle field(unsigned int i);
    00022      virtual bool isSetToDefaultValue(unsigned int i) const;
    00023      virtual inline unsigned int nbEventsIn() const;
    00024      virtual EventInHandle eventIn(const std::string& n);
    00025      virtual EventInHandle eventIn(unsigned int i);
    00026      virtual inline unsigned int nbEventsOut() const;
    00027      virtual EventOutHandle eventOut(const std::string& n);
    00028      virtual EventOutHandle eventOut(unsigned int i);
    00029      inline const char* typeName() const;
    00030      virtual Node* duplicate() const;
    00031      virtual Node* duplicate(std::map<const Node*,Node*>&) const;
    00032      /*!@name Exposed Fields
    00033       * A field that is capable of receiving events via an eventIn to
    00034       * change its value(s), and generating events via an eventOut
    00035       * when its value(s) change.
    00036       */
    00037       //!@{
    00038       /*!
    00039        * See <a href="#_details" class="md">Detailed Description</a>
    00040        * for meaning of this field.
    00041        * Default value is set to
    00042        \code
    00043        autoOffset = true;
    00044        \endcode
    00045        */
    00046        SFBool     autoOffset;
    00047       /*!
    00048        * See <a href="#_details" class="md">Detailed Description</a>
    00049        * for meaning of this field.
    00050        * Default value is set to
    00051        \code
    00052        enabled = true;
    00053        \endcode
    00054        */
    00055        SFBool     enabled;
    00056       /*!
    00057        * See <a href="#_details" class="md">Detailed Description</a>
    00058        * for meaning of this field.
    00059        * Default value is set to
    00060        \code
    00061        maxPosition.setXY(-1,-1);
    00062        \endcode
    00063        */
    00064        SFVec2f    maxPosition;
    00065       /*!
    00066        * See <a href="#_details" class="md">Detailed Description</a>
    00067        * for meaning of this field.
    00068        * Default value is set to
    00069        \code
    00070        minPosition.setXY(0,0);
    00071        \endcode
    00072        */
    00073        SFVec2f    minPosition;
    00074       /*!
    00075        * See <a href="#_details" class="md">Detailed Description</a>
    00076        * for meaning of this field.
    00077        * Default value is set to
    00078        \code
    00079        offset.setXYZ(0,0,0);
    00080        \endcode
    00081        */
    00082        SFVec3f    offset;
    00083      //!@}
    00084      /*!@name Fields
    00085       * A property or attribute of a node. Each node type has a fixed set
    00086       * of fields. Fields may contain various kinds of data and one or many
    00087       * values. Each field has a default value.
    00088       */
    00089       //!@{
    00090      //!@}
    00091      /*!@name Events In
    00092       *
    00093       */
    00094       //!@{
    00095       /*!
    00096        * Set event associated to exposedField autoOffset
    00097        */
    00098        EventIn<SFBool>     set_autoOffset;
    00099       /*!
    00100        * Set event associated to exposedField enabled
    00101        */
    00102        EventIn<SFBool>     set_enabled;
    00103       /*!
    00104        * Set event associated to exposedField maxPosition
    00105        */
    00106        EventIn<SFVec2f>    set_maxPosition;
    00107       /*!
    00108        * Set event associated to exposedField minPosition
    00109        */
    00110        EventIn<SFVec2f>    set_minPosition;
    00111       /*!
    00112        * Set event associated to exposedField offset
    00113        */
    00114        EventIn<SFVec3f>    set_offset;
    00115   //!@}
    00116      /*!@name Events Out
    00117       *
    00118       */
    00119       //!@{
    00120       /*!
    00121        * See <a href="#_details" class="md">Detailed Description</a>
    00122        * for meaning of this event.
    00123        */
    00124        EventOut<SFBool>     isActive;
    00125       /*!
    00126        * See <a href="#_details" class="md">Detailed Description</a>
    00127        * for meaning of this event.
    00128        */
    00129        EventOut<SFVec3f>    trackPoint_changed;
    00130       /*!
    00131        * See <a href="#_details" class="md">Detailed Description</a>
    00132        * for meaning of this event.
    00133        */
    00134        EventOut<SFVec3f>    translation_changed;
    00135       /*!
    00136        * Changed event associated to exposedField autoOffset
    00137        */
    00138        EventOut<SFBool>     autoOffset_changed;
    00139       /*!
    00140        * Changed event associated to exposedField enabled
    00141        */
    00142        EventOut<SFBool>     enabled_changed;
    00143       /*!
    00144        * Changed event associated to exposedField maxPosition
    00145        */
    00146        EventOut<SFVec2f>    maxPosition_changed;
    00147       /*!
    00148        * Changed event associated to exposedField minPosition
    00149        */
    00150        EventOut<SFVec2f>    minPosition_changed;
    00151       /*!
    00152        * Changed event associated to exposedField offset
    00153        */
    00154        EventOut<SFVec3f>    offset_changed;
    00155   //!@}
    00156   };
    00157 };
    00158 //************************************************************
    00159 // Implementation of PlaneSensor
    00160 //************************************************************
    00161 /*!
    00162  * Returns <code>"PlaneSensor"</code>. Useful for printing.
    00163  */
    00164 inline const char*
    00165 wrl::PlaneSensor::typeName() const
    00166 {
    00167   return "PlaneSensor";
    00168 }
    00169 /*!
    00170  * Returns the number of fields (exposed or not) for this node type.
    00171  */
    00172 inline unsigned int
    00173 wrl::PlaneSensor::nbFields() const
    00174 {
    00175    return 5;
    00176 }
    00177 /*!
    00178  * Returns the number of events in for this node type.
    00179  */
    00180 inline unsigned int
    00181 wrl::PlaneSensor::nbEventsIn() const
    00182 {
    00183    return 0;
    00184 }
    00185 /*!
    00186  * Returns the number of events out for this node type.
    00187  */
    00188 inline unsigned int
    00189 wrl::PlaneSensor::nbEventsOut() const
    00190 {
    00191    return 3;
    00192 }
    00193 #endif // XDKWRL_PLANESENSOR_H
    00194
    00195 // Local variables section.
    00196 // This is only used by emacs!
    00197 // Local Variables:
    00198 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
    00199 // End:

Generated on 28 Jun 2006 with version 1.4.4. |