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