Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_TEXTURETRANSFORM_H 00002 #define XDKWRL_TEXTURETRANSFORM_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/sffloat.h> 00006 #include <xdkwrl/fieldtypes/sfvec2f.h> 00007 00008 namespace wrl 00009 { 00010 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00011 // Interface of TextureTransform 00012 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00013 class TextureTransform : public Node 00014 { 00015 public: 00016 TextureTransform(const char* name=""); 00017 virtual ~TextureTransform(); 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 * See <a href="#_details" class="md">Detailed Description</a> 00039 * for meaning of this field. 00040 * Default value is set to 00041 \code 00042 center.setXY(0,0); 00043 \endcode 00044 */ 00045 SFVec2f center; 00046 /*! 00047 * See <a href="#_details" class="md">Detailed Description</a> 00048 * for meaning of this field. 00049 * Default value is set to 00050 \code 00051 rotation = 0; 00052 \endcode 00053 */ 00054 SFFloat rotation; 00055 /*! 00056 * See <a href="#_details" class="md">Detailed Description</a> 00057 * for meaning of this field. 00058 * Default value is set to 00059 \code 00060 scale.setXY(1,1); 00061 \endcode 00062 */ 00063 SFVec2f scale; 00064 /*! 00065 * See <a href="#_details" class="md">Detailed Description</a> 00066 * for meaning of this field. 00067 * Default value is set to 00068 \code 00069 translation.setXY(0,0); 00070 \endcode 00071 */ 00072 SFVec2f translation; 00073 //!@} 00074 /*!@name Fields 00075 * A property or attribute of a node. Each node type has a fixed set 00076 * of fields. Fields may contain various kinds of data and one or many 00077 * values. Each field has a default value. 00078 */ 00079 //!@{ 00080 //!@} 00081 /*!@name Events In 00082 * 00083 */ 00084 //!@{ 00085 /*! 00086 * Set event associated to exposedField center 00087 */ 00088 EventIn<SFVec2f> set_center; 00089 /*! 00090 * Set event associated to exposedField rotation 00091 */ 00092 EventIn<SFFloat> set_rotation; 00093 /*! 00094 * Set event associated to exposedField scale 00095 */ 00096 EventIn<SFVec2f> set_scale; 00097 /*! 00098 * Set event associated to exposedField translation 00099 */ 00100 EventIn<SFVec2f> set_translation; 00101 //!@} 00102 /*!@name Events Out 00103 * 00104 */ 00105 //!@{ 00106 /*! 00107 * Changed event associated to exposedField center 00108 */ 00109 EventOut<SFVec2f> center_changed; 00110 /*! 00111 * Changed event associated to exposedField rotation 00112 */ 00113 EventOut<SFFloat> rotation_changed; 00114 /*! 00115 * Changed event associated to exposedField scale 00116 */ 00117 EventOut<SFVec2f> scale_changed; 00118 /*! 00119 * Changed event associated to exposedField translation 00120 */ 00121 EventOut<SFVec2f> translation_changed; 00122 //!@} 00123 }; 00124 }; 00125 //************************************************************ 00126 // Implementation of TextureTransform 00127 //************************************************************ 00128 /*! 00129 * Returns <code>"TextureTransform"</code>. Useful for printing. 00130 */ 00131 inline const char* 00132 wrl::TextureTransform::typeName() const 00133 { 00134 return "TextureTransform"; 00135 } 00136 /*! 00137 * Returns the number of fields (exposed or not) for this node type. 00138 */ 00139 inline unsigned int 00140 wrl::TextureTransform::nbFields() const 00141 { 00142 return 4; 00143 } 00144 /*! 00145 * Returns the number of events in for this node type. 00146 */ 00147 inline unsigned int 00148 wrl::TextureTransform::nbEventsIn() const 00149 { 00150 return 0; 00151 } 00152 /*! 00153 * Returns the number of events out for this node type. 00154 */ 00155 inline unsigned int 00156 wrl::TextureTransform::nbEventsOut() const 00157 { 00158 return 0; 00159 } 00160 #endif // XDKWRL_TEXTURETRANSFORM_H 00161 00162 // Local variables section. 00163 // This is only used by emacs! 00164 // Local Variables: 00165 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00166 // End:
Generated on 28 Jun 2006 with
![]() |
|