Home Hierarchy Members Alphabetical Related Pages

indexedfaceset.h

Go to the documentation of this file.
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 doxygen version 1.3.9.1. Valid HTML 4.0! Valid CSS!