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