Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_INDEXEDLINESET_H 00002 #define XDKWRL_INDEXEDLINESET_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mfint32.h> 00006 #include <xdkwrl/fieldtypes/sfbool.h> 00007 #include <xdkwrl/fieldtypes/sfnode.h> 00008 00009 namespace wrl 00010 { 00011 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00012 // Interface of IndexedLineSet 00013 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00014 class IndexedLineSet : public Node 00015 { 00016 public: 00017 IndexedLineSet(const char* name=""); 00018 virtual ~IndexedLineSet(); 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 SFNode default value 00042 */ 00043 SFNode color; 00044 /*! 00045 * See <a href="#_details" class="md">Detailed Description</a> 00046 * for meaning of this field. 00047 * Default value is set to SFNode default value 00048 */ 00049 SFNode coord; 00050 //!@} 00051 /*!@name Fields 00052 * A property or attribute of a node. Each node type has a fixed set 00053 * of fields. Fields may contain various kinds of data and one or many 00054 * values. Each field has a default value. 00055 */ 00056 //!@{ 00057 /*! 00058 * See <a href="#_details" class="md">Detailed Description</a> 00059 * for meaning of this field. 00060 * Default value is set to MFInt32 default value 00061 */ 00062 MFInt32 colorIndex; 00063 /*! 00064 * See <a href="#_details" class="md">Detailed Description</a> 00065 * for meaning of this field. 00066 * Default value is set to 00067 \code 00068 colorPerVertex = true; 00069 \endcode 00070 */ 00071 SFBool colorPerVertex; 00072 /*! 00073 * See <a href="#_details" class="md">Detailed Description</a> 00074 * for meaning of this field. 00075 * Default value is set to MFInt32 default value 00076 */ 00077 MFInt32 coordIndex; 00078 //!@} 00079 /*!@name Events In 00080 * 00081 */ 00082 //!@{ 00083 /*! 00084 * See <a href="#_details" class="md">Detailed Description</a> 00085 * for meaning of this event. 00086 */ 00087 EventIn<MFInt32> set_colorIndex; 00088 /*! 00089 * See <a href="#_details" class="md">Detailed Description</a> 00090 * for meaning of this event. 00091 */ 00092 EventIn<MFInt32> set_coordIndex; 00093 /*! 00094 * Set event associated to exposedField color 00095 */ 00096 EventIn<SFNode> set_color; 00097 /*! 00098 * Set event associated to exposedField coord 00099 */ 00100 EventIn<SFNode> set_coord; 00101 //!@} 00102 /*!@name Events Out 00103 * 00104 */ 00105 //!@{ 00106 /*! 00107 * Changed event associated to exposedField color 00108 */ 00109 EventOut<SFNode> color_changed; 00110 /*! 00111 * Changed event associated to exposedField coord 00112 */ 00113 EventOut<SFNode> coord_changed; 00114 //!@} 00115 }; 00116 }; 00117 //************************************************************ 00118 // Implementation of IndexedLineSet 00119 //************************************************************ 00120 /*! 00121 * Returns <code>"IndexedLineSet"</code>. Useful for printing. 00122 */ 00123 inline const char* 00124 wrl::IndexedLineSet::typeName() const 00125 { 00126 return "IndexedLineSet"; 00127 } 00128 /*! 00129 * Returns the number of fields (exposed or not) for this node type. 00130 */ 00131 inline unsigned int 00132 wrl::IndexedLineSet::nbFields() const 00133 { 00134 return 5; 00135 } 00136 /*! 00137 * Returns the number of events in for this node type. 00138 */ 00139 inline unsigned int 00140 wrl::IndexedLineSet::nbEventsIn() const 00141 { 00142 return 2; 00143 } 00144 /*! 00145 * Returns the number of events out for this node type. 00146 */ 00147 inline unsigned int 00148 wrl::IndexedLineSet::nbEventsOut() const 00149 { 00150 return 0; 00151 } 00152 #endif // XDKWRL_INDEXEDLINESET_H 00153 00154 // Local variables section. 00155 // This is only used by emacs! 00156 // Local Variables: 00157 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00158 // End:
Generated on 28 Jun 2006 with
![]() |
|