Biomechanical Joint Model
 Author: Anderson Maciel

COME_Proximity Class Reference

#include <comeproximity.h>

Collaboration diagram for COME_Proximity:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 COME_Proximity (COME_Vertex3D *oA, COME_Vertex3D *oB)
 COME_Proximity (COME_Vertex3D *oA, COME_Face *fB, double hardSoftP)
void updatePointOnFace ()
double signedDistance ()
double signedDistance (COME_Point3D p)
 Returns the distance of the point given to the face (faceB) of this proximity. Distance is negative if a penetration occurs.
void updatePosition ()
void updateVelocity ()
void resetDisplacements ()
void updateAnchors ()
void updateAnchorsOptimization ()

Public Attributes

COME_Vertex3DobjA
COME_FacefaceB
COME_Point3D pointOnB
double hardSoft

Detailed Description

Definition at line 27 of file comeproximity.h.


Constructor & Destructor Documentation

COME_Proximity::COME_Proximity COME_Vertex3D oA,
COME_Vertex3D oB
 

Definition at line 26 of file comeproximity.cpp.

COME_Proximity::COME_Proximity COME_Vertex3D oA,
COME_Face fB,
double  hardSoftP
 

Definition at line 33 of file comeproximity.cpp.

References faceB, COME_Face::getClosestPointOnFaceToPoint(), hardSoft, objA, pointOnB, COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

Here is the call graph for this function:


Member Function Documentation

void COME_Proximity::resetDisplacements  ) 
 

Reset the velocity and position displacements for the anchors of this proximity

Definition at line 162 of file comeproximity.cpp.

References faceB, COME_Vertex3D::getAnchors(), COME_Face::getVertexGlobalPositionPt(), objA, COME_Vertex3D::setCollisionDisp(), and COME_Vertex3D::setVelocityDisp().

Here is the call graph for this function:

double COME_Proximity::signedDistance COME_Point3D  p  ) 
 

Returns the distance of the point given to the face (faceB) of this proximity. Distance is negative if a penetration occurs.

Definition at line 79 of file comeproximity.cpp.

References faceB, COME_Vertex3D::getNormalGlobalPosition(), COME_Face::getNormalGlobalPositionPt(), COME_Face::getVertexGlobalPositionPt(), COME_Face::isInsideGlobalGOOD(), objA, pointOnB, COME_Point3D::vpDistance(), COME_Vector3D::vpDotProduct(), COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

Here is the call graph for this function:

double COME_Proximity::signedDistance  ) 
 

Returns the distance of this proximity. Distance is negative if a penetration occurs.

Definition at line 59 of file comeproximity.cpp.

References faceB, COME_Vertex3D::getNormalGlobalPosition(), COME_Face::getNormalGlobalPositionPt(), COME_Vertex3D::getVertexAsPoint3D(), COME_Face::getVertexGlobalPositionPt(), COME_Face::isInsideGlobalGOOD(), objA, pointOnB, COME_Point3D::vpDistance(), COME_Vector3D::vpDotProduct(), COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

Referenced by updateVelocity().

Here is the call graph for this function:

void COME_Proximity::updateAnchors  ) 
 

Update velocity and position of anchors of this proximity (vertex objA and al vertices of objB) taking all buois displacements into account THERE'S A BUG HERE!! ALL DISPLACEMENTS ARE CALCULATED FROM GLOBAL MOLECULES POSITIONS AND APPLIED ONTO LOCAL COORDINATES...

DEPRECATED

Definition at line 201 of file comeproximity.cpp.

References COME_Vertex3D::getAnchors(), and objA.

Here is the call graph for this function:

void COME_Proximity::updateAnchorsOptimization  ) 
 

Update velocity and position of anchors of this proximity (vertex objA and al vertices of objB) taking all buois displacements into account This function uses a Jacobian matrix for optimization as in an Inverse Kinematics problem.

Definition at line 286 of file comeproximity.cpp.

void COME_Proximity::updatePointOnFace  ) 
 

Definition at line 49 of file comeproximity.cpp.

References faceB, COME_Face::getClosestPointOnFaceToPoint(), objA, pointOnB, COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

Here is the call graph for this function:

void COME_Proximity::updatePosition  ) 
 

Calculate position update for this proximity members when needed. Use barycentric coordinates to define weights for faceB vertices.

Definition at line 100 of file comeproximity.cpp.

References COME_Vertex3D::addCollisionDisp(), faceB, COME_Vertex3D::getVertexAsPoint3D(), COME_Face::getVertexGlobalPositionPt(), hardSoft, objA, and pointOnB.

Referenced by updateVelocity().

Here is the call graph for this function:

void COME_Proximity::updateVelocity  ) 
 

Calculate velocity update for this proximity members when needed

Definition at line 121 of file comeproximity.cpp.

References COME_Vertex3D::addVelocityDisp(), faceB, COME_Face::getBlendedVelocity(), COME_Vertex3D::getBlendedVelocity(), COME_Vertex3D::getVertexAsPoint3D(), COME_Face::getVertexGlobalPositionPt(), hardSoft, objA, pointOnB, signedDistance(), COME::timestepGlobal, updatePosition(), COME_Vector3D::vpDotProduct(), and COME_Vector3D::vpNormalize().

Here is the call graph for this function:


Member Data Documentation

COME_Face* COME_Proximity::faceB
 

Definition at line 35 of file comeproximity.h.

Referenced by COME_Proximity(), resetDisplacements(), signedDistance(), updatePointOnFace(), updatePosition(), and updateVelocity().

double COME_Proximity::hardSoft
 

Definition at line 37 of file comeproximity.h.

Referenced by COME_Proximity(), updatePosition(), and updateVelocity().

COME_Vertex3D* COME_Proximity::objA
 

Definition at line 33 of file comeproximity.h.

Referenced by COME_Proximity(), resetDisplacements(), signedDistance(), updateAnchors(), updatePointOnFace(), updatePosition(), and updateVelocity().

COME_Point3D COME_Proximity::pointOnB
 

Definition at line 36 of file comeproximity.h.

Referenced by COME_Proximity(), signedDistance(), updatePointOnFace(), updatePosition(), and updateVelocity().


The documentation for this class was generated from the following files:
Generated on Thu Dec 1 10:14:27 2005 for COME - Biomechanical Joint Model by  doxygen 1.4.5