XdkWrl: geolod.h Source File

Home | Hierarchy | Members | Alphabetical | Related Pages

# geolod.h

Go to the documentation of this file.

    00001 #ifndef XDKWRL_GEOLOD_H
    00002 #define XDKWRL_GEOLOD_H
    00003
    00004 #include <xdkwrl/config.h>
    00005 #include <xdkwrl/node.h>
    00006 #include <xdkwrl/fieldtypes/mfnode.h>
    00007 #include <xdkwrl/fieldtypes/mfstring.h>
    00008 #include <xdkwrl/fieldtypes/sffloat.h>
    00009 #include <xdkwrl/fieldtypes/sfnode.h>
    00010 #include <xdkwrl/fieldtypes/sfstring.h>
    00011
    00012 namespace wrl
    00013 {
    00014   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00015   // Interface of GeoLOD
    00016   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00017   class XDKWRL_EXPORT GeoLOD : public Node
    00018   {
    00019    public:
    00020      GeoLOD(const char* name="");
    00021      virtual ~GeoLOD();
    00022      virtual inline unsigned int nbFields() const;
    00023      virtual FieldHandle field(const std::string& n);
    00024      virtual FieldHandle field(unsigned int i);
    00025      virtual bool isSetToDefaultValue(unsigned int i) const;
    00026      virtual inline unsigned int nbEventsIn() const;
    00027      virtual EventInHandle eventIn(const std::string& n);
    00028      virtual EventInHandle eventIn(unsigned int i);
    00029      virtual inline unsigned int nbEventsOut() const;
    00030      virtual EventOutHandle eventOut(const std::string& n);
    00031      virtual EventOutHandle eventOut(unsigned int i);
    00032      inline const char* typeName() const;
    00033      virtual Node* duplicate() const;
    00034      virtual Node* duplicate(std::map<const Node*,Node*>&) const;
    00035      /*!@name Exposed Fields
    00036       * A field that is capable of receiving events via an eventIn to
    00037       * change its value(s), and generating events via an eventOut
    00038       * when its value(s) change.
    00039       */
    00040       //!@{
    00041      //!@}
    00042      /*!@name Fields
    00043       * A property or attribute of a node. Each node type has a fixed set
    00044       * of fields. Fields may contain various kinds of data and one or many
    00045       * values. Each field has a default value.
    00046       */
    00047       //!@{
    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        center = string("");
    00054         \endcode
    00055        */
    00056        SFString   center;
    00057       /*!
    00058        * See <a href="#_details" class="md">Detailed Description</a>
    00059        * for meaning of this field.
    00060        * Default value is set to MFString default value
    00061        */
    00062        MFString   child1Url;
    00063       /*!
    00064        * See <a href="#_details" class="md">Detailed Description</a>
    00065        * for meaning of this field.
    00066        * Default value is set to MFString default value
    00067        */
    00068        MFString   child2Url;
    00069       /*!
    00070        * See <a href="#_details" class="md">Detailed Description</a>
    00071        * for meaning of this field.
    00072        * Default value is set to MFString default value
    00073        */
    00074        MFString   child3Url;
    00075       /*!
    00076        * See <a href="#_details" class="md">Detailed Description</a>
    00077        * for meaning of this field.
    00078        * Default value is set to MFString default value
    00079        */
    00080        MFString   child4Url;
    00081       /*!
    00082        * See <a href="#_details" class="md">Detailed Description</a>
    00083        * for meaning of this field.
    00084        * Default value is set to SFNode default value
    00085        */
    00086        SFNode     geoOrigin;
    00087       /*!
    00088        * See <a href="#_details" class="md">Detailed Description</a>
    00089        * for meaning of this field.
    00090        * Default value is set to
    00091        \code
    00092
    00093         \endcode
    00094        */
    00095        MFString   geoSystem;
    00096       /*!
    00097        * See <a href="#_details" class="md">Detailed Description</a>
    00098        * for meaning of this field.
    00099        * Default value is set to
    00100        \code
    00101        range = 10.0f;
    00102         \endcode
    00103        */
    00104        SFFloat    range;
    00105       /*!
    00106        * See <a href="#_details" class="md">Detailed Description</a>
    00107        * for meaning of this field.
    00108        * Default value is set to MFString default value
    00109        */
    00110        MFString   rootUrl;
    00111       /*!
    00112        * See <a href="#_details" class="md">Detailed Description</a>
    00113        * for meaning of this field.
    00114        * Default value is set to MFNode default value
    00115        */
    00116        MFNode     rootNode;
    00117      //!@}
    00118      /*!@name Events In
    00119       *
    00120       */
    00121       //!@{
    00122   //!@}
    00123      /*!@name Events Out
    00124       *
    00125       */
    00126       //!@{
    00127       /*!
    00128        * See <a href="#_details" class="md">Detailed Description</a>
    00129        * for meaning of this event.
    00130        */
    00131        EventOut<MFNode>     children;
    00132   //!@}
    00133   };
    00134 };
    00135 //************************************************************
    00136 // Implementation of GeoLOD
    00137 //************************************************************
    00138 /*!
    00139  * Returns <code>"GeoLOD"</code>. Useful for printing.
    00140  */
    00141 inline const char*
    00142 wrl::GeoLOD::typeName() const
    00143 {
    00144   return "GeoLOD";
    00145 }
    00146 /*!
    00147  * Returns the number of fields (exposed or not) for this node type.
    00148  */
    00149 inline unsigned int
    00150 wrl::GeoLOD::nbFields() const
    00151 {
    00152    return 10;
    00153 }
    00154 /*!
    00155  * Returns the number of events in for this node type.
    00156  */
    00157 inline unsigned int
    00158 wrl::GeoLOD::nbEventsIn() const
    00159 {
    00160    return 0;
    00161 }
    00162 /*!
    00163  * Returns the number of events out for this node type.
    00164  */
    00165 inline unsigned int
    00166 wrl::GeoLOD::nbEventsOut() const
    00167 {
    00168    return 1;
    00169 }
    00170 #endif // XDKWRL_GEOLOD_H
    00171
    00172 // Local variables section.
    00173 // This is only used by emacs!
    00174 // Local Variables:
    00175 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
    00176 // End:

Generated on 5 Jan 2007 with version 1.5.1. |