Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_APPEARANCE_H 00002 #define XDKWRL_APPEARANCE_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/sfnode.h> 00006 00007 namespace wrl 00008 { 00009 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00010 // Interface of Appearance 00011 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00012 class Appearance : public Node 00013 { 00014 public: 00015 Appearance(const char* name=""); 00016 virtual ~Appearance(); 00017 virtual inline unsigned int nbFields() const; 00018 virtual FieldHandle field(const std::string& n); 00019 virtual FieldHandle field(unsigned int i); 00020 virtual bool isSetToDefaultValue(unsigned int i) const; 00021 virtual inline unsigned int nbEventsIn() const; 00022 virtual EventInHandle eventIn(const std::string& n); 00023 virtual EventInHandle eventIn(unsigned int i); 00024 virtual inline unsigned int nbEventsOut() const; 00025 virtual EventOutHandle eventOut(const std::string& n); 00026 virtual EventOutHandle eventOut(unsigned int i); 00027 inline const char* typeName() const; 00028 virtual Node* duplicate() const; 00029 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00030 /*!@name Exposed Fields 00031 * A field that is capable of receiving events via an eventIn to 00032 * change its value(s), and generating events via an eventOut 00033 * when its value(s) change. 00034 */ 00035 //!@{ 00036 /*! 00037 * See <a href="#_details" class="md">Detailed Description</a> 00038 * for meaning of this field. 00039 * Default value is set to SFNode default value 00040 */ 00041 SFNode material; 00042 /*! 00043 * See <a href="#_details" class="md">Detailed Description</a> 00044 * for meaning of this field. 00045 * Default value is set to SFNode default value 00046 */ 00047 SFNode texture; 00048 /*! 00049 * See <a href="#_details" class="md">Detailed Description</a> 00050 * for meaning of this field. 00051 * Default value is set to SFNode default value 00052 */ 00053 SFNode textureTransform; 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 /*!@name Events In 00063 * 00064 */ 00065 //!@{ 00066 /*! 00067 * Set event associated to exposedField material 00068 */ 00069 EventIn<SFNode> set_material; 00070 /*! 00071 * Set event associated to exposedField texture 00072 */ 00073 EventIn<SFNode> set_texture; 00074 /*! 00075 * Set event associated to exposedField textureTransform 00076 */ 00077 EventIn<SFNode> set_textureTransform; 00078 //!@} 00079 /*!@name Events Out 00080 * 00081 */ 00082 //!@{ 00083 /*! 00084 * Changed event associated to exposedField material 00085 */ 00086 EventOut<SFNode> material_changed; 00087 /*! 00088 * Changed event associated to exposedField texture 00089 */ 00090 EventOut<SFNode> texture_changed; 00091 /*! 00092 * Changed event associated to exposedField textureTransform 00093 */ 00094 EventOut<SFNode> textureTransform_changed; 00095 //!@} 00096 }; 00097 }; 00098 //************************************************************ 00099 // Implementation of Appearance 00100 //************************************************************ 00101 /*! 00102 * Returns <code>"Appearance"</code>. Useful for printing. 00103 */ 00104 inline const char* 00105 wrl::Appearance::typeName() const 00106 { 00107 return "Appearance"; 00108 } 00109 /*! 00110 * Returns the number of fields (exposed or not) for this node type. 00111 */ 00112 inline unsigned int 00113 wrl::Appearance::nbFields() const 00114 { 00115 return 3; 00116 } 00117 /*! 00118 * Returns the number of events in for this node type. 00119 */ 00120 inline unsigned int 00121 wrl::Appearance::nbEventsIn() const 00122 { 00123 return 0; 00124 } 00125 /*! 00126 * Returns the number of events out for this node type. 00127 */ 00128 inline unsigned int 00129 wrl::Appearance::nbEventsOut() const 00130 { 00131 return 0; 00132 } 00133 #endif // XDKWRL_APPEARANCE_H 00134 00135 // Local variables section. 00136 // This is only used by emacs! 00137 // Local Variables: 00138 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00139 // End:
Generated on 28 Jun 2006 with
![]() |
|