Home Hierarchy Members Alphabetical Related Pages

movietexture.h

Go to the documentation of this file.
00001 #ifndef XDKWRL_MOVIETEXTURE_H
00002 #define XDKWRL_MOVIETEXTURE_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/sftime.h>
00010 
00011 namespace wrl
00012 {
00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00014   // Interface of MovieTexture
00015   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00016   class XDKWRL_EXPORT MovieTexture : public Node
00017   {
00018    public:
00019      MovieTexture(const char* name="");
00020      virtual ~MovieTexture();
00021      virtual inline unsigned int nbFields() const;
00022      virtual FieldHandle field(const std::string& n);
00023      virtual FieldHandle field(unsigned int i);
00024      virtual bool isSetToDefaultValue(unsigned int i) const;
00025      virtual inline unsigned int nbEventsIn() const;
00026      virtual EventInHandle eventIn(const std::string& n);
00027      virtual EventInHandle eventIn(unsigned int i);
00028      virtual inline unsigned int nbEventsOut() const;
00029      virtual EventOutHandle eventOut(const std::string& n);
00030      virtual EventOutHandle eventOut(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        loop = false;
00046        \endcode
00047        */
00048        SFBool     loop;
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        speed = 1.0f;
00055        \endcode
00056        */
00057        SFFloat    speed;
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        startTime.setNbSeconds(0);
00064        \endcode
00065        */
00066        SFTime     startTime;
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        stopTime.setNbSeconds(0);
00073        \endcode
00074        */
00075        SFTime     stopTime;
00076       /*!
00077        * See <a href="#_details" class="md">Detailed Description</a>
00078        * for meaning of this field.
00079        * Default value is set to MFString default value
00080        */
00081        MFString   url;
00082      //!@}
00083      /*!@name Fields
00084       * A property or attribute of a node. Each node type has a fixed set
00085       * of fields. Fields may contain various kinds of data and one or many
00086       * values. Each field has a default value.
00087       */
00088       //!@{
00089       /*!
00090        * See <a href="#_details" class="md">Detailed Description</a>
00091        * for meaning of this field.
00092        * Default value is set to 
00093        \code
00094        repeatS = true;
00095         \endcode
00096        */
00097        SFBool     repeatS;
00098       /*!
00099        * See <a href="#_details" class="md">Detailed Description</a>
00100        * for meaning of this field.
00101        * Default value is set to 
00102        \code
00103        repeatT = true;
00104         \endcode
00105        */
00106        SFBool     repeatT;
00107      //!@}
00108      /*!@name Events In
00109       * 
00110       */
00111       //!@{
00112       /*!
00113        * Set event associated to exposedField loop
00114        */
00115        EventIn<SFBool>     set_loop;
00116       /*!
00117        * Set event associated to exposedField speed
00118        */
00119        EventIn<SFFloat>    set_speed;
00120       /*!
00121        * Set event associated to exposedField startTime
00122        */
00123        EventIn<SFTime>     set_startTime;
00124       /*!
00125        * Set event associated to exposedField stopTime
00126        */
00127        EventIn<SFTime>     set_stopTime;
00128       /*!
00129        * Set event associated to exposedField url
00130        */
00131        EventIn<MFString>   set_url;
00132   //!@}
00133      /*!@name Events Out
00134       * 
00135       */
00136       //!@{
00137       /*!
00138        * See <a href="#_details" class="md">Detailed Description</a>
00139        * for meaning of this event.
00140        */
00141        EventOut<SFTime>     duration_changed;
00142       /*!
00143        * See <a href="#_details" class="md">Detailed Description</a>
00144        * for meaning of this event.
00145        */
00146        EventOut<SFBool>     isActive;
00147       /*!
00148        * Changed event associated to exposedField loop
00149        */
00150        EventOut<SFBool>     loop_changed;
00151       /*!
00152        * Changed event associated to exposedField speed
00153        */
00154        EventOut<SFFloat>    speed_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 MovieTexture
00172 //************************************************************
00173 /*!
00174  * Returns <code>"MovieTexture"</code>. Useful for printing.
00175  */
00176 inline const char*
00177 wrl::MovieTexture::typeName() const
00178 {
00179   return "MovieTexture";
00180 }
00181 /*!
00182  * Returns the number of fields (exposed or not) for this node type.
00183  */
00184 inline unsigned int
00185 wrl::MovieTexture::nbFields() const
00186 {
00187    return 7;
00188 }
00189 /*!
00190  * Returns the number of events in for this node type.
00191  */
00192 inline unsigned int
00193 wrl::MovieTexture::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::MovieTexture::nbEventsOut() const
00202 {
00203    return 2;
00204 }
00205 #endif // XDKWRL_MOVIETEXTURE_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!