Home Hierarchy Members Alphabetical Related Pages

geopositioninterpolator.h

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

Generated on 5 Jan 2007 with doxygen version 1.5.1. Valid HTML 4.0! Valid CSS!