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

X3D_CoordinateDeformer.h

Go to the documentation of this file.
00001 
00002 //                            X3D_CoordinateDeformer.h                        //
00004 
00005 #ifndef COORDINATEDEFORMER
00006 #define COORDINATEDEFORMER
00007 
00008 #include "X3DTypes.h"
00009 #include "X3D_X3DGroupingNode.h"
00010 #include "X3D_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 SFAbstractNode clone() const;
00034   virtual ~CoordinateDeformer();
00035   
00037   virtual MFAbstractNode getChildrenList() const;
00038       
00040   virtual bool addChild(const SFAbstractNode &N);
00042   virtual bool setChild(const SFAbstractNode &N);
00043   
00045   void setControlPoint(const MFVec3f &controlPoint);
00047   void setInputCoord(const MFNode &inputCoord);
00049   void setInputTransform(const MFNode &inputTransform);
00051   void setOutputCoord(const MFNode &outputCoord);
00053   void setWeight(const MFFloat &weight);
00054   
00056   inline const MFVec3f &getControlPoint() const {return _controlPoint;};
00058   inline const MFNode &getInputCoord() const {return _inputCoord;};
00060   inline const MFNode &getInputTransform() const {return _inputTransform;};
00062   inline const MFNode &getOutputCoord() const {return _outputCoord;};
00064   inline const MFFloat &getWeight() const {return _weight;};
00065   
00067   virtual void load(const X3DFileElement *element);
00069   virtual SFString &write(SFString &output) const;
00070 
00071 protected:
00073   CoordinateDeformer(const CoordinateDeformer &N);
00074 
00075 private:
00077   MFVec3f _controlPoint;
00079   MFNode _inputCoord;
00081   MFNode _inputTransform;
00083   MFNode _outputCoord;
00085   MFFloat _weight;
00087   SFInt32 _uDimension;
00089   MFDouble _uKnot;
00091   SFInt32 _uOrder;
00093   SFInt32 _vDimension;
00095   MFDouble _vKnot;
00097   SFInt32 _vOrder;
00099   SFInt32 _wDimension;
00101   MFDouble _wKnot;
00103   SFInt32 _wOrder;
00104 };
00105 
00106 }
00107 }
00108 
00109 #endif

Generated on Thu Dec 4 13:25:47 2003 for X3DToolKit by doxygen1.2.18