Home Hierarchy Members Alphabetical Related Pages

box.h

Go to the documentation of this file.
00001 #ifndef XDKWRL_BOX_H
00002 #define XDKWRL_BOX_H
00003 
00004 #include <xdkwrl/config.h>
00005 #include <xdkwrl/node.h>
00006 #include <xdkwrl/fieldtypes/sfvec3f.h>
00007 
00008 namespace wrl
00009 {
00010   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00011   // Interface of Box
00012   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00013   class XDKWRL_EXPORT Box : public Node
00014   {
00015    public:
00016      Box(const char* name="");
00017      virtual ~Box();
00018      virtual inline unsigned int nbFields() const;
00019      virtual FieldHandle field(const std::string& n);
00020      virtual FieldHandle field(unsigned int i);
00021      virtual bool isSetToDefaultValue(unsigned int i) const;
00022      virtual inline unsigned int nbEventsIn() const;
00023      virtual EventInHandle eventIn(const std::string& n);
00024      virtual EventInHandle eventIn(unsigned int i);
00025      virtual inline unsigned int nbEventsOut() const;
00026      virtual EventOutHandle eventOut(const std::string& n);
00027      virtual EventOutHandle eventOut(unsigned int i);
00028      inline const char* typeName() const;
00029      virtual Node* duplicate() const;
00030      virtual Node* duplicate(std::map<const Node*,Node*>&) const;
00031      /*!@name Exposed Fields
00032       * A field that is capable of receiving events via an eventIn to 
00033       * change its value(s), and generating events via an eventOut 
00034       * when its value(s) change.
00035       */
00036       //!@{
00037      //!@}
00038      /*!@name Fields
00039       * A property or attribute of a node. Each node type has a fixed set
00040       * of fields. Fields may contain various kinds of data and one or many
00041       * values. Each field has a default value.
00042       */
00043       //!@{
00044       /*!
00045        * See <a href="#_details" class="md">Detailed Description</a>
00046        * for meaning of this field.
00047        * Default value is set to 
00048        \code
00049        size.setXYZ(2,2,2);
00050         \endcode
00051        */
00052        SFVec3f    size;
00053      //!@}
00054      /*!@name Events In
00055       * 
00056       */
00057       //!@{
00058   //!@}
00059      /*!@name Events Out
00060       * 
00061       */
00062       //!@{
00063   //!@}
00064   };
00065 };
00066 //************************************************************
00067 // Implementation of Box
00068 //************************************************************
00069 /*!
00070  * Returns <code>"Box"</code>. Useful for printing.
00071  */
00072 inline const char*
00073 wrl::Box::typeName() const
00074 {
00075   return "Box";
00076 }
00077 /*!
00078  * Returns the number of fields (exposed or not) for this node type.
00079  */
00080 inline unsigned int
00081 wrl::Box::nbFields() const
00082 {
00083    return 1;
00084 }
00085 /*!
00086  * Returns the number of events in for this node type.
00087  */
00088 inline unsigned int
00089 wrl::Box::nbEventsIn() const
00090 {
00091    return 0;
00092 }
00093 /*!
00094  * Returns the number of events out for this node type.
00095  */
00096 inline unsigned int
00097 wrl::Box::nbEventsOut() const
00098 {
00099    return 0;
00100 }
00101 #endif // XDKWRL_BOX_H
00102 
00103 // Local variables section.
00104 // This is only used by emacs!
00105 // Local Variables:
00106 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes")
00107 // End:

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