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