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