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

Generated on 24 Feb 2005 with doxygen version 1.3.9.1. Valid HTML 4.0! Valid CSS!