X3D_CoordinateDeformer.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_COORDINATEDEFORMER
00002 #define X3DTK_X3D_COORDINATEDEFORMER
00003 
00004 #include "X3DTypes.h"
00005 #include "X3D_X3DGroupingNode.h"
00006 #include "X3D_X3DBoundedObject.h"
00007 
00008 namespace X3DTK {
00009 namespace X3D {
00010 
00019 class CoordinateDeformer : public X3DGroupingNode, public X3DBoundedObject
00020 {
00021 public:
00023   CoordinateDeformer();
00025   CoordinateDeformer(const MFVec3f &controlPoint,
00026                      const MFNode  &inputCoord,
00027                      const MFNode  &inputTransform,
00028                      const MFNode  &outputCoord,
00029                      const MFFloat &weight);
00031   virtual SFNode clone() const;
00033   virtual ~CoordinateDeformer();
00034   
00036   virtual MFNode getChildList() const;
00037       
00039   virtual bool addChild(const SFNode &N);
00041   virtual bool setChild(const SFNode &N);
00042   
00044   void setControlPoint(const MFVec3f &controlPoint);
00046   void setInputCoord(const MFNode &inputCoord);
00048   void setInputTransform(const MFNode &inputTransform);
00050   void setOutputCoord(const MFNode &outputCoord);
00052   void setWeight(const MFFloat &weight);
00053   
00055   inline const MFVec3f &getControlPoint() const {return _controlPoint;};
00057   inline const MFNode &getInputCoord() const {return _inputCoord;};
00059   inline const MFNode &getInputTransform() const {return _inputTransform;};
00061   inline const MFNode &getOutputCoord() const {return _outputCoord;};
00063   inline const MFFloat &getWeight() const {return _weight;};
00064   
00066   virtual void load(const X3DFileElement *element);
00068   virtual SFString &write(SFString &output) const;
00069 
00070 protected:
00072   CoordinateDeformer(const CoordinateDeformer &N);
00073 
00074 private:
00076   MFVec3f _controlPoint;
00078   MFNode _inputCoord;
00080   MFNode _inputTransform;
00082   MFNode _outputCoord;
00084   MFFloat _weight;
00086   SFInt32 _uDimension;
00088   MFDouble _uKnot;
00090   SFInt32 _uOrder;
00092   SFInt32 _vDimension;
00094   MFDouble _vKnot;
00096   SFInt32 _vOrder;
00098   SFInt32 _wDimension;
00100   MFDouble _wKnot;
00102   SFInt32 _wOrder;
00103 };
00104 
00105 }
00106 }
00107 
00108 #endif

Generated on Fri Jul 30 12:02:29 2004 for X3DToolKit by doxygen 1.3.6