Home | Hierarchy | Members | Alphabetical | Related Pages |
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
![]() |
|