Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_GEOELEVATIONGRID_H 00002 #define XDKWRL_GEOELEVATIONGRID_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mffloat.h> 00006 #include <xdkwrl/fieldtypes/mfstring.h> 00007 #include <xdkwrl/fieldtypes/sfbool.h> 00008 #include <xdkwrl/fieldtypes/sffloat.h> 00009 #include <xdkwrl/fieldtypes/sfint32.h> 00010 #include <xdkwrl/fieldtypes/sfnode.h> 00011 #include <xdkwrl/fieldtypes/sfstring.h> 00012 00013 namespace wrl 00014 { 00015 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00016 // Interface of GeoElevationGrid 00017 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00018 class GeoElevationGrid : public Node 00019 { 00020 public: 00021 GeoElevationGrid(const char* name=""); 00022 virtual ~GeoElevationGrid(); 00023 virtual inline unsigned int nbFields() const; 00024 virtual FieldHandle field(const std::string& n); 00025 virtual FieldHandle field(const unsigned int i); 00026 virtual bool isSetToDefaultValue(const unsigned int i) const; 00027 virtual inline unsigned int nbEventsIn() const; 00028 virtual EventInHandle eventIn(const std::string& n); 00029 virtual EventInHandle eventIn(const unsigned int i); 00030 virtual inline unsigned int nbEventsOut() const; 00031 virtual EventOutHandle eventOut(const std::string& n); 00032 virtual EventOutHandle eventOut(const unsigned int i); 00033 inline const char* typeName() const; 00034 virtual Node* duplicate() const; 00035 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00036 /*!@name Exposed Fields 00037 * A field that is capable of receiving events via an eventIn to 00038 * change its value(s), and generating events via an eventOut 00039 * when its value(s) change. 00040 */ 00041 //!@{ 00042 /*! 00043 * See <a href="#_details" class="md">Detailed Description</a> 00044 * for meaning of this field. 00045 * Default value is set to SFNode default value 00046 */ 00047 SFNode color; 00048 /*! 00049 * See <a href="#_details" class="md">Detailed Description</a> 00050 * for meaning of this field. 00051 * Default value is set to SFNode default value 00052 */ 00053 SFNode normal; 00054 /*! 00055 * See <a href="#_details" class="md">Detailed Description</a> 00056 * for meaning of this field. 00057 * Default value is set to SFNode default value 00058 */ 00059 SFNode texCoord; 00060 //!@} 00061 /*!@name Fields 00062 * A property or attribute of a node. Each node type has a fixed set 00063 * of fields. Fields may contain various kinds of data and one or many 00064 * values. Each field has a default value. 00065 */ 00066 //!@{ 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 ccw = true; 00073 \endcode 00074 */ 00075 SFBool ccw; 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 colorPerVertex = true; 00082 \endcode 00083 */ 00084 SFBool colorPerVertex; 00085 /*! 00086 * See <a href="#_details" class="md">Detailed Description</a> 00087 * for meaning of this field. 00088 * Default value is set to 00089 \code 00090 creaseAngle = 0; 00091 \endcode 00092 */ 00093 SFFloat creaseAngle; 00094 /*! 00095 * See <a href="#_details" class="md">Detailed Description</a> 00096 * for meaning of this field. 00097 * Default value is set to SFNode default value 00098 */ 00099 SFNode geoOrigin; 00100 /*! 00101 * See <a href="#_details" class="md">Detailed Description</a> 00102 * for meaning of this field. 00103 * Default value is set to 00104 \code 00105 00106 \endcode 00107 */ 00108 MFString geoSystem; 00109 /*! 00110 * See <a href="#_details" class="md">Detailed Description</a> 00111 * for meaning of this field. 00112 * Default value is set to 00113 \code 00114 geoGridOrigin = string("0 0 0"); 00115 \endcode 00116 */ 00117 SFString geoGridOrigin; 00118 /*! 00119 * See <a href="#_details" class="md">Detailed Description</a> 00120 * for meaning of this field. 00121 * Default value is set to MFFloat default value 00122 */ 00123 MFFloat height; 00124 /*! 00125 * See <a href="#_details" class="md">Detailed Description</a> 00126 * for meaning of this field. 00127 * Default value is set to 00128 \code 00129 normalPerVertex = true; 00130 \endcode 00131 */ 00132 SFBool normalPerVertex; 00133 /*! 00134 * See <a href="#_details" class="md">Detailed Description</a> 00135 * for meaning of this field. 00136 * Default value is set to 00137 \code 00138 solid = true; 00139 \endcode 00140 */ 00141 SFBool solid; 00142 /*! 00143 * See <a href="#_details" class="md">Detailed Description</a> 00144 * for meaning of this field. 00145 * Default value is set to 00146 \code 00147 xDimension = 0; 00148 \endcode 00149 */ 00150 SFInt32 xDimension; 00151 /*! 00152 * See <a href="#_details" class="md">Detailed Description</a> 00153 * for meaning of this field. 00154 * Default value is set to 00155 \code 00156 xSpacing = string("1.0"); 00157 \endcode 00158 */ 00159 SFString xSpacing; 00160 /*! 00161 * See <a href="#_details" class="md">Detailed Description</a> 00162 * for meaning of this field. 00163 * Default value is set to 00164 \code 00165 yScale = 1; 00166 \endcode 00167 */ 00168 SFFloat yScale; 00169 /*! 00170 * See <a href="#_details" class="md">Detailed Description</a> 00171 * for meaning of this field. 00172 * Default value is set to 00173 \code 00174 zDimension = 0; 00175 \endcode 00176 */ 00177 SFInt32 zDimension; 00178 /*! 00179 * See <a href="#_details" class="md">Detailed Description</a> 00180 * for meaning of this field. 00181 * Default value is set to 00182 \code 00183 zSpacing = string("1.0"); 00184 \endcode 00185 */ 00186 SFString zSpacing; 00187 //!@} 00188 /*!@name Events In 00189 * 00190 */ 00191 //!@{ 00192 /*! 00193 * See <a href="#_details" class="md">Detailed Description</a> 00194 * for meaning of this event. 00195 */ 00196 EventIn<MFFloat> set_height; 00197 /*! 00198 * See <a href="#_details" class="md">Detailed Description</a> 00199 * for meaning of this event. 00200 */ 00201 EventIn<SFFloat> set_yScale; 00202 /*! 00203 * Set event associated to exposedField color 00204 */ 00205 EventIn<SFNode> set_color; 00206 /*! 00207 * Set event associated to exposedField normal 00208 */ 00209 EventIn<SFNode> set_normal; 00210 /*! 00211 * Set event associated to exposedField texCoord 00212 */ 00213 EventIn<SFNode> set_texCoord; 00214 //!@} 00215 /*!@name Events Out 00216 * 00217 */ 00218 //!@{ 00219 /*! 00220 * Changed event associated to exposedField color 00221 */ 00222 EventOut<SFNode> color_changed; 00223 /*! 00224 * Changed event associated to exposedField normal 00225 */ 00226 EventOut<SFNode> normal_changed; 00227 /*! 00228 * Changed event associated to exposedField texCoord 00229 */ 00230 EventOut<SFNode> texCoord_changed; 00231 //!@} 00232 }; 00233 }; 00234 //************************************************************ 00235 // Implementation of GeoElevationGrid 00236 //************************************************************ 00237 /*! 00238 * Returns <code>"GeoElevationGrid"</code>. Useful for printing. 00239 */ 00240 inline const char* 00241 wrl::GeoElevationGrid::typeName() const 00242 { 00243 return "GeoElevationGrid"; 00244 } 00245 /*! 00246 * Returns the number of fields (exposed or not) for this node type. 00247 */ 00248 inline unsigned int 00249 wrl::GeoElevationGrid::nbFields() const 00250 { 00251 return 17; 00252 } 00253 /*! 00254 * Returns the number of events in for this node type. 00255 */ 00256 inline unsigned int 00257 wrl::GeoElevationGrid::nbEventsIn() const 00258 { 00259 return 2; 00260 } 00261 /*! 00262 * Returns the number of events out for this node type. 00263 */ 00264 inline unsigned int 00265 wrl::GeoElevationGrid::nbEventsOut() const 00266 { 00267 return 0; 00268 } 00269 #endif // XDKWRL_GEOELEVATIONGRID_H 00270 00271 // Local variables section. 00272 // This is only used by emacs! 00273 // Local Variables: 00274 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00275 // End:
Generated on 24 Feb 2005 with
![]() |
|