Home Hierarchy Members Alphabetical Related Pages

geoelevationgrid.h

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

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