Biomechanical Joint Model
 Author: Anderson Maciel

COME_BioStructure Class Reference

#include <comebiostructure.h>

Inherits COME.

Inherited by COME_Bone, COME_Cartilage, COME_Clamp, and COME_Container.

Inheritance diagram for COME_BioStructure:

Inheritance graph
[legend]
Collaboration diagram for COME_BioStructure:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void setSystem (int systemN)
void setSurface (COME_Mesh *surfaceN)
void setFixed (bool flag)
void setLIM (const COME_Matrix &limN)
void setGIM (const COME_Matrix &gimN)
void setGlobalHooke (double hookN)
void setCollisionRadius (double rad)
void setType (int nType)
int getSystem () const
COME_MeshgetSurface ()
COME_MeshgetPointerToSurface ()
double getGlobalHooke () const
double getCollisionRadius () const
double getTopStress ()
void scale (double factorx, double factory, double factorz)
void translate (double px, double py, double pz)
void translate (const COME_Vector3D &disp)
void rotate (double rx, double ry, double rz)
void scaleNominals (double factor)
bool isFixed () const
double getMass () const
const COME_MatrixgetLIM () const
const COME_MatrixgetGIM () const
virtual bool update (double timestep, double simClock)=0
virtual void updateSkin ()=0
virtual void updateSurface (bool regenerate)=0
virtual void getEnvelop (COME_Point3D &mins, COME_Point3D &maxs)=0
virtual COME_MoleculesTissuegetTissue ()=0
virtual void respondCollision ()=0
void initializeHashStructure ()
void initializeHashStructureRayCasting ()
COME_HashElement getHashElement (COME_Point2D p)
 returns the element in the hash table corresponding to the spherical coordinates given by p
int fillHashHoles ()
void globalToLocal (COME_Matrix M, COME_Matrix MP)

Public Attributes

int hashSize
COME_HashElementhashTable
vector< COME_BioStructure * > internals
vector< string > internalsDesc
COME_Vector3D sUnit
COME_Point2D sSpherical

Protected Attributes

int system
double volume
double collisionRadius
COME_Meshsurface
 Radius of the enclosing sphere defining collision volume.
bool fixed
int type
double globalHooke
COME_Matrix localInstanceMatrix
COME_Matrix globalInstanceMatrix

Detailed Description

An abstract class to represent one organ (biological structure) of a patient. It must be implemented by adding specific features and behavior for each organ in the subclass.

Definition at line 64 of file comebiostructure.h.


Member Function Documentation

int COME_BioStructure::fillHashHoles  ) 
 

Definition at line 413 of file comebiostructure.cpp.

References HashElement::distance, elem, HashElement::face, hashTable, and INFINITE.

double COME_BioStructure::getCollisionRadius  )  const
 

Definition at line 145 of file comebiostructure.cpp.

References collisionRadius.

virtual void COME_BioStructure::getEnvelop COME_Point3D mins,
COME_Point3D maxs
[pure virtual]
 

Implemented in COME_Cartilage, COME_Clamp, COME_MoleculesBone, and COME_MoleculesCartilage.

const COME_Matrix & COME_BioStructure::getGIM  )  const
 

Definition at line 132 of file comebiostructure.cpp.

References globalInstanceMatrix.

double COME_BioStructure::getGlobalHooke  )  const
 

Definition at line 139 of file comebiostructure.cpp.

References globalHooke.

Referenced by COME_Mechatester::clickedStartSim(), and COME_Mechatester::updateEquation().

COME_HashElement COME_BioStructure::getHashElement COME_Point2D  p  ) 
 

returns the element in the hash table corresponding to the spherical coordinates given by p

Definition at line 403 of file comebiostructure.cpp.

References elem, COME_Point2D::getX(), COME_Point2D::getY(), hashTable, and M_PI.

Here is the call graph for this function:

const COME_Matrix & COME_BioStructure::getLIM  )  const
 

Definition at line 126 of file comebiostructure.cpp.

References localInstanceMatrix.

double COME_BioStructure::getMass  )  const
 

COME_Mesh * COME_BioStructure::getPointerToSurface  ) 
 

Definition at line 114 of file comebiostructure.cpp.

References surface.

Referenced by COME_Clamp::initializeSkinning().

COME_Mesh * COME_BioStructure::getSurface  ) 
 

Definition at line 108 of file comebiostructure.cpp.

References surface.

Referenced by COME_Collision::calculatePenetration(), COME_Collision::calculatePenetrationGlobalPosition(), COME_Collision::COME_Collision(), COME_Collide::detectContacts(), COME_Collide::detectContactsDisplacement(), COME_Discretizer::fileOpen(), COME_MoleculesCartilage::initializeSkinning(), COME_MoleculesBone::initializeSkinning(), and COME_Mechatester::updateClampIntersections().

int COME_BioStructure::getSystem  )  const
 

Getting

Definition at line 102 of file comebiostructure.cpp.

References system.

virtual COME_MoleculesTissue* COME_BioStructure::getTissue  )  [pure virtual]
 

