sofa::component::collision Namespace Reference


Namespaces

namespace  SolverMergers

Data Structures

class  BaseContactMapper
 Base class common to all mappers able to provide a MechanicalState of a given type. More...
class  BarycentricContactMapper
 Base class for all mappers using BarycentricMapping. More...
class  ContactMapper< LineModel, DataTypes >
 Mapper for LineModel. More...
class  ContactMapper< TriangleModel, DataTypes >
 Mapper for TriangleModel. More...
class  ContactMapper< TetrahedronModel, DataTypes >
 Mapper for TetrahedronModel. More...
class  IdentityContactMapper
 Base class for IdentityMapping based mappers. More...
class  IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >
 Specialization of IdentityContactMapper when mapping to the same DataTypes, as no mapping is required in this case. More...
class  ContactMapper< PointModel, DataTypes >
 Mapper for PointModel. More...
class  ContactMapper< TSphereModel< TInDataTypes >, DataTypes >
 Mapper for SphereModel. More...
class  ContactMapper< SphereTreeModel, DataTypes >
 Mapper for SphereTreeModel. More...
class  RigidContactMapper
 Base class for all mappers using RigidMapping. More...
class  ContactMapper< RigidDistanceGridCollisionModel, DataTypes >
 Mapper for RigidDistanceGridCollisionModel. More...
class  ContactMapper< FFDDistanceGridCollisionModel, DataTypes >
 Mapper for FFDDistanceGridCollisionModel. More...
class  SubsetContactMapper
 Base class for all mappers using SubsetMapping. More...
class  ContactMapperCreator
class  BarycentricPenalityContact
class  MirrorIntersector
class  BruteForceDetection
class  CarvingManager
class  ContinuousIntersection
class  ContinuousTriangleIntersection
class  CubeModel
class  Cube
class  SolverMerger
class  DefaultCollisionGroupManager
class  DefaultContactManager
class  DefaultPipeline
class  DiscreteIntersection
class  DistanceGrid
class  RigidDistanceGridCollisionElement
class  RigidDistanceGridCollisionModel
class  FFDDistanceGridCollisionElement
class  FFDDistanceGridCollisionModel
class  Identifier
class  FrictionContact
class  GridCell
class  GridModel
class  Line
class  LineModel
class  LocalMinDistance
class  MinProximityIntersection
class  NewProximityIntersection
class  Point
class  PointModel
class  DistanceTriTri
class  DistanceSegTri
class  DistancePointTri
class  BaseRayContact
class  RayContact
class  Ray
class  RayModel
class  BasePickingManager
class  RayPickInteractor
class  DefaultPickingManager
class  RayTraceDetection
 It is a Ray Trace based collision detection algorithm. More...
class  RayTriangleIntersection
class  SpatialGridPointModel
class  TSphere
class  TSphereModel
class  SingleSphere
 Define a "glorious" pointer to an element (sphere) in the SphereTreeModel. More...
class  SphereTreeModel
 A Sphere Tree based collision object: No tool to generation .sph file are provided by Sofa. More...
class  Tetrahedron
class  TetrahedronModel
class  TopologicalChangeManager
class  Triangle
class  TriangleModel
class  TriangleOctree
class  TriangleOctreeModel
class  TriangleAABB
class  VoxelGrid
class  ContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >
 Mapper for CudaRigidDistanceGridCollisionModel. More...
class  ContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >
 Mapper for CudaPointDistanceGridCollisionModel. More...
class  ContactMapper< sofa::gpu::cuda::CudaSphereModel, DataTypes >
 Mapper for CudaPointDistanceGridCollisionModel. More...

Typedefs

