XdkWrl: indexedlineset.h Source File

Home | Hierarchy | Members | Alphabetical | Related Pages

# indexedlineset.h

Go to the documentation of this file.

    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 version 1.4.4. |