Home Hierarchy Members Alphabetical Related Pages

lod.h

Go to the documentation of this file.
00001 #ifndef XDKWRL_LOD_H
00002 #define XDKWRL_LOD_H
00003 
00004 #include <xdkwrl/node.h>
00005 #include <xdkwrl/fieldtypes/mffloat.h>
00006 #include <xdkwrl/fieldtypes/mfnode.h>
00007 #include <xdkwrl/fieldtypes/sfvec3f.h>
00008 
00009 namespace wrl
00010 {
00011   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00012   // Interface of LOD
00013   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00014   class LOD : public Node
00015   {
00016    public:
00017      LOD(const char* name="");
00018      virtual ~LOD();
00019      virtual inline unsigned int nbFields() const;
00020      virtual FieldHandle field(const std::string& n);
00021      virtual FieldHandle field(const unsigned int i);
00022      virtual bool isSetToDefaultValue(const unsigned int i) const;
00023      virtual inline unsigned int nbEventsIn() const;
00024      virtual EventInHandle eventIn(const std::string& n);
00025      virtual EventInHandle eventIn(const unsigned int i);
00026      virtual inline unsigned int nbEventsOut() const;
00027      virtual EventOutHandle eventOut(const std::string& n);
00028      virtual EventOutHandle eventOut(const 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 MFNode default value
00042        */
00043        MFNode     level;
00044      //!@}
00045      /*!@name Fields
00046       * A property or attribute of a node. Each node type has a fixed set
00047       * of fields. Fields may contain various kinds of data and one or many
00048       * values. Each field has a default value.
00049       */
00050       //!@{
00051       /*!
00052        * See <a href="#_details" class="md">Detailed Description</a>
00053        * for meaning of this field.
00054        * Default value is set to 
00055        \code
00056        center.setXYZ(0,0,0);
00057         \endcode
00058        */
00059        SFVec3f    center;
00060       /*!
00061        * See <a href="#_details" class="md">Detailed Description</a>
00062        * for meaning of this field.
00063        * Default value is set to MFFloat default value
00064        */
00065        MFFloat    range;
00066      //!@}
00067      /*!@name Events In
00068       * 
00069       */
00070       //!@{
00071       /*!
00072        * Set event associated to exposedField level
00073        */
00074        EventIn<MFNode>     set_level;
00075   //!@}
00076      /*!@name Events Out
00077       * 
00078       */
00079       //!@{
00080       /*!
00081        * Changed event associated to exposedField level
00082        */
00083        EventOut<MFNode>     level_changed;
00084   //!@}
00085   };
00086 };
00087 //************************************************************
00088 // Implementation of LOD
00089 //************************************************************
00090 /*!
00091  * Returns <code>"LOD"</code>. Useful for printing.
00092  */
00093 inline const char*
00094 wrl::LOD::typeName() const
00095 {
00096   return "LOD";
00097 }
00098 /*!
00099  * Returns the number of fields (exposed or not) for this node type.
00100  */
00101 inline unsigned int
00102 wrl::LOD::nbFields() const
00103 {
00104    return 3;
00105 }
00106 /*!
00107  * Returns the number of events in for this node type.
00108  */
00109 inline unsigned int
00110 wrl::LOD::nbEventsIn() const
00111 {
00112    return 0;
00113 }
00114 /*!
00115  * Returns the number of events out for this node type.
00116  */
00117 inline unsigned int
00118 wrl::LOD::nbEventsOut() const
00119 {
00120    return 0;
00121 }
00122 #endif // XDKWRL_LOD_H
00123 
00124 // Local variables section.
00125 // This is only used by emacs!
00126 // Local Variables:
00127 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
00128 // End:

Generated on 24 Feb 2005 with doxygen version 1.3.9.1. Valid HTML 4.0! Valid CSS!