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