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/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 doxygen version 1.3.9.1. Valid HTML 4.0! Valid CSS!