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