00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __H3DCOORDINATEDEFORMERNODE_H__
00030 #define __H3DCOORDINATEDEFORMERNODE_H__
00031
00032 #include "Node.h"
00033
00034 namespace H3D {
00035
00045 class H3DAPI_API H3DCoordinateDeformerNode : public Node {
00046 public:
00047
00049 H3DCoordinateDeformerNode() {}
00050
00072 virtual void deformPoints( const vector< bool > &is_touched,
00073 const vector< Vec3f > &touch_point,
00074 const vector< Vec3f > &touch_normal,
00075 const vector< Vec3f > &touch_force,
00076 const vector< Vec3f > &penetration_points,
00077 const vector< Vec3f > &orig_points,
00078 const vector< Vec3f > &resting_points,
00079 const vector< Vec3f > &deformed_points,
00080 vector< Vec3f > &new_resting_points,
00081 vector< Vec3f > &new_deformed_points ) = 0;
00082
00085 virtual string defaultXMLContainerField() {
00086 return "deformer";
00087 }
00088
00089 };
00090 }
00091
00092 #endif