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/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 doxygen version 1.3.9.1. Valid HTML 4.0! Valid CSS!