XdkWrl: indexedfaceset.h Source File

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(unsigned int i);
    00023      virtual bool isSetToDefaultValue(unsigned int i) const;
    00024      virtual inline unsigned int nbEventsIn() const;
    00025      virtual EventInHandle eventIn(const std::string& n);
    00026      virtual EventInHandle eventIn(unsigned int i);
    00027      virtual inline unsigned int nbEventsOut() const;
    00028      virtual EventOutHandle eventOut(const std::string& n);
    00029      virtual EventOutHandle eventOut(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 28 Jun 2006 with version 1.4.4. |