Implemented in COME_Bone, COME_Cartilage, COME_Clamp, COME_MoleculesBone, and COME_MoleculesCartilage.

Referenced by COME_Mechatester::clickedAssociate(), COME_Mechatester::clickedStartSim(), COME_Collide::detectContactsHybrid(), getTopStress(), globalToLocal(), rotate(), scale(), scaleNominals(), and translate().

double COME_BioStructure::getTopStress  ) 
 

Definition at line 151 of file comebiostructure.cpp.

References getTissue(), and COME_MoleculesTissue::getTopStress().

Here is the call graph for this function:

void COME_BioStructure::globalToLocal COME_Matrix  M,
COME_Matrix  MP
 

Definition at line 218 of file comebiostructure.cpp.

References getTissue(), LIGAMENT, COME_MoleculesTissue::transform(), and type.

Here is the call graph for this function:

void COME_BioStructure::initializeHashStructure  ) 
 

define base vector

initialize S unit vector with j for first test.

allocate memory for hashMatrix

Initialize Hash tabel with NULLs

Definition at line 232 of file comebiostructure.cpp.

References HashElement::distance, elem, hashSize, hashTable, INFINITE, sSpherical, sUnit, COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

void COME_BioStructure::initializeHashStructureRayCasting  ) 
 

define base vector

initialize S unit vector with j for first test.

allocate memory for hashMatrix

Initialize Hash tabel with NULLs

fill matrix by ray casting

Definition at line 309 of file comebiostructure.cpp.

References HashElement::distance, elem, hashTable, INFINITE, sSpherical, sUnit, COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

Referenced by COME_Scenario::initializeAllHashs().

bool COME_BioStructure::isFixed  )  const
 

Definition at line 120 of file comebiostructure.cpp.

References fixed.

Referenced by COME_MoleculesBone::derivs(), rotate(), scale(), scaleNominals(), and translate().

virtual void COME_BioStructure::respondCollision  )  [pure virtual]
 

Implemented in COME_Clamp, COME_MoleculesBone, and COME_MoleculesCartilage.

void COME_BioStructure::rotate double  rx,
double  ry,
double  rz
 

Definition at line 194 of file comebiostructure.cpp.

References getTissue(), isFixed(), COME_MoleculesTissue::makeAllLocalFrames(), COME_Mesh::rotate(), COME_MoleculesTissue::rotate(), surface, and COME_Mesh::updateSkin().

Referenced by COME_ModelJoint::rotateSelected(), and COME_Mechatester::rotateSelected().

Here is the call graph for this function:

void COME_BioStructure::scale double  factorx,
double  factory,
double  factorz
 

Definition at line 157 of file comebiostructure.cpp.

References getTissue(), isFixed(), COME_MoleculesTissue::makeAllLocalFrames(), COME_Mesh::scale(), COME_MoleculesTissue::scale(), surface, and COME_Mesh::updateSkin().

Referenced by COME_Mechatester::COME_Mechatester(), COME_ModelJoint::scaleSelected(), and COME_Mechatester::scaleSelected().

Here is the call graph for this function:

void COME_BioStructure::scaleNominals double  factor  ) 
 

Definition at line 210 of file comebiostructure.cpp.

References getTissue(), isFixed(), and COME_MoleculesTissue::scaleNominals().

Referenced by COME_ModelJoint::sliderNominalReleased().

Here is the call graph for this function:

void COME_BioStructure::setCollisionRadius double  rad  ) 
 

Definition at line 86 of file comebiostructure.cpp.

References collisionRadius.

Referenced by COME_Xml::loadShapes().

void COME_BioStructure::setFixed bool  flag  ) 
 

Definition at line 62 of file comebiostructure.cpp.

References fixed.

Referenced by COME_Xml::loadMoleculeOrgan(), and COME_Scenario::loadOrganMesh().

void COME_BioStructure::setGIM const COME_Matrix gimN  ) 
 

Definition at line 74 of file comebiostructure.cpp.

References globalInstanceMatrix.

void COME_BioStructure::setGlobalHooke double  hookN  ) 
 

Definition at line 80 of file comebiostructure.cpp.

References globalHooke.

Referenced by COME_Mechatester::clickedStartSim(), and COME_Xml::loadMoleculeOrgan().

void COME_BioStructure::setLIM const COME_Matrix limN  ) 
 

Definition at line 68 of file comebiostructure.cpp.

References localInstanceMatrix.

void COME_BioStructure::setSurface COME_Mesh surfaceN  ) 
 

Definition at line 54 of file comebiostructure.cpp.

References COME_Mesh::setCollisionDetectableFaces(), COME::setParent(), and surface.

Here is the call graph for this function:

void COME_BioStructure::setSystem int  systemN  ) 
 

Setting

Definition at line 48 of file comebiostructure.cpp.

References system.

void COME_BioStructure::setType int  nType  ) 
 

Definition at line 92 of file comebiostructure.cpp.

References type.

Referenced by COME_Xml::loadMoleculeOrgan().

void COME_BioStructure::translate const COME_Vector3D disp  ) 
 

Definition at line 188 of file comebiostructure.cpp.

