H3D::H3DCoordinateDeformerNode Class Reference
[Scene-graph nodes.]

The H3DCoordinateDeformerNode is the abstract base class for all nodes specifying deformation of coordinates based on contact of haptics devices. More...

#include <H3DCoordinateDeformerNode.h>

Inheritance diagram for H3D::H3DCoordinateDeformerNode:

Inheritance graph
List of all members.

Public Member Functions

 H3DCoordinateDeformerNode ()
 Constructor.
virtual void deformPoints (const vector< bool > &is_touched, const vector< Vec3f > &touch_point, const vector< Vec3f > &touch_normal, const vector< Vec3f > &touch_force, const vector< Vec3f > &penetration_points, const vector< Vec3f > &orig_points, const vector< Vec3f > &resting_points, const vector< Vec3f > &deformed_points, vector< Vec3f > &new_resting_points, vector< Vec3f > &new_deformed_points)=0
 The deformPoints method determines the deformation of coordinates based on the interaction of a haptics device.
virtual string defaultXMLContainerField ()
 Returns the default xml containerField attribute value.

Detailed Description

The H3DCoordinateDeformerNode is the abstract base class for all nodes specifying deformation of coordinates based on contact of haptics devices.

All subclasses are required to implement the deformPoints method to specify how the coordinates should be deformed.

For usages of the node type, see DeformableShape.


Member Function Documentation

virtual string H3D::H3DCoordinateDeformerNode::defaultXMLContainerField  )  [inline, virtual]
 

Returns the default xml containerField attribute value.

For this node it is "deformer".

Reimplemented from H3D::Node.

virtual void H3D::H3DCoordinateDeformerNode::deformPoints const vector< bool > &  is_touched,
const vector< Vec3f > &  touch_point,
const vector< Vec3f > &  touch_normal,
const vector< Vec3f > &  touch_force,
const vector< Vec3f > &  penetration_points,
const vector< Vec3f > &  orig_points,
const vector< Vec3f > &  resting_points,
const vector< Vec3f > &  deformed_points,
vector< Vec3f > &  new_resting_points,
vector< Vec3f > &  new_deformed_points
[pure virtual]
 

The deformPoints method determines the deformation of coordinates based on the interaction of a haptics device.

The is_touched, touch_points, touch_normal and touch_force parameters all are vectors of the same size, where the first value in the vector is the value for haptics device 0, the second for haptics device 1, and so on.

Parameters:
is_touched Specifies if a haptics device is in contact or not.
touch_point The contact point in local coordinates for each device.
touch_normal The normal at the contact point for each device.
touch_force The force with which the surface is pressed for each device.
penetration_points The weightedProxyPosition of each device.
orig_points The original points before any deformation.
resting_points The resting coordinates (see DeformableShape)
deformed_points The deformed coordinates (see DeformableShape)
new_resting_points Output parameter that specifies the new resting coordinates after the deformation. If no changes are made to the resting coordinates, return an empty vector.
new_deformed_points Output parameter that specifies the new deformed coordinates after the current deformation. If no changes are made to the deformed coordinates, return an empty vector.

Implemented in H3D::CoordinateDeformer.


Generated on Thu Aug 24 12:39:14 2006 for H3D API by  doxygen 1.4.5