Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_INLINELOADCONTROL_H 00002 #define XDKWRL_INLINELOADCONTROL_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mfnode.h> 00006 #include <xdkwrl/fieldtypes/mfstring.h> 00007 #include <xdkwrl/fieldtypes/sfbool.h> 00008 #include <xdkwrl/fieldtypes/sfvec3f.h> 00009 00010 namespace wrl 00011 { 00012 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00013 // Interface of InlineLoadControl 00014 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00015 class InlineLoadControl : public Node 00016 { 00017 public: 00018 InlineLoadControl(const char* name=""); 00019 virtual ~InlineLoadControl(); 00020 virtual inline unsigned int nbFields() const; 00021 virtual FieldHandle field(const std::string& n); 00022 virtual FieldHandle field(unsigned int i); 00023 virtual bool isSetToDefaultValue(unsigned int i) const; 00024 virtual inline unsigned int nbEventsIn() const; 00025 virtual EventInHandle eventIn(const std::string& n); 00026 virtual EventInHandle eventIn(unsigned int i); 00027 virtual inline unsigned int nbEventsOut() const; 00028 virtual EventOutHandle eventOut(const std::string& n); 00029 virtual EventOutHandle eventOut(unsigned int i); 00030 inline const char* typeName() const; 00031 virtual Node* duplicate() const; 00032 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00033 /*!@name Exposed Fields 00034 * A field that is capable of receiving events via an eventIn to 00035 * change its value(s), and generating events via an eventOut 00036 * when its value(s) change. 00037 */ 00038 //!@{ 00039 /*! 00040 * See <a href="#_details" class="md">Detailed Description</a> 00041 * for meaning of this field. 00042 * Default value is set to 00043 \code 00044 load = true; 00045 \endcode 00046 */ 00047 SFBool load; 00048 /*! 00049 * See <a href="#_details" class="md">Detailed Description</a> 00050 * for meaning of this field. 00051 * Default value is set to MFString default value 00052 */ 00053 MFString url; 00054 //!@} 00055 /*!@name Fields 00056 * A property or attribute of a node. Each node type has a fixed set 00057 * of fields. Fields may contain various kinds of data and one or many 00058 * values. Each field has a default value. 00059 */ 00060 //!@{ 00061 /*! 00062 * See <a href="#_details" class="md">Detailed Description</a> 00063 * for meaning of this field. 00064 * Default value is set to 00065 \code 00066 bboxCenter.setXYZ(0,0,0); 00067 \endcode 00068 */ 00069 SFVec3f bboxCenter; 00070 /*! 00071 * See <a href="#_details" class="md">Detailed Description</a> 00072 * for meaning of this field. 00073 * Default value is set to 00074 \code 00075 bboxSize.setXYZ(-1,-1,-1); 00076 \endcode 00077 */ 00078 SFVec3f bboxSize; 00079 //!@} 00080 /*!@name Events In 00081 * 00082 */ 00083 //!@{ 00084 /*! 00085 * Set event associated to exposedField load 00086 */ 00087 EventIn<SFBool> set_load; 00088 /*! 00089 * Set event associated to exposedField url 00090 */ 00091 EventIn<MFString> set_url; 00092 //!@} 00093 /*!@name Events Out 00094 * 00095 */ 00096 //!@{ 00097 /*! 00098 * See <a href="#_details" class="md">Detailed Description</a> 00099 * for meaning of this event. 00100 */ 00101 EventOut<MFNode> children; 00102 /*! 00103 * Changed event associated to exposedField load 00104 */ 00105 EventOut<SFBool> load_changed; 00106 /*! 00107 * Changed event associated to exposedField url 00108 */ 00109 EventOut<MFString> url_changed; 00110 //!@} 00111 }; 00112 }; 00113 //************************************************************ 00114 // Implementation of InlineLoadControl 00115 //************************************************************ 00116 /*! 00117 * Returns <code>"InlineLoadControl"</code>. Useful for printing. 00118 */ 00119 inline const char* 00120 wrl::InlineLoadControl::typeName() const 00121 { 00122 return "InlineLoadControl"; 00123 } 00124 /*! 00125 * Returns the number of fields (exposed or not) for this node type. 00126 */ 00127 inline unsigned int 00128 wrl::InlineLoadControl::nbFields() const 00129 { 00130 return 4; 00131 } 00132 /*! 00133 * Returns the number of events in for this node type. 00134 */ 00135 inline unsigned int 00136 wrl::InlineLoadControl::nbEventsIn() const 00137 { 00138 return 0; 00139 } 00140 /*! 00141 * Returns the number of events out for this node type. 00142 */ 00143 inline unsigned int 00144 wrl::InlineLoadControl::nbEventsOut() const 00145 { 00146 return 1; 00147 } 00148 #endif // XDKWRL_INLINELOADCONTROL_H 00149 00150 // Local variables section. 00151 // This is only used by emacs! 00152 // Local Variables: 00153 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00154 // End:
Generated on 28 Jun 2006 with
![]() |
|