References COME_Point3D::getX(), COME_Point3D::getY(), COME_Point3D::getZ(), and translate().

Here is the call graph for this function:

void COME_BioStructure::translate double  px,
double  py,
double  pz
 

Definition at line 173 of file comebiostructure.cpp.

References getTissue(), isFixed(), COME_MoleculesTissue::makeAllLocalFrames(), surface, COME_Mesh::translate(), COME_MoleculesTissue::translate(), and COME_Mesh::updateSkin().

Referenced by COME_Mechatester::COME_Mechatester(), translate(), COME_ModelJoint::translateSelected(), and COME_Mechatester::translateSelected().

Here is the call graph for this function:

virtual bool COME_BioStructure::update double  timestep,
double  simClock
[pure virtual]
 

Implemented in COME_Bone, COME_Cartilage, COME_Clamp, COME_MoleculesBone, and COME_MoleculesCartilage.

virtual void COME_BioStructure::updateSkin  )  [pure virtual]
 

Implemented in COME_Clamp, COME_MoleculesBone, and COME_MoleculesCartilage.

Referenced by COME_Mechatester::COME_Mechatester().

virtual void COME_BioStructure::updateSurface bool  regenerate  )  [pure virtual]
 

Implemented in COME_Bone, COME_Cartilage, COME_Clamp, COME_MoleculesBone, and COME_MoleculesCartilage.


Member Data Documentation

double COME_BioStructure::collisionRadius [protected]
 

Definition at line 69 of file comebiostructure.h.

Referenced by COME_MoleculesBone::COME_MoleculesBone(), COME_MoleculesCartilage::COME_MoleculesCartilage(), getCollisionRadius(), and setCollisionRadius().

bool COME_BioStructure::fixed [protected]
 

Definition at line 71 of file comebiostructure.h.

Referenced by isFixed(), and setFixed().

double COME_BioStructure::globalHooke [protected]
 

Definition at line 73 of file comebiostructure.h.

Referenced by COME_MoleculesBone::COME_MoleculesBone(), COME_MoleculesCartilage::COME_MoleculesCartilage(), getGlobalHooke(), and setGlobalHooke().

COME_Matrix COME_BioStructure::globalInstanceMatrix [protected]
 

Definition at line 75 of file comebiostructure.h.

Referenced by getGIM(), and setGIM().

int COME_BioStructure::hashSize
 

Definition at line 121 of file comebiostructure.h.

Referenced by initializeHashStructure().

COME_HashElement* COME_BioStructure::hashTable
 

Definition at line 122 of file comebiostructure.h.

Referenced by COME_MoleculesBone::COME_MoleculesBone(), COME_MoleculesCartilage::COME_MoleculesCartilage(), fillHashHoles(), getHashElement(), initializeHashStructure(), and initializeHashStructureRayCasting().

vector<COME_BioStructure*> COME_BioStructure::internals
 

Definition at line 123 of file comebiostructure.h.

vector<string> COME_BioStructure::internalsDesc
 

Definition at line 124 of file comebiostructure.h.

Referenced by COME_Xml::loadShapes().

COME_Matrix COME_BioStructure::localInstanceMatrix [protected]
 

Definition at line 74 of file comebiostructure.h.

Referenced by getLIM(), and setLIM().

COME_Point2D COME_BioStructure::sSpherical
 

Definition at line 127 of file comebiostructure.h.

Referenced by initializeHashStructure(), and initializeHashStructureRayCasting().

COME_Vector3D COME_BioStructure::sUnit
 

Definition at line 126 of file comebiostructure.h.

Referenced by initializeHashStructure(), and initializeHashStructureRayCasting().

COME_Mesh* COME_BioStructure::surface [protected]
 

Radius of the enclosing sphere defining collision volume.

Definition at line 70 of file comebiostructure.h.

Referenced by COME_Clamp::COME_Clamp(), COME_MoleculesBone::COME_MoleculesBone(), COME_MoleculesCartilage::COME_MoleculesCartilage(), COME_MoleculesCartilage::discretize(), COME_MoleculesBone::generateEnvelopSurface(), COME_Clamp::getEnvelop(), getPointerToSurface(), getSurface(), COME_MoleculesCartilage::initializeJacobian(), COME_MoleculesCartilage::initializeSkinning(), COME_MoleculesBone::initializeSkinning(), rotate(), scale(), setSurface(), translate(), COME_MoleculesBone::updateInertiaTensor(), COME_MoleculesCartilage::updateSkin(), COME_MoleculesBone::updateSkin(), COME_Clamp::updateSkin(), COME_MoleculesCartilage::updateSurface(), and COME_MoleculesBone::updateSurface().

int COME_BioStructure::system [protected]
 

Definition at line 67 of file comebiostructure.h.

Referenced by getSystem(), and setSystem().

int COME_BioStructure::type [protected]
 

Definition at line 72 of file comebiostructure.h.

Referenced by globalToLocal(), and setType().

double COME_BioStructure::volume [protected]
 

Definition at line 68 of file comebiostructure.h.

Referenced by COME_MoleculesCartilage::updateSurface(), and COME_MoleculesBone::updateSurface().


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