typedef std::pair< OdeSolver
*, LinearSolver * > 
SolverSet
typedef
simulation::tree::GNode::ctime_t 
ctime_t
typedef BaseMeshTopology::PointID PointID
typedef
mapping::SkinningMapping
< core::componentmodel::behavior::MechanicalMapping
< core::componentmodel::behavior::MechanicalState
< defaulttype::Rigid3Types >
, core::componentmodel::behavior::MechanicalState
< defaulttype::Vec3Types > > > 
MySkinningMapping
typedef TSphereModel< Vec3Types > SphereModel
typedef TSphere< Vec3Types > Sphere

Functions

 SOFA_DECL_CLASS (DefaultCollisionGroupManager)
template<int U, int V>
bool pointInTriangle (const DistanceGrid::Coord &p, const DistanceGrid::Coord &p0, const DistanceGrid::Coord &p1, const DistanceGrid::Coord &p2)
long cantorPolynomia (unsigned long x, unsigned long y)
unsigned int choose_next (double x, double y, double z, unsigned int a, unsigned int b, unsigned int c)
int gettimestamp (CollisionModel *cm)
int settimestamp (CollisionModel *cm, int t)

Variables

ContactMapperCreator
< ContactMapper< SphereModel > > 
SphereContactMapperClass ("default", true)
ContactMapperCreator
< ContactMapper
< SphereTreeModel > > 
SphereTreeContactClass ("default", true)
ContactMapperCreator
< ContactMapper< PointModel > > 
PointContactMapperClass ("default", true)
ContactMapperCreator
< ContactMapper< LineModel > > 
LineContactMapperClass ("default", true)
ContactMapperCreator
< ContactMapper< TriangleModel > > 
TriangleContactMapperClass ("default", true)
ContactMapperCreator
< ContactMapper
< TetrahedronModel > > 
TetrahedronContactMapperClass ("default", true)
ContactMapperCreator
< ContactMapper
< RigidDistanceGridCollisionModel > > 
DistanceGridContactMapperClass ("default", true)
ContactMapperCreator
< ContactMapper
< FFDDistanceGridCollisionModel > > 
FFDDistanceGridContactMapperClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< SphereModel, SphereModel > > 
SphereSpherePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< SphereModel, PointModel > > 
SpherePointPenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< SphereTreeModel,
SphereTreeModel > > 
SphereTreeSphereTreeContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< SphereTreeModel,
TriangleModel > > 
SphereTreeTriangleContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< PointModel, PointModel > > 
PointPointPenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< LineModel, PointModel > > 
LinePointPenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< LineModel, LineModel > > 
LineLinePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< LineModel, SphereModel > > 
LineSpherePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TriangleModel, SphereModel > > 
TriangleSpherePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TriangleModel, PointModel > > 
TrianglePointPenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TriangleModel, LineModel > > 
TriangleLinePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TriangleModel, TriangleModel > > 
TriangleTrianglePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TetrahedronModel,
SphereModel > > 
TetrahedronSpherePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TetrahedronModel, PointModel > > 
TetrahedronPointPenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TetrahedronModel, LineModel > > 
TetrahedronLinePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TetrahedronModel,
TriangleModel > > 
TetrahedronTrianglePenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< TetrahedronModel,
TetrahedronModel > > 
TetrahedronTetrahedronPenalityContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< RigidDistanceGridCollisionModel,
RigidDistanceGridCollisionModel > > 
DistanceGridDistanceGridContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< RigidDistanceGridCollisionModel,
PointModel > > 
DistanceGridPointContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< RigidDistanceGridCollisionModel,
SphereModel > > 
DistanceGridSphereContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< RigidDistanceGridCollisionModel,
TriangleModel > > 
DistanceGridTriangleContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< FFDDistanceGridCollisionModel,
FFDDistanceGridCollisionModel > > 
FFDDistanceGridContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< FFDDistanceGridCollisionModel,
RigidDistanceGridCollisionModel > > 
FFDDistanceGridRigidDistanceGridContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< FFDDistanceGridCollisionModel,
PointModel > > 
FFDDistanceGridPointContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< FFDDistanceGridCollisionModel,
SphereModel > > 
FFDDistanceGridSphereContactClass ("default", true)
Creator< Contact::Factory,
BarycentricPenalityContact
< FFDDistanceGridCollisionModel,
TriangleModel > > 
FFDDistanceGridTriangleContactClass ("default", true)
int BruteForceDetectionClass
int CarvingManagerClass
int ContinuousIntersectionClass
int CubeModelClass
int DefaultCollisionGroupManagerClass
int DefaultContactManagerClass
int DefaultPipelineClass
int DiscreteIntersectionClass
int RigidDistanceGridCollisionModelClass
int FFDDistanceGridCollisionModelClass
Creator< Contact::Factory,
FrictionContact< PointModel,
PointModel > > 
PointPointFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< LineModel,
SphereModel > > 
LineSphereFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< LineModel,
PointModel > > 
LinePointFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< LineModel,
LineModel > > 
LineLineFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< TriangleModel,
SphereModel > > 
TriangleSphereFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< TriangleModel,
PointModel > > 
TrianglePointFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< TriangleModel,
LineModel > > 
TriangleLineFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< TriangleModel,
TriangleModel > > 
TriangleTriangleFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< TetrahedronModel,
SphereModel > > 
TetrahedronSphereFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< TetrahedronModel, PointModel > > 
TetrahedronPointFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< TetrahedronModel, LineModel > > 
TetrahedronLineFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< TetrahedronModel,
TriangleModel > > 
TetrahedronTriangleFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< TetrahedronModel,
TetrahedronModel > > 
TetrahedronTetrahedronFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< SphereModel,
SphereModel > > 
SphereSphereFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact< SphereModel,
PointModel > > 
SpherePointFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< SphereTreeModel,
SphereTreeModel > > 
SphereTreeSphereTreeFrictionContactClass ("FrictionContact", true)
Creator< Contact::Factory,
FrictionContact
< SphereTreeModel,
TriangleModel > > 
SphereTreeTriangleFrictionContactClass ("FrictionContact", true)
int GridModelClass
int LineModelClass
int LocalMinDistanceClass
int MinProximityIntersectionClass
int NewProximityIntersectionClass
int PointModelClass
Creator
< core::componentmodel::collision::Contact::Factory,
RayContact< SphereModel > > 
RaySphereContactClass ("ray", true)
Creator
< core::componentmodel::collision::Contact::Factory,
RayContact< TriangleModel > > 
RayTriangleContactClass ("ray", true)
Creator
< core::componentmodel::collision::Contact::Factory,
RayContact< TetrahedronModel > > 
RayTetrahedronContactClass ("ray", true)
Creator
< core::componentmodel::collision::Contact::Factory,
RayContact< SphereTreeModel > > 
RaySphereTreeContactClass ("ray", true)
Creator
< core::componentmodel::collision::Contact::Factory,
RayContact
< RigidDistanceGridCollisionModel > > 
RayDistanceGridContactClass ("ray", true)
Creator
< core::componentmodel::collision::Contact::Factory,
RayContact
< FFDDistanceGridCollisionModel > > 
RayFFDDistanceGridContactClass ("ray", true)
int RayModelClass
helper::Creator
< BasePickingManager::PickingManagerFactory,
DefaultPickingManager
< Vec3Types,
forcefield::VectorSpringForceField
< Vec3Types > > > 
PickingVectorSpringVec3Class ("VectorSpringVec3d", true)
int RayTraceDetectionClass
int SpatialGridPointModelClass
int SphereModelClass
int SphereTreeModelClass
int TetrahedronModelClass
int TriangleModelClass
int TriangleOctreeModelClass = core::RegisterObject ("collision model using a triangular mesh mapped to an Octree").add < TriangleOctreeModel > ().addAlias ("TriangleOctree")
static std::map
< CollisionModel *, int > 
timestamps
ContactMapperCreator
< ContactMapper
< CudaSphereModel,
CudaVec3fTypes > > 
CudaSphereCudaContactMapperClass ("default", true)
helper::Creator
< BasePickingManager::PickingManagerFactory,
DefaultPickingManager
< CudaVec3fTypes,
forcefield::StiffSpringForceField
< CudaVec3fTypes > > > 
PickingVectorSpringCudaClass ("VectorSpringCUDA", true)

