XdkWrl: nurbstexturesurface.h Source File

Home | Hierarchy | Members | Alphabetical | Related Pages

# nurbstexturesurface.h

Go to the documentation of this file.

    00001 #ifndef XDKWRL_NURBSTEXTURESURFACE_H
    00002 #define XDKWRL_NURBSTEXTURESURFACE_H
    00003
    00004 #include <xdkwrl/node.h>
    00005 #include <xdkwrl/fieldtypes/mffloat.h>
    00006 #include <xdkwrl/fieldtypes/mfvec2f.h>
    00007 #include <xdkwrl/fieldtypes/sfint32.h>
    00008
    00009 namespace wrl
    00010 {
    00011   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00012   // Interface of NurbsTextureSurface
    00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    00014   class NurbsTextureSurface : public Node
    00015   {
    00016    public:
    00017      NurbsTextureSurface(const char* name="");
    00018      virtual ~NurbsTextureSurface();
    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 MFVec2f default value
    00042        */
    00043        MFVec2f    controlPoint;
    00044       /*!
    00045        * See <a href="#_details" class="md">Detailed Description</a>
    00046        * for meaning of this field.
    00047        * Default value is set to MFFloat default value
    00048        */
    00049        MFFloat    weight;
    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
    00061        \code
    00062        uDimension = 0;
    00063         \endcode
    00064        */
    00065        SFInt32    uDimension;
    00066       /*!
    00067        * See <a href="#_details" class="md">Detailed Description</a>
    00068        * for meaning of this field.
    00069        * Default value is set to MFFloat default value
    00070        */
    00071        MFFloat    uKnot;
    00072       /*!
    00073        * See <a href="#_details" class="md">Detailed Description</a>
    00074        * for meaning of this field.
    00075        * Default value is set to
    00076        \code
    00077        uOrder = 3;
    00078         \endcode
    00079        */
    00080        SFInt32    uOrder;
    00081       /*!
    00082        * See <a href="#_details" class="md">Detailed Description</a>
    00083        * for meaning of this field.
    00084        * Default value is set to
    00085        \code
    00086        vDimension = 0;
    00087         \endcode
    00088        */
    00089        SFInt32    vDimension;
    00090       /*!
    00091        * See <a href="#_details" class="md">Detailed Description</a>
    00092        * for meaning of this field.
    00093        * Default value is set to MFFloat default value
    00094        */
    00095        MFFloat    vKnot;
    00096       /*!
    00097        * See <a href="#_details" class="md">Detailed Description</a>
    00098        * for meaning of this field.
    00099        * Default value is set to
    00100        \code
    00101        vOrder = 3;
    00102         \endcode
    00103        */
    00104        SFInt32    vOrder;
    00105      //!@}
    00106      /*!@name Events In
    00107       *
    00108       */
    00109       //!@{
    00110       /*!
    00111        * Set event associated to exposedField controlPoint
    00112        */
    00113        EventIn<MFVec2f>    set_controlPoint;
    00114       /*!
    00115        * Set event associated to exposedField weight
    00116        */
    00117        EventIn<MFFloat>    set_weight;
    00118   //!@}
    00119      /*!@name Events Out
    00120       *
    00121       */
    00122       //!@{
    00123       /*!
    00124        * Changed event associated to exposedField controlPoint
    00125        */
    00126        EventOut<MFVec2f>    controlPoint_changed;
    00127       /*!
    00128        * Changed event associated to exposedField weight
    00129        */
    00130        EventOut<MFFloat>    weight_changed;
    00131   //!@}
    00132   };
    00133 };
    00134 //************************************************************
    00135 // Implementation of NurbsTextureSurface
    00136 //************************************************************
    00137 /*!
    00138  * Returns <code>"NurbsTextureSurface"</code>. Useful for printing.
    00139  */
    00140 inline const char*
    00141 wrl::NurbsTextureSurface::typeName() const
    00142 {
    00143   return "NurbsTextureSurface";
    00144 }
    00145 /*!
    00146  * Returns the number of fields (exposed or not) for this node type.
    00147  */
    00148 inline unsigned int
    00149 wrl::NurbsTextureSurface::nbFields() const
    00150 {
    00151    return 8;
    00152 }
    00153 /*!
    00154  * Returns the number of events in for this node type.
    00155  */
    00156 inline unsigned int
    00157 wrl::NurbsTextureSurface::nbEventsIn() const
    00158 {
    00159    return 0;
    00160 }
    00161 /*!
    00162  * Returns the number of events out for this node type.
    00163  */
    00164 inline unsigned int
    00165 wrl::NurbsTextureSurface::nbEventsOut() const
    00166 {
    00167    return 0;
    00168 }
    00169 #endif // XDKWRL_NURBSTEXTURESURFACE_H
    00170
    00171 // Local variables section.
    00172 // This is only used by emacs!
    00173 // Local Variables:
    00174 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
    00175 // End:

Generated on 28 Jun 2006 with version 1.4.4. |