Home Hierarchy Members Alphabetical Related Pages

fog.h

Go to the documentation of this file.
00001 #ifndef XDKWRL_FOG_H
00002 #define XDKWRL_FOG_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/sfstring.h>
00010 
00011 namespace wrl
00012 {
00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00014   // Interface of Fog
00015   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00016   class XDKWRL_EXPORT Fog : public Node
00017   {
00018    public:
00019      Fog(const char* name="");
00020      virtual ~Fog();
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        color.setRGB(1,1,1);
00046        \endcode
00047        */
00048        SFColor    color;
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        fogType = string("LINEAR");
00055        \endcode
00056        */
00057        SFString   fogType;
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        visibilityRange = 0.0f;
00064        \endcode
00065        */
00066        SFFloat    visibilityRange;
00067      //!@}
00068      /*!@name Fields
00069       * A property or attribute of a node. Each node type has a fixed set
00070       * of fields. Fields may contain various kinds of data and one or many
00071       * values. Each field has a default value.
00072       */
00073       //!@{
00074      //!@}
00075      /*!@name Events In
00076       * 
00077       */
00078       //!@{
00079       /*!
00080        * See <a href="#_details" class="md">Detailed Description</a>
00081        * for meaning of this event.
00082        */
00083        EventIn<SFBool>     set_bind;
00084       /*!
00085        * Set event associated to exposedField color
00086        */
00087        EventIn<SFColor>    set_color;
00088       /*!
00089        * Set event associated to exposedField fogType
00090        */
00091        EventIn<SFString>   set_fogType;
00092       /*!
00093        * Set event associated to exposedField visibilityRange
00094        */
00095        EventIn<SFFloat>    set_visibilityRange;
00096   //!@}
00097      /*!@name Events Out
00098       * 
00099       */
00100       //!@{
00101       /*!
00102        * See <a href="#_details" class="md">Detailed Description</a>
00103        * for meaning of this event.
00104        */
00105        EventOut<SFBool>     isBound;
00106       /*!
00107        * Changed event associated to exposedField color
00108        */
00109        EventOut<SFColor>    color_changed;
00110       /*!
00111        * Changed event associated to exposedField fogType
00112        */
00113        EventOut<SFString>   fogType_changed;
00114       /*!
00115        * Changed event associated to exposedField visibilityRange
00116        */
00117        EventOut<SFFloat>    visibilityRange_changed;
00118   //!@}
00119   };
00120 };
00121 //************************************************************
00122 // Implementation of Fog
00123 //************************************************************
00124 /*!
00125  * Returns <code>"Fog"</code>. Useful for printing.
00126  */
00127 inline const char*
00128 wrl::Fog::typeName() const
00129 {
00130   return "Fog";
00131 }
00132 /*!
00133  * Returns the number of fields (exposed or not) for this node type.
00134  */
00135 inline unsigned int
00136 wrl::Fog::nbFields() const
00137 {
00138    return 3;
00139 }
00140 /*!
00141  * Returns the number of events in for this node type.
00142  */
00143 inline unsigned int
00144 wrl::Fog::nbEventsIn() const
00145 {
00146    return 1;
00147 }
00148 /*!
00149  * Returns the number of events out for this node type.
00150  */
00151 inline unsigned int
00152 wrl::Fog::nbEventsOut() const
00153 {
00154    return 1;
00155 }
00156 #endif // XDKWRL_FOG_H
00157 
00158 // Local variables section.
00159 // This is only used by emacs!
00160 // Local Variables:
00161 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
00162 // End:

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