Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

CoordinateDeformer.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            CoordinateDeformer.h                            //
00023 
00024 #ifndef COORDINATEDEFORMER
00025 #define COORDINATEDEFORMER
00026 
00027 #include "X3DTypes.h"
00028 #include "X3DGroupingNode.h"
00029 #include "X3DBoundedObject.h"
00030 
00031 namespace X3DTK {
00032 namespace X3D {
00033 
00038 
00039 class CoordinateDeformer : public X3DGroupingNode, public X3DBoundedObject
00040 {
00041 public:
00043   CoordinateDeformer();
00045   CoordinateDeformer(const MFVec3f &controlPoint,
00046                      const MFNode  &inputCoord,
00047                      const MFNode  &inputTransform,
00048                      const MFNode  &outputCoord,
00049                      const MFFloat &weight);
00051   virtual SFNode clone() const;
00053   virtual ~CoordinateDeformer();
00054 
00056   virtual bool addChild(const SFAbstractNode &N);
00058   virtual bool setChild(const SFAbstractNode &N);
00059   
00061   void setControlPoint(const MFVec3f &controlPoint);
00063   void setInputCoord(const MFNode &inputCoord);
00065   void setInputTransform(const MFNode &inputTransform);
00067   void setOutputCoord(const MFNode &outputCoord);
00069   void setWeight(const MFFloat &weight);
00070   
00072   inline const MFVec3f &getControlPoint() const {return _controlPoint;};
00074   inline const MFNode &getInputCoord() const {return _inputCoord;};
00076   inline const MFNode &getInputTransform() const {return _inputTransform;};
00078   inline const MFNode &getOutputCoord() const {return _outputCoord;};
00080   inline const MFFloat &getWeight() const {return _weight;};
00081   
00083   virtual void load(const X3DFileElement *element);
00085   virtual SFString write() const;
00086 
00087 protected:
00089   CoordinateDeformer(const CoordinateDeformer &N);
00090 
00091 private:
00093   MFVec3f _controlPoint;
00095   MFNode _inputCoord;
00097   MFNode _inputTransform;
00099   MFNode _outputCoord;
00101   MFFloat _weight;
00103   SFInt32 _uDimension;
00105   MFDouble _uKnot;
00107   SFInt32 _uOrder;
00109   SFInt32 _vDimension;
00111   MFDouble _vKnot;
00113   SFInt32 _vOrder;
00115   SFInt32 _wDimension;
00117   MFDouble _wKnot;
00119   SFInt32 _wOrder;
00120 };
00121 
00122 }
00123 }
00124 
00125 #endif

Generated on Wed Sep 10 11:25:12 2003 for X3DToolKit by doxygen1.3