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