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 //                            CoordinateDeformer.h                            //
00004 
00005 #ifndef COORDINATEDEFORMER
00006 #define COORDINATEDEFORMER
00007 
00008 #include "X3DTypes.h"
00009 #include "X3DGroupingNode.h"
00010 #include "X3DBoundedObject.h"
00011 
00012 namespace X3DTK {
00013 namespace X3D {
00014 
00019 
00020 class CoordinateDeformer : public X3DGroupingNode, public X3DBoundedObject
00021 {
00022 public:
00024   CoordinateDeformer();
00026   CoordinateDeformer(const MFVec3f &controlPoint,
00027                      const MFNode  &inputCoord,
00028                      const MFNode  &inputTransform,
00029                      const MFNode  &outputCoord,
00030                      const MFFloat &weight);
00032   virtual SFNode clone() const;
00034   virtual ~CoordinateDeformer();
00035 
00037   virtual bool addChild(const SFAbstractNode &N);
00039   virtual bool setChild(const SFAbstractNode &N);
00040   
00042   void setControlPoint(const MFVec3f &controlPoint);
00044   void setInputCoord(const MFNode &inputCoord);
00046   void setInputTransform(const MFNode &inputTransform);
00048   void setOutputCoord(const MFNode &outputCoord);
00050   void setWeight(const MFFloat &weight);
00051   
00053   inline const MFVec3f &getControlPoint() const {return _controlPoint;};
00055   inline const MFNode &getInputCoord() const {return _inputCoord;};
00057   inline const MFNode &getInputTransform() const {return _inputTransform;};
00059   inline const MFNode &getOutputCoord() const {return _outputCoord;};
00061   inline const MFFloat &getWeight() const {return _weight;};
00062   
00064   virtual void load(const X3DFileElement *element);
00066   virtual SFString write() const;
00067 
00068 protected:
00070   CoordinateDeformer(const CoordinateDeformer &N);
00071 
00072 private:
00074   MFVec3f _controlPoint;
00076   MFNode _inputCoord;
00078   MFNode _inputTransform;
00080   MFNode _outputCoord;
00082   MFFloat _weight;
00084   SFInt32 _uDimension;
00086   MFDouble _uKnot;
00088   SFInt32 _uOrder;
00090   SFInt32 _vDimension;
00092   MFDouble _vKnot;
00094   SFInt32 _vOrder;
00096   SFInt32 _wDimension;
00098   MFDouble _wKnot;
00100   SFInt32 _wOrder;
00101 };
00102 
00103 }
00104 }
00105 
00106 #endif

Generated on Thu Oct 9 13:50:52 2003 for X3DToolKit by doxygen1.2.18