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