Typedef Documentation

Definition at line 62 of file DefaultPipeline.cpp.

Definition at line 54 of file RayPickInteractor.inl.

Definition at line 54 of file LocalMinDistance.cpp.

Definition at line 63 of file DefaultCollisionGroupManager.cpp.

Definition at line 50 of file SphereModel.h.

Definition at line 47 of file SphereModel.h.


Function Documentation

long sofa::component::collision::cantorPolynomia ( unsigned long  x,
unsigned long  y 
)

Definition at line 119 of file FrictionContact.h.

unsigned int sofa::component::collision::choose_next ( double  x,
double  y,
double  z,
unsigned int  a,
unsigned int  b,
unsigned int  c 
) [inline]

int sofa::component::collision::gettimestamp ( CollisionModel *  cm  ) 

Definition at line 131 of file VoxelGrid.cpp.

References timestamps.

Referenced by sofa::component::collision::VoxelGrid::add().

template<int U, int V>
bool sofa::component::collision::pointInTriangle ( const DistanceGrid::Coord &  p,
const DistanceGrid::Coord &  p0,
const DistanceGrid::Coord &  p1,
const DistanceGrid::Coord &  p2 
) [inline]

Definition at line 915 of file DistanceGridCollisionModel.cpp.

int sofa::component::collision::settimestamp ( CollisionModel *  cm,
int  t 
)

