XdkWrl: geoelevationgrid.h Source File

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(unsigned int i);
    00026      virtual bool isSetToDefaultValue(unsigned int i) const;
    00027      virtual inline unsigned int nbEventsIn() const;
    00028      virtual EventInHandle eventIn(const std::string& n);
    00029      virtual EventInHandle eventIn(unsigned int i);
    00030      virtual inline unsigned int nbEventsOut() const;
    00031      virtual EventOutHandle eventOut(const std::string& n);
    00032      virtual EventOutHandle eventOut(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 28 Jun 2006 with version 1.4.4. |