Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_INDEXEDFACESET_H 00002 #define XDKWRL_INDEXEDFACESET_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mfint32.h> 00006 #include <xdkwrl/fieldtypes/sfbool.h> 00007 #include <xdkwrl/fieldtypes/sffloat.h> 00008 #include <xdkwrl/fieldtypes/sfnode.h> 00009 00010 namespace wrl 00011 { 00012 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00013 // Interface of IndexedFaceSet 00014 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00015 class IndexedFaceSet : public Node 00016 { 00017 public: 00018 IndexedFaceSet(const char* name=""); 00019 virtual ~IndexedFaceSet(); 00020 virtual inline unsigned int nbFields() const; 00021 virtual FieldHandle field(const std::string& n); 00022 virtual FieldHandle field(const unsigned int i); 00023 virtual bool isSetToDefaultValue(const unsigned int i) const; 00024 virtual inline unsigned int nbEventsIn() const; 00025 virtual EventInHandle eventIn(const std::string& n); 00026 virtual EventInHandle eventIn(const unsigned int i); 00027 virtual inline unsigned int nbEventsOut() const; 00028 virtual EventOutHandle eventOut(const std::string& n); 00029 virtual EventOutHandle eventOut(const unsigned int i); 00030 inline const char* typeName() const; 00031 virtual Node* duplicate() const; 00032 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00033 /*!@name Exposed Fields 00034 * A field that is capable of receiving events via an eventIn to 00035 * change its value(s), and generating events via an eventOut 00036 * when its value(s) change. 00037 */ 00038 //!@{ 00039 /*! 00040 * See <a href="#_details" class="md">Detailed Description</a> 00041 * for meaning of this field. 00042 * Default value is set to SFNode default value 00043 */ 00044 SFNode color; 00045 /*! 00046 * See <a href="#_details" class="md">Detailed Description</a> 00047 * for meaning of this field. 00048 * Default value is set to SFNode default value 00049 */ 00050 SFNode coord; 00051 /*! 00052 * See <a href="#_details" class="md">Detailed Description</a> 00053 * for meaning of this field. 00054 * Default value is set to SFNode default value 00055 */ 00056 SFNode normal; 00057 /*! 00058 * See <a href="#_details" class="md">Detailed Description</a> 00059 * for meaning of this field. 00060 * Default value is set to SFNode default value 00061 */ 00062 SFNode texCoord; 00063 //!@} 00064 /*!@name Fields 00065 * A property or attribute of a node. Each node type has a fixed set 00066 * of fields. Fields may contain various kinds of data and one or many 00067 * values. Each field has a default value. 00068 */ 00069 //!@{ 00070 /*! 00071 * See <a href="#_details" class="md">Detailed Description</a> 00072 * for meaning of this field. 00073 * Default value is set to 00074 \code 00075 ccw = true; 00076 \endcode 00077 */ 00078 SFBool ccw; 00079 /*! 00080 * See <a href="#_details" class="md">Detailed Description</a> 00081 * for meaning of this field. 00082 * Default value is set to MFInt32 default value 00083 */ 00084 MFInt32 colorIndex; 00085 /*! 00086 * See <a href="#_details" class="md">Detailed Description</a> 00087 * for meaning of this field. 00088 * Default value is set to 00089 \code 00090 colorPerVertex = true; 00091 \endcode 00092 */ 00093 SFBool colorPerVertex; 00094 /*! 00095 * See <a href="#_details" class="md">Detailed Description</a> 00096 * for meaning of this field. 00097 * Default value is set to 00098 \code 00099 convex = true; 00100 \endcode 00101 */ 00102 SFBool convex; 00103 /*! 00104 * See <a href="#_details" class="md">Detailed Description</a> 00105 * for meaning of this field. 00106 * Default value is set to MFInt32 default value 00107 */ 00108 MFInt32 coordIndex; 00109 /*! 00110 * See <a href="#_details" class="md">Detailed Description</a> 00111 * for meaning of this field. 00112 * Default value is set to 00113 \code 00114 creaseAngle = 0; 00115 \endcode 00116 */ 00117 SFFloat creaseAngle; 00118 /*! 00119 * See <a href="#_details" class="md">Detailed Description</a> 00120 * for meaning of this field. 00121 * Default value is set to MFInt32 default value 00122 */ 00123 MFInt32 normalIndex; 00124 /*! 00125 * See <a href="#_details" class="md">Detailed Description</a> 00126 * for meaning of this field. 00127 * Default value is set to 00128 \code 00129 normalPerVertex = true; 00130 \endcode 00131 */ 00132 SFBool normalPerVertex; 00133 /*! 00134 * See <a href="#_details" class="md">Detailed Description</a> 00135 * for meaning of this field. 00136 * Default value is set to 00137 \code 00138 solid = true; 00139 \endcode 00140 */ 00141 SFBool solid; 00142 /*! 00143 * See <a href="#_details" class="md">Detailed Description</a> 00144 * for meaning of this field. 00145 * Default value is set to MFInt32 default value 00146 */ 00147 MFInt32 texCoordIndex; 00148 //!@} 00149 /*!@name Events In 00150 * 00151 */ 00152 //!@{ 00153 /*! 00154 * See <a href="#_details" class="md">Detailed Description</a> 00155 * for meaning of this event. 00156 */ 00157 EventIn<MFInt32> set_colorIndex; 00158 /*! 00159 * See <a href="#_details" class="md">Detailed Description</a> 00160 * for meaning of this event. 00161 */ 00162 EventIn<MFInt32> set_coordIndex; 00163 /*! 00164 * See <a href="#_details" class="md">Detailed Description</a> 00165 * for meaning of this event. 00166 */ 00167 EventIn<MFInt32> set_normalIndex; 00168 /*! 00169 * See <a href="#_details" class="md">Detailed Description</a> 00170 * for meaning of this event. 00171 */ 00172 EventIn<MFInt32> set_texCoordIndex; 00173 /*! 00174 * Set event associated to exposedField color 00175 */ 00176 EventIn<SFNode> set_color; 00177 /*! 00178 * Set event associated to exposedField coord 00179 */ 00180 EventIn<SFNode> set_coord; 00181 /*! 00182 * Set event associated to exposedField normal 00183 */ 00184 EventIn<SFNode> set_normal; 00185 /*! 00186 * Set event associated to exposedField texCoord 00187 */ 00188 EventIn<SFNode> set_texCoord; 00189 //!@} 00190 /*!@name Events Out 00191 * 00192 */ 00193 //!@{ 00194 /*! 00195 * Changed event associated to exposedField color 00196 */ 00197 EventOut<SFNode> color_changed; 00198 /*! 00199 * Changed event associated to exposedField coord 00200 */ 00201 EventOut<SFNode> coord_changed; 00202 /*! 00203 * Changed event associated to exposedField normal 00204 */ 00205 EventOut<SFNode> normal_changed; 00206 /*! 00207 * Changed event associated to exposedField texCoord 00208 */ 00209 EventOut<SFNode> texCoord_changed; 00210 //!@} 00211 }; 00212 }; 00213 //************************************************************ 00214 // Implementation of IndexedFaceSet 00215 //************************************************************ 00216 /*! 00217 * Returns <code>"IndexedFaceSet"</code>. Useful for printing. 00218 */ 00219 inline const char* 00220 wrl::IndexedFaceSet::typeName() const 00221 { 00222 return "IndexedFaceSet"; 00223 } 00224 /*! 00225 * Returns the number of fields (exposed or not) for this node type. 00226 */ 00227 inline unsigned int 00228 wrl::IndexedFaceSet::nbFields() const 00229 { 00230 return 14; 00231 } 00232 /*! 00233 * Returns the number of events in for this node type. 00234 */ 00235 inline unsigned int 00236 wrl::IndexedFaceSet::nbEventsIn() const 00237 { 00238 return 4; 00239 } 00240 /*! 00241 * Returns the number of events out for this node type. 00242 */ 00243 inline unsigned int 00244 wrl::IndexedFaceSet::nbEventsOut() const 00245 { 00246 return 0; 00247 } 00248 #endif // XDKWRL_INDEXEDFACESET_H 00249 00250 // Local variables section. 00251 // This is only used by emacs! 00252 // Local Variables: 00253 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00254 // End:
Generated on 24 Feb 2005 with version 1.3.9.1. |