Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_LOD_H 00002 #define XDKWRL_LOD_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mffloat.h> 00006 #include <xdkwrl/fieldtypes/mfnode.h> 00007 #include <xdkwrl/fieldtypes/sfvec3f.h> 00008 00009 namespace wrl 00010 { 00011 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00012 // Interface of LOD 00013 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00014 class LOD : public Node 00015 { 00016 public: 00017 LOD(const char* name=""); 00018 virtual ~LOD(); 00019 virtual inline unsigned int nbFields() const; 00020 virtual FieldHandle field(const std::string& n); 00021 virtual FieldHandle field(unsigned int i); 00022 virtual bool isSetToDefaultValue(unsigned int i) const; 00023 virtual inline unsigned int nbEventsIn() const; 00024 virtual EventInHandle eventIn(const std::string& n); 00025 virtual EventInHandle eventIn(unsigned int i); 00026 virtual inline unsigned int nbEventsOut() const; 00027 virtual EventOutHandle eventOut(const std::string& n); 00028 virtual EventOutHandle eventOut(unsigned int i); 00029 inline const char* typeName() const; 00030 virtual Node* duplicate() const; 00031 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00032 /*!@name Exposed Fields 00033 * A field that is capable of receiving events via an eventIn to 00034 * change its value(s), and generating events via an eventOut 00035 * when its value(s) change. 00036 */ 00037 //!@{ 00038 /*! 00039 * See <a href="#_details" class="md">Detailed Description</a> 00040 * for meaning of this field. 00041 * Default value is set to MFNode default value 00042 */ 00043 MFNode level; 00044 //!@} 00045 /*!@name Fields 00046 * A property or attribute of a node. Each node type has a fixed set 00047 * of fields. Fields may contain various kinds of data and one or many 00048 * values. Each field has a default value. 00049 */ 00050 //!@{ 00051 /*! 00052 * See <a href="#_details" class="md">Detailed Description</a> 00053 * for meaning of this field. 00054 * Default value is set to 00055 \code 00056 center.setXYZ(0,0,0); 00057 \endcode 00058 */ 00059 SFVec3f center; 00060 /*! 00061 * See <a href="#_details" class="md">Detailed Description</a> 00062 * for meaning of this field. 00063 * Default value is set to MFFloat default value 00064 */ 00065 MFFloat range; 00066 //!@} 00067 /*!@name Events In 00068 * 00069 */ 00070 //!@{ 00071 /*! 00072 * Set event associated to exposedField level 00073 */ 00074 EventIn<MFNode> set_level; 00075 //!@} 00076 /*!@name Events Out 00077 * 00078 */ 00079 //!@{ 00080 /*! 00081 * Changed event associated to exposedField level 00082 */ 00083 EventOut<MFNode> level_changed; 00084 //!@} 00085 }; 00086 }; 00087 //************************************************************ 00088 // Implementation of LOD 00089 //************************************************************ 00090 /*! 00091 * Returns <code>"LOD"</code>. Useful for printing. 00092 */ 00093 inline const char* 00094 wrl::LOD::typeName() const 00095 { 00096 return "LOD"; 00097 } 00098 /*! 00099 * Returns the number of fields (exposed or not) for this node type. 00100 */ 00101 inline unsigned int 00102 wrl::LOD::nbFields() const 00103 { 00104 return 3; 00105 } 00106 /*! 00107 * Returns the number of events in for this node type. 00108 */ 00109 inline unsigned int 00110 wrl::LOD::nbEventsIn() const 00111 { 00112 return 0; 00113 } 00114 /*! 00115 * Returns the number of events out for this node type. 00116 */ 00117 inline unsigned int 00118 wrl::LOD::nbEventsOut() const 00119 { 00120 return 0; 00121 } 00122 #endif // XDKWRL_LOD_H 00123 00124 // Local variables section. 00125 // This is only used by emacs! 00126 // Local Variables: 00127 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00128 // End:
Generated on 28 Jun 2006 with
![]() |
|