sofa::component::collision::TriangleModel Class Reference

#include <TriangleModel.h>

Inheritance diagram for sofa::component::collision::TriangleModel:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::collision::TriangleModel:

Collaboration graph
[legend]

Data Structures

struct  TriangleInfo

Public Types

enum  TriangleFlag {
  FLAG_P1 = 1<<0, FLAG_P2 = 1<<1, FLAG_P3 = 1<<2, FLAG_E12 = 1<<3,
  FLAG_E23 = 1<<4, FLAG_E31 = 1<<5, FLAG_POINTS = FLAG_P1|FLAG_P2|FLAG_P3, FLAG_EDGES = FLAG_E12|FLAG_E23|FLAG_E31
}
typedef Vec3Types InDataTypes
typedef Vec3Types DataTypes
typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef Triangle Element

Public Member Functions

 TriangleModel ()
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
virtual void resize (int size)
 Set the number of elements.
virtual void computeBoundingTree (int maxDepth=0)
 Create or update the bounding volume hierarchy.
virtual void computeContinuousBoundingTree (double dt, int maxDepth=0)
 Create or update the bounding volume hierarchy, accounting for motions within the given timestep.
void draw (int index)
 Render an collision element.
void draw ()
 Render the whole collision model.
virtual void handleTopologyChange ()
 Handle topological Changes.
core::componentmodel::behavior::MechanicalState
< Vec3Types > * 
getMechanicalState ()
void buildOctree ()

Protected Member Functions

virtual void updateFromTopology ()
virtual void updateFlags (int ntri=-1)
virtual void updateNormals ()

Protected Attributes

sofa::helper::vector
< TriangleInfo > 
elems
const
sofa::core::componentmodel::topology::BaseMeshTopology::SeqTriangles * 
triangles
sofa::core::componentmodel::topology::BaseMeshTopology::SeqTriangles mytriangles
bool needsUpdate
core::componentmodel::behavior::MechanicalState
< Vec3Types > * 
mstate
Data< bool > computeNormals
int meshRevision
sofa::core::componentmodel::topology::BaseMeshTopology * _topology

Friends

class Triangle

Detailed Description

Definition at line 76 of file TriangleModel.h.


Member Typedef Documentation

Definition at line 83 of file TriangleModel.h.

Definition at line 80 of file TriangleModel.h.

Definition at line 84 of file TriangleModel.h.

Definition at line 85 of file TriangleModel.h.

Definition at line 79 of file TriangleModel.h.

Definition at line 81 of file TriangleModel.h.

Definition at line 82 of file TriangleModel.h.


Member Enumeration Documentation

Enumerator:
FLAG_P1  Point 1 is attached to this triangle.
FLAG_P2  Point 2 is attached to this triangle.
FLAG_P3  Point 3 is attached to this triangle.
FLAG_E12  Edge 1-2 is attached to this triangle.
FLAG_E23  Edge 2-3 is attached to this triangle.
FLAG_E31  Edge 3-1 is attached to this triangle.
FLAG_POINTS 
FLAG_EDGES 

Definition at line 88 of file TriangleModel.h.


Constructor & Destructor Documentation

sofa::component::collision::TriangleModel::TriangleModel (  ) 

Definition at line 63 of file TriangleModel.cpp.


Member Function Documentation

void sofa::component::collision::TriangleModel::buildOctree (  ) 

Reimplemented in sofa::component::collision::TriangleOctreeModel.

Definition at line 659 of file TriangleModel.cpp.

void sofa::component::collision::TriangleModel::computeBoundingTree ( int  maxDepth = 0  )  [virtual]

void sofa::component::collision::TriangleModel::computeContinuousBoundingTree ( double  ,
int  maxDepth = 0 
) [virtual]

void sofa::component::collision::TriangleModel::draw (  )  [virtual]

void sofa::component::collision::TriangleModel::draw ( int   )  [virtual]

core::componentmodel::behavior::MechanicalState<Vec3Types>* sofa::component::collision::TriangleModel::getMechanicalState (  )  [inline]

Definition at line 143 of file TriangleModel.h.

References mstate.

void sofa::component::collision::TriangleModel::handleTopologyChange (  )  [virtual]

void sofa::component::collision::TriangleModel::init ( void   )  [virtual]

void sofa::component::collision::TriangleModel::resize ( int  s  )  [virtual]

Set the number of elements.

Reimplemented from sofa::core::CollisionModel.

Definition at line 71 of file TriangleModel.cpp.

References elems.

Referenced by handleTopologyChange(), init(), and updateFromTopology().

void sofa::component::collision::TriangleModel::updateFlags ( int  ntri = -1  )  [protected, virtual]

Definition at line 180 of file TriangleModel.cpp.

References elems, FLAG_E12, FLAG_E23, FLAG_E31, FLAG_P1, FLAG_P2, FLAG_P3, mstate, and triangles.

Referenced by handleTopologyChange(), and updateFromTopology().

void sofa::component::collision::TriangleModel::updateFromTopology (  )  [protected, virtual]

void sofa::component::collision::TriangleModel::updateNormals (  )  [protected, virtual]


Friends And Related Function Documentation

friend class Triangle [friend]

Definition at line 86 of file TriangleModel.h.


Field Documentation

Definition at line 121 of file TriangleModel.h.

Referenced by handleTopologyChange(), init(), and updateFromTopology().

Definition at line 118 of file TriangleModel.h.

Referenced by computeBoundingTree().

Definition at line 119 of file TriangleModel.h.

Referenced by updateFromTopology().

Definition at line 110 of file TriangleModel.h.

Referenced by handleTopologyChange(), and updateFromTopology().


The documentation for this class was generated from the following files:

Generated on Sun Nov 23 04:17:39 2008 for Sofa by  doxygen 1.5.7.1