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/node.h>
00005 #include <xdkwrl/fieldtypes/mfstring.h>
00006 #include <xdkwrl/fieldtypes/sfbool.h>
00007 #include <xdkwrl/fieldtypes/sffloat.h>
00008 #include <xdkwrl/fieldtypes/sftime.h>
00009 
00010 namespace wrl
00011 {
00012   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00013   // Interface of MovieTexture
00014   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00015   class MovieTexture : public Node
00016   {
00017    public:
00018      MovieTexture(const char* name="");
00019      virtual ~MovieTexture();
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 
00043        \code
00044        loop = false;
00045        \endcode
00046        */
00047        SFBool     loop;
00048       /*!
00049        * See <a href="#_details" class="md">Detailed Description</a>
00050        * for meaning of this field.
00051        * Default value is set to 
00052        \code
00053        speed = 1;
00054        \endcode
00055        */
00056        SFFloat    speed;
00057       /*!
00058        * See <a href="#_details" class="md">Detailed Description</a>
00059        * for meaning of this field.
00060        * Default value is set to 
00061        \code
00062        startTime.setNbSeconds(0);
00063        \endcode
00064        */
00065        SFTime     startTime;
00066       /*!
00067        * See <a href="#_details" class="md">Detailed Description</a>
00068        * for meaning of this field.
00069        * Default value is set to 
00070        \code
00071        stopTime.setNbSeconds(0);
00072        \endcode
00073        */
00074        SFTime     stopTime;
00075       /*!
00076        * See <a href="#_details" class="md">Detailed Description</a>
00077        * for meaning of this field.
00078        * Default value is set to MFString default value
00079        */
00080        MFString   url;
00081      //!@}
00082      /*!@name Fields
00083       * A property or attribute of a node. Each node type has a fixed set
00084       * of fields. Fields may contain various kinds of data and one or many
00085       * values. Each field has a default value.
00086       */
00087       //!@{
00088       /*!
00089        * See <a href="#_details" class="md">Detailed Description</a>
00090        * for meaning of this field.
00091        * Default value is set to 
00092        \code
00093        repeatS = true;
00094         \endcode
00095        */
00096        SFBool     repeatS;
00097       /*!
00098        * See <a href="#_details" class="md">Detailed Description</a>
00099        * for meaning of this field.
00100        * Default value is set to 
00101        \code
00102        repeatT = true;
00103         \endcode
00104        */
00105        SFBool     repeatT;
00106      //!@}
00107      /*!@name Events In
00108       * 
00109       */
00110       //!@{
00111       /*!
00112        * Set event associated to exposedField loop
00113        */
00114        EventIn<SFBool>     set_loop;
00115       /*!
00116        * Set event associated to exposedField speed
00117        */
00118        EventIn<SFFloat>    set_speed;
00119       /*!
00120        * Set event associated to exposedField startTime
00121        */
00122        EventIn<SFTime>     set_startTime;
00123       /*!
00124        * Set event associated to exposedField stopTime
00125        */
00126        EventIn<SFTime>     set_stopTime;
00127       /*!
00128        * Set event associated to exposedField url
00129        */
00130        EventIn<MFString>   set_url;
00131   //!@}
00132      /*!@name Events Out
00133       * 
00134       */
00135       //!@{
00136       /*!
00137        * See <a href="#_details" class="md">Detailed Description</a>
00138        * for meaning of this event.
00139        */
00140        EventOut<SFTime>     duration_changed;
00141       /*!
00142        * See <a href="#_details" class="md">Detailed Description</a>
00143        * for meaning of this event.
00144        */
00145        EventOut<SFBool>     isActive;
00146       /*!
00147        * Changed event associated to exposedField loop
00148        */
00149        EventOut<SFBool>     loop_changed;
00150       /*!
00151        * Changed event associated to exposedField speed
00152        */
00153        EventOut<SFFloat>    speed_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 MovieTexture
00171 //************************************************************
00172 /*!
00173  * Returns <code>"MovieTexture"</code>. Useful for printing.
00174  */
00175 inline const char*
00176 wrl::MovieTexture::typeName() const
00177 {
00178   return "MovieTexture";
00179 }
00180 /*!
00181  * Returns the number of fields (exposed or not) for this node type.
00182  */
00183 inline unsigned int
00184 wrl::MovieTexture::nbFields() const
00185 {
00186    return 7;
00187 }
00188 /*!
00189  * Returns the number of events in for this node type.
00190  */
00191 inline unsigned int
00192 wrl::MovieTexture::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::MovieTexture::nbEventsOut() const
00201 {
00202    return 2;
00203 }
00204 #endif // XDKWRL_MOVIETEXTURE_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!