Home Hierarchy Members Alphabetical Related Pages

text.h

Go to the documentation of this file.
00001 #ifndef XDKWRL_TEXT_H
00002 #define XDKWRL_TEXT_H
00003 
00004 #include <xdkwrl/config.h>
00005 #include <xdkwrl/node.h>
00006 #include <xdkwrl/fieldtypes/mffloat.h>
00007 #include <xdkwrl/fieldtypes/mfstring.h>
00008 #include <xdkwrl/fieldtypes/sffloat.h>
00009 #include <xdkwrl/fieldtypes/sfnode.h>
00010 
00011 namespace wrl
00012 {
00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00014   // Interface of Text
00015   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00016   class XDKWRL_EXPORT Text : public Node
00017   {
00018    public:
00019      Text(const char* name="");
00020      virtual ~Text();
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 MFString default value
00044        */
00045        MFString   string;
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     fontStyle;
00052       /*!
00053        * See <a href="#_details" class="md">Detailed Description</a>
00054        * for meaning of this field.
00055        * Default value is set to MFFloat default value
00056        */
00057        MFFloat    length;
00058       /*!
00059        * See <a href="#_details" class="md">Detailed Description</a>
00060        * for meaning of this field.
00061        * Default value is set to 
00062        \code
00063        maxExtent = 0.0f;
00064        \endcode
00065        */
00066        SFFloat    maxExtent;
00067      //!@}
00068      /*!@name Fields
00069       * A property or attribute of a node. Each node type has a fixed set
00070       * of fields. Fields may contain various kinds of data and one or many
00071       * values. Each field has a default value.
00072       */
00073       //!@{
00074      //!@}
00075      /*!@name Events In
00076       * 
00077       */
00078       //!@{
00079       /*!
00080        * Set event associated to exposedField string
00081        */
00082        EventIn<MFString>   set_string;
00083       /*!
00084        * Set event associated to exposedField fontStyle
00085        */
00086        EventIn<SFNode>     set_fontStyle;
00087       /*!
00088        * Set event associated to exposedField length
00089        */
00090        EventIn<MFFloat>    set_length;
00091       /*!
00092        * Set event associated to exposedField maxExtent
00093        */
00094        EventIn<SFFloat>    set_maxExtent;
00095   //!@}
00096      /*!@name Events Out
00097       * 
00098       */
00099       //!@{
00100       /*!
00101        * Changed event associated to exposedField string
00102        */
00103        EventOut<MFString>   string_changed;
00104       /*!
00105        * Changed event associated to exposedField fontStyle
00106        */
00107        EventOut<SFNode>     fontStyle_changed;
00108       /*!
00109        * Changed event associated to exposedField length
00110        */
00111        EventOut<MFFloat>    length_changed;
00112       /*!
00113        * Changed event associated to exposedField maxExtent
00114        */
00115        EventOut<SFFloat>    maxExtent_changed;
00116   //!@}
00117   };
00118 };
00119 //************************************************************
00120 // Implementation of Text
00121 //************************************************************
00122 /*!
00123  * Returns <code>"Text"</code>. Useful for printing.
00124  */
00125 inline const char*
00126 wrl::Text::typeName() const
00127 {
00128   return "Text";
00129 }
00130 /*!
00131  * Returns the number of fields (exposed or not) for this node type.
00132  */
00133 inline unsigned int
00134 wrl::Text::nbFields() const
00135 {
00136    return 4;
00137 }
00138 /*!
00139  * Returns the number of events in for this node type.
00140  */
00141 inline unsigned int
00142 wrl::Text::nbEventsIn() const
00143 {
00144    return 0;
00145 }
00146 /*!
00147  * Returns the number of events out for this node type.
00148  */
00149 inline unsigned int
00150 wrl::Text::nbEventsOut() const
00151 {
00152    return 0;
00153 }
00154 #endif // XDKWRL_TEXT_H
00155 
00156 // Local variables section.
00157 // This is only used by emacs!
00158 // Local Variables:
00159 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
00160 // End:

Generated on 5 Jan 2007 with doxygen version 1.5.1. Valid HTML 4.0! Valid CSS!