XdkWrl: directionallight.h Source File

Home | Hierarchy | Members | Alphabetical | Related Pages

# directionallight.h

Go to the documentation of this file.

    00001 #ifndef XDKWRL_DIRECTIONALLIGHT_H
    00002 #define XDKWRL_DIRECTIONALLIGHT_H
    00003
    00004 #include <xdkwrl/config.h>
    00005 #include <xdkwrl/node.h>
    00006 #include <xdkwrl/fieldtypes/sfbool.h>
    00007 #include <xdkwrl/fieldtypes/sfcolor.h>
    00008 #include <xdkwrl/fieldtypes/sffloat.h>
    00009 #include <xdkwrl/fieldtypes/sfvec3f.h>
    00010
    00011 namespace wrl
    00012 {
    00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00014   // Interface of DirectionalLight
    00015   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00016   class XDKWRL_EXPORT DirectionalLight : public Node
    00017   {
    00018    public:
    00019      DirectionalLight(const char* name="");
    00020      virtual ~DirectionalLight();
    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        ambientIntensity = 0.0f;
    00046        \endcode
    00047        */
    00048        SFFloat    ambientIntensity;
    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        color.setRGB(1,1,1);
    00055        \endcode
    00056        */
    00057        SFColor    color;
    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        direction.setXYZ(0,0,-1);
    00064        \endcode
    00065        */
    00066        SFVec3f    direction;
    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        intensity = 1.0f;
    00073        \endcode
    00074        */
    00075        SFFloat    intensity;
    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        on = true;
    00082        \endcode
    00083        */
    00084        SFBool     on;
    00085      //!@}
    00086      /*!@name Fields
    00087       * A property or attribute of a node. Each node type has a fixed set
    00088       * of fields. Fields may contain various kinds of data and one or many
    00089       * values. Each field has a default value.
    00090       */
    00091       //!@{
    00092      //!@}
    00093      /*!@name Events In
    00094       *
    00095       */
    00096       //!@{
    00097       /*!
    00098        * Set event associated to exposedField ambientIntensity
    00099        */
    00100        EventIn<SFFloat>    set_ambientIntensity;
    00101       /*!
    00102        * Set event associated to exposedField color
    00103        */
    00104        EventIn<SFColor>    set_color;
    00105       /*!
    00106        * Set event associated to exposedField direction
    00107        */
    00108        EventIn<SFVec3f>    set_direction;
    00109       /*!
    00110        * Set event associated to exposedField intensity
    00111        */
    00112        EventIn<SFFloat>    set_intensity;
    00113       /*!
    00114        * Set event associated to exposedField on
    00115        */
    00116        EventIn<SFBool>     set_on;
    00117   //!@}
    00118      /*!@name Events Out
    00119       *
    00120       */
    00121       //!@{
    00122       /*!
    00123        * Changed event associated to exposedField ambientIntensity
    00124        */
    00125        EventOut<SFFloat>    ambientIntensity_changed;
    00126       /*!
    00127        * Changed event associated to exposedField color
    00128        */
    00129        EventOut<SFColor>    color_changed;
    00130       /*!
    00131        * Changed event associated to exposedField direction
    00132        */
    00133        EventOut<SFVec3f>    direction_changed;
    00134       /*!
    00135        * Changed event associated to exposedField intensity
    00136        */
    00137        EventOut<SFFloat>    intensity_changed;
    00138       /*!
    00139        * Changed event associated to exposedField on
    00140        */
    00141        EventOut<SFBool>     on_changed;
    00142   //!@}
    00143   };
    00144 };
    00145 //************************************************************
    00146 // Implementation of DirectionalLight
    00147 //************************************************************
    00148 /*!
    00149  * Returns <code>"DirectionalLight"</code>. Useful for printing.
    00150  */
    00151 inline const char*
    00152 wrl::DirectionalLight::typeName() const
    00153 {
    00154   return "DirectionalLight";
    00155 }
    00156 /*!
    00157  * Returns the number of fields (exposed or not) for this node type.
    00158  */
    00159 inline unsigned int
    00160 wrl::DirectionalLight::nbFields() const
    00161 {
    00162    return 5;
    00163 }
    00164 /*!
    00165  * Returns the number of events in for this node type.
    00166  */
    00167 inline unsigned int
    00168 wrl::DirectionalLight::nbEventsIn() const
    00169 {
    00170    return 0;
    00171 }
    00172 /*!
    00173  * Returns the number of events out for this node type.
    00174  */
    00175 inline unsigned int
    00176 wrl::DirectionalLight::nbEventsOut() const
    00177 {
    00178    return 0;
    00179 }
    00180 #endif // XDKWRL_DIRECTIONALLIGHT_H
    00181
    00182 // Local variables section.
    00183 // This is only used by emacs!
    00184 // Local Variables:
    00185 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
    00186 // End:

Generated on 5 Jan 2007 with version 1.5.1. |