Home Hierarchy Members Alphabetical Related Pages

audioclip.h

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

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