Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_COORDINATEDEFORMER_H 00002 #define XDKWRL_COORDINATEDEFORMER_H 00003 00004 #include <xdkwrl/config.h> 00005 #include <xdkwrl/node.h> 00006 #include <xdkwrl/fieldtypes/mffloat.h> 00007 #include <xdkwrl/fieldtypes/mfnode.h> 00008 #include <xdkwrl/fieldtypes/mfvec3f.h> 00009 #include <xdkwrl/fieldtypes/sfint32.h> 00010 #include <xdkwrl/fieldtypes/sfvec3f.h> 00011 00012 namespace wrl 00013 { 00014 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00015 // Interface of CoordinateDeformer 00016 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00017 class XDKWRL_EXPORT CoordinateDeformer : public Node 00018 { 00019 public: 00020 CoordinateDeformer(const char* name=""); 00021 virtual ~CoordinateDeformer(); 00022 virtual inline unsigned int nbFields() const; 00023 virtual FieldHandle field(const std::string& n); 00024 virtual FieldHandle field(unsigned int i); 00025 virtual bool isSetToDefaultValue(unsigned int i) const; 00026 virtual inline unsigned int nbEventsIn() const; 00027 virtual EventInHandle eventIn(const std::string& n); 00028 virtual EventInHandle eventIn(unsigned int i); 00029 virtual inline unsigned int nbEventsOut() const; 00030 virtual EventOutHandle eventOut(const std::string& n); 00031 virtual EventOutHandle eventOut(unsigned int i); 00032 inline const char* typeName() const; 00033 virtual Node* duplicate() const; 00034 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00035 /*!@name Exposed Fields 00036 * A field that is capable of receiving events via an eventIn to 00037 * change its value(s), and generating events via an eventOut 00038 * when its value(s) change. 00039 */ 00040 //!@{ 00041 /*! 00042 * See <a href="#_details" class="md">Detailed Description</a> 00043 * for meaning of this field. 00044 * Default value is set to MFNode default value 00045 */ 00046 MFNode children; 00047 /*! 00048 * See <a href="#_details" class="md">Detailed Description</a> 00049 * for meaning of this field. 00050 * Default value is set to MFVec3f default value 00051 */ 00052 MFVec3f controlPoint; 00053 /*! 00054 * See <a href="#_details" class="md">Detailed Description</a> 00055 * for meaning of this field. 00056 * Default value is set to MFNode default value 00057 */ 00058 MFNode inputCoord; 00059 /*! 00060 * See <a href="#_details" class="md">Detailed Description</a> 00061 * for meaning of this field. 00062 * Default value is set to MFNode default value 00063 */ 00064 MFNode inputTransform; 00065 /*! 00066 * See <a href="#_details" class="md">Detailed Description</a> 00067 * for meaning of this field. 00068 * Default value is set to MFNode default value 00069 */ 00070 MFNode outputCoord; 00071 /*! 00072 * See <a href="#_details" class="md">Detailed Description</a> 00073 * for meaning of this field. 00074 * Default value is set to MFFloat default value 00075 */ 00076 MFFloat weight; 00077 //!@} 00078 /*!@name Fields 00079 * A property or attribute of a node. Each node type has a fixed set 00080 * of fields. Fields may contain various kinds of data and one or many 00081 * values. Each field has a default value. 00082 */ 00083 //!@{ 00084 /*! 00085 * See <a href="#_details" class="md">Detailed Description</a> 00086 * for meaning of this field. 00087 * Default value is set to 00088 \code 00089 bboxCenter.setXYZ(0,0,0); 00090 \endcode 00091 */ 00092 SFVec3f bboxCenter; 00093 /*! 00094 * See <a href="#_details" class="md">Detailed Description</a> 00095 * for meaning of this field. 00096 * Default value is set to 00097 \code 00098 bboxSize.setXYZ(-1,-1,-1); 00099 \endcode 00100 */ 00101 SFVec3f bboxSize; 00102 /*! 00103 * See <a href="#_details" class="md">Detailed Description</a> 00104 * for meaning of this field. 00105 * Default value is set to 00106 \code 00107 uDimension = 0; 00108 \endcode 00109 */ 00110 SFInt32 uDimension; 00111 /*! 00112 * See <a href="#_details" class="md">Detailed Description</a> 00113 * for meaning of this field. 00114 * Default value is set to MFFloat default value 00115 */ 00116 MFFloat uKnot; 00117 /*! 00118 * See <a href="#_details" class="md">Detailed Description</a> 00119 * for meaning of this field. 00120 * Default value is set to 00121 \code 00122 uOrder = 2; 00123 \endcode 00124 */ 00125 SFInt32 uOrder; 00126 /*! 00127 * See <a href="#_details" class="md">Detailed Description</a> 00128 * for meaning of this field. 00129 * Default value is set to 00130 \code 00131 vDimension = 0; 00132 \endcode 00133 */ 00134 SFInt32 vDimension; 00135 /*! 00136 * See <a href="#_details" class="md">Detailed Description</a> 00137 * for meaning of this field. 00138 * Default value is set to MFFloat default value 00139 */ 00140 MFFloat vKnot; 00141 /*! 00142 * See <a href="#_details" class="md">Detailed Description</a> 00143 * for meaning of this field. 00144 * Default value is set to 00145 \code 00146 vOrder = 2; 00147 \endcode 00148 */ 00149 SFInt32 vOrder; 00150 /*! 00151 * See <a href="#_details" class="md">Detailed Description</a> 00152 * for meaning of this field. 00153 * Default value is set to 00154 \code 00155 wDimension = 0; 00156 \endcode 00157 */ 00158 SFInt32 wDimension; 00159 /*! 00160 * See <a href="#_details" class="md">Detailed Description</a> 00161 * for meaning of this field. 00162 * Default value is set to MFFloat default value 00163 */ 00164 MFFloat wKnot; 00165 /*! 00166 * See <a href="#_details" class="md">Detailed Description</a> 00167 * for meaning of this field. 00168 * Default value is set to 00169 \code 00170 wOrder = 2; 00171 \endcode 00172 */ 00173 SFInt32 wOrder; 00174 //!@} 00175 /*!@name Events In 00176 * 00177 */ 00178 //!@{ 00179 /*! 00180 * See <a href="#_details" class="md">Detailed Description</a> 00181 * for meaning of this event. 00182 */ 00183 EventIn<MFNode> addChildren; 00184 /*! 00185 * See <a href="#_details" class="md">Detailed Description</a> 00186 * for meaning of this event. 00187 */ 00188 EventIn<MFNode> removeChildren; 00189 /*! 00190 * Set event associated to exposedField children 00191 */ 00192 EventIn<MFNode> set_children; 00193 /*! 00194 * Set event associated to exposedField controlPoint 00195 */ 00196 EventIn<MFVec3f> set_controlPoint; 00197 /*! 00198 * Set event associated to exposedField inputCoord 00199 */ 00200 EventIn<MFNode> set_inputCoord; 00201 /*! 00202 * Set event associated to exposedField inputTransform 00203 */ 00204 EventIn<MFNode> set_inputTransform; 00205 /*! 00206 * Set event associated to exposedField outputCoord 00207 */ 00208 EventIn<MFNode> set_outputCoord; 00209 /*! 00210 * Set event associated to exposedField weight 00211 */ 00212 EventIn<MFFloat> set_weight; 00213 //!@} 00214 /*!@name Events Out 00215 * 00216 */ 00217 //!@{ 00218 /*! 00219 * Changed event associated to exposedField children 00220 */ 00221 EventOut<MFNode> children_changed; 00222 /*! 00223 * Changed event associated to exposedField controlPoint 00224 */ 00225 EventOut<MFVec3f> controlPoint_changed; 00226 /*! 00227 * Changed event associated to exposedField inputCoord 00228 */ 00229 EventOut<MFNode> inputCoord_changed; 00230 /*! 00231 * Changed event associated to exposedField inputTransform 00232 */ 00233 EventOut<MFNode> inputTransform_changed; 00234 /*! 00235 * Changed event associated to exposedField outputCoord 00236 */ 00237 EventOut<MFNode> outputCoord_changed; 00238 /*! 00239 * Changed event associated to exposedField weight 00240 */ 00241 EventOut<MFFloat> weight_changed; 00242 //!@} 00243 }; 00244 }; 00245 //************************************************************ 00246 // Implementation of CoordinateDeformer 00247 //************************************************************ 00248 /*! 00249 * Returns <code>"CoordinateDeformer"</code>. Useful for printing. 00250 */ 00251 inline const char* 00252 wrl::CoordinateDeformer::typeName() const 00253 { 00254 return "CoordinateDeformer"; 00255 } 00256 /*! 00257 * Returns the number of fields (exposed or not) for this node type. 00258 */ 00259 inline unsigned int 00260 wrl::CoordinateDeformer::nbFields() const 00261 { 00262 return 17; 00263 } 00264 /*! 00265 * Returns the number of events in for this node type. 00266 */ 00267 inline unsigned int 00268 wrl::CoordinateDeformer::nbEventsIn() const 00269 { 00270 return 2; 00271 } 00272 /*! 00273 * Returns the number of events out for this node type. 00274 */ 00275 inline unsigned int 00276 wrl::CoordinateDeformer::nbEventsOut() const 00277 { 00278 return 0; 00279 } 00280 #endif // XDKWRL_COORDINATEDEFORMER_H 00281 00282 // Local variables section. 00283 // This is only used by emacs! 00284 // Local Variables: 00285 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00286 // End:
Generated on 5 Jan 2007 with
![]() |
|