Definition at line 138 of file VoxelGrid.cpp.

References timestamps.

Referenced by sofa::component::collision::VoxelGrid::add().

sofa::component::collision::SOFA_DECL_CLASS ( DefaultCollisionGroupManager   ) 


Variable Documentation

Initial value:

 core::RegisterObject("Collision detection using extensive pair-wise tests")
.add< BruteForceDetection >()

Definition at line 55 of file BruteForceDetection.cpp.

Initial value:

 core::RegisterObject("Manager handling carving operations between a SphereModel and a TriangleSetModel relying on a TetrahedronSetTopology")
.add< CarvingManager >()

Definition at line 46 of file CarvingManager.cpp.

Initial value:

 core::RegisterObject("TODO-ContinuousIntersectionClass")
.add< ContinuousIntersection >()

Definition at line 49 of file ContinuousIntersection.cpp.

Initial value:

 core::RegisterObject("Collision model representing a cube")
.add< CubeModel >()
.addAlias("Cube")

Definition at line 44 of file CubeModel.cpp.

Initial value:

 core::RegisterObject("Responsible for gathering colliding objects in the same group, for consistent time integration")
.add< DefaultCollisionGroupManager >()
.addAlias("CollisionGroup")

Definition at line 58 of file DefaultCollisionGroupManager.cpp.

Initial value:

 core::RegisterObject("Default class to create reactions to the collisions")
.add< DefaultContactManager >()
.addAlias("CollisionResponse")

Definition at line 42 of file DefaultContactManager.cpp.

Initial value:

 core::RegisterObject("The default collision detection and modeling pipeline")
.add< DefaultPipeline >()
.addAlias("CollisionPipeline")

Definition at line 50 of file DefaultPipeline.cpp.

Initial value:

 core::RegisterObject("TODO-DiscreteIntersectionClass")
.add< DiscreteIntersection >()

Definition at line 51 of file DiscreteIntersection.cpp.

Initial value:

 core::RegisterObject("Grid-based deformable distance field")
.add< FFDDistanceGridCollisionModel >()
.addAlias("FFDDistanceGrid")

Definition at line 53 of file DistanceGridCollisionModel.cpp.

Initial value:

 core::RegisterObject("Collision model representing a grid")
.add< GridModel >()
.addAlias("Grid")

Definition at line 44 of file GridModel.cpp.

Initial value:

 core::RegisterObject("collision model using a linear mesh, as described in MeshTopology")
.add< LineModel >()
.addAlias("Line")
.addAlias("LineMeshModel")
.addAlias("LineSetModel")
.addAlias("LineMesh")
.addAlias("LineSet")

Definition at line 47 of file LineModel.cpp.

Initial value:

 core::RegisterObject("TODO-LocalMinDistance")
.add< LocalMinDistance >()

Definition at line 58 of file LocalMinDistance.cpp.

Initial value:

 core::RegisterObject("TODO-MinProximityIntersection")
.add< MinProximityIntersection >()

Definition at line 54 of file MinProximityIntersection.cpp.

Initial value:

 core::RegisterObject("Optimized Proximity Intersection based on Triangle-Triangle tests, ignoring Edge-Edge cases")
.add< NewProximityIntersection >()

Definition at line 51 of file NewProximityIntersection.cpp.

Initial value:

 core::RegisterObject("Collision model which represents a set of points")
.add< PointModel >()
.addAlias("Point")

.addAlias("PointMesh")
.addAlias("PointSet")

Definition at line 61 of file PointModel.cpp.

Initial value:

 core::RegisterObject("Collision model representing a ray in space, e.g. a mouse click")
.add< RayModel >()
.addAlias("Ray")

Definition at line 43 of file RayModel.cpp.

Initial value:

    core::
    RegisterObject
    ("Collision detection using extensive pair-wise tests").add <
    RayTraceDetection > ()

Definition at line 68 of file RayTraceDetection.cpp.

Initial value:

 core::RegisterObject("Grid-based distance field")
.add< RigidDistanceGridCollisionModel >()
.addAlias("DistanceGridCollisionModel")
.addAlias("RigidDistanceGrid")
.addAlias("DistanceGrid")

Definition at line 46 of file DistanceGridCollisionModel.cpp.

Initial value:

 core::RegisterObject("Collision model which represents a set of points, spatially grouped using a SpatialGridContainer")
.add< SpatialGridPointModel >()

Definition at line 42 of file SpatialGridPointModel.cpp.

Initial value:

 core::RegisterObject("Collision model representing a set of spheres")




    .add< TSphereModel<Vec3fTypes> >() 

    .add< TSphereModel<Vec3dTypes> >(true) 

.addAlias("Sphere")
.addAlias("SphereModel")

Definition at line 40 of file SphereModel.cpp.

Initial value:

 core::RegisterObject("CollisionModel based on a hierarchy of bounding spheres")
.add< SphereTreeModel >()
.addAlias("SphereTree")

Definition at line 53 of file SphereTreeModel.cpp.

Initial value:

 core::RegisterObject("collision model using a tetrahedral mesh, as described in BaseMeshTopology")
.add< TetrahedronModel >()
.addAlias("Tetrahedron")

Definition at line 49 of file TetrahedronModel.cpp.

Definition at line 129 of file VoxelGrid.cpp.

Referenced by gettimestamp(), and settimestamp().

Initial value:

 core::RegisterObject("collision model using a triangular mesh, as described in BaseMeshTopology")
.add< TriangleModel >()
.addAlias("TriangleMeshModel")
.addAlias("TriangleSetModel")
.addAlias("TriangleMesh")
.addAlias("TriangleSet")
.addAlias("Triangle")

Definition at line 54 of file TriangleModel.cpp.

int sofa::component::collision::TriangleOctreeModelClass = core::RegisterObject ("collision model using a triangular mesh mapped to an Octree").add < TriangleOctreeModel > ().addAlias ("TriangleOctree")

Definition at line 74 of file TriangleOctreeModel.cpp.


Generated on Sun Nov 23 04:13:35 2008 for Sofa by  doxygen 1.5.7.1