SOFA API  c76874b7
Open source framework for multi-physics simuation
sofa::component::collision::MeshNewProximityIntersection Class Reference

#include <MeshNewProximityIntersection.h>

Inheritance diagram for sofa::component::collision::MeshNewProximityIntersection:

Protected Attributes

NewProximityIntersectionintersection
 

Public Member Functions

 MeshNewProximityIntersection (NewProximityIntersection *object, bool addSelf=true)
 
template<class T1 , class T2 >
bool testIntersection (T1 &e1, T2 &e2)
 
int computeIntersection (Point &, Point &, OutputVector *)
 
template<class T >
int computeIntersection (TSphere< T > &, Point &, OutputVector *)
 
int computeIntersection (Line &, Point &, OutputVector *)
 
template<class T >
int computeIntersection (Line &, TSphere< T > &, OutputVector *)
 
int computeIntersection (Line &, Line &, OutputVector *)
 
int computeIntersection (Triangle &, Point &, OutputVector *)
 
template<class T >
int computeIntersection (Triangle &, TSphere< T > &, OutputVector *)
 
int computeIntersection (Triangle &, Line &, OutputVector *)
 
int computeIntersection (Triangle &, Triangle &, OutputVector *)
 
template<class T1 , class T2 >
int computeIntersection (T1 &e1, T2 &e2, OutputVector *contacts)
 
- Public Member Functions inherited from sofa::core::collision::BaseIntersector
 BaseIntersector ()
 
 ~BaseIntersector ()
 
template<class Model1 , class Model2 >
sofa::core::collision::TDetectionOutputVector< Model1, Model2 > * createOutputVector (Model1 *, Model2 *)
 
template<class Model1 , class Model2 >
sofa::core::collision::TDetectionOutputVector< Model1, Model2 > * getOutputVector (Model1 *, Model2 *, sofa::core::collision::DetectionOutputVector *contacts)
 
int beginIntersection (sofa::core::CollisionModel *, sofa::core::CollisionModel *, OutputVector *)
 
int endIntersection (sofa::core::CollisionModel *, sofa::core::CollisionModel *, OutputVector *)
 

Static Public Member Functions

static int doIntersectionLineLine (SReal dist2, const defaulttype::Vector3 &p1, const defaulttype::Vector3 &p2, const defaulttype::Vector3 &q1, const defaulttype::Vector3 &q2, OutputVector *contacts, int id)
 
static int doIntersectionLinePoint (SReal dist2, const defaulttype::Vector3 &p1, const defaulttype::Vector3 &p2, const defaulttype::Vector3 &q, OutputVector *contacts, int id, bool swapElems=false)
 
static int doIntersectionTrianglePoint (SReal dist2, int flags, const defaulttype::Vector3 &p1, const defaulttype::Vector3 &p2, const defaulttype::Vector3 &p3, const defaulttype::Vector3 &n, const defaulttype::Vector3 &q, OutputVector *contacts, int id, bool swapElems=false)
 
static int doIntersectionTrianglePoint2 (SReal dist2, int flags, const defaulttype::Vector3 &p1, const defaulttype::Vector3 &p2, const defaulttype::Vector3 &p3, const defaulttype::Vector3 &n, const defaulttype::Vector3 &q, OutputVector *contacts, int id, bool swapElems=false)
 

Attribute details

NewProximityIntersection* sofa::component::collision::MeshNewProximityIntersection::intersection
protected

Constructor details

sofa::component::collision::MeshNewProximityIntersection::MeshNewProximityIntersection ( NewProximityIntersection object,
bool  addSelf = true 
)

Function details

int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Point e1,
Point e2,
OutputVector contacts 
)
template<class T >
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( TSphere< T > &  e1,
Point e2,
OutputVector contacts 
)
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Line e1,
Point e2,
OutputVector contacts 
)
template<class T >
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Line e1,
TSphere< T > &  e2,
OutputVector contacts 
)
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Line e1,
Line e2,
OutputVector contacts 
)
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Triangle e1,
Point e2,
OutputVector contacts 
)
template<class T >
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Triangle e1,
TSphere< T > &  e2,
OutputVector contacts 
)
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Triangle e1,
Line e2,
OutputVector contacts 
)
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( Triangle e1,
Triangle e2,
OutputVector contacts 
)
template<class T1 , class T2 >
int sofa::component::collision::MeshNewProximityIntersection::computeIntersection ( T1 &  e1,
T2 &  e2,
OutputVector contacts 
)
inline
int sofa::component::collision::MeshNewProximityIntersection::doIntersectionLineLine ( SReal  dist2,
const defaulttype::Vector3 &  p1,
const defaulttype::Vector3 &  p2,
const defaulttype::Vector3 &  q1,
const defaulttype::Vector3 &  q2,
OutputVector contacts,
int  id 
)
inlinestatic
int sofa::component::collision::MeshNewProximityIntersection::doIntersectionLinePoint ( SReal  dist2,
const defaulttype::Vector3 &  p1,
const defaulttype::Vector3 &  p2,
const defaulttype::Vector3 &  q,
OutputVector contacts,
int  id,
bool  swapElems = false 
)
inlinestatic
int sofa::component::collision::MeshNewProximityIntersection::doIntersectionTrianglePoint ( SReal  dist2,
int  flags,
const defaulttype::Vector3 &  p1,
const defaulttype::Vector3 &  p2,
const defaulttype::Vector3 &  p3,
const defaulttype::Vector3 &  n,
const defaulttype::Vector3 &  q,
OutputVector contacts,
int  id,
bool  swapElems = false 
)
inlinestatic
int sofa::component::collision::MeshNewProximityIntersection::doIntersectionTrianglePoint2 ( SReal  dist2,
int  flags,
const defaulttype::Vector3 &  p1,
const defaulttype::Vector3 &  p2,
const defaulttype::Vector3 &  p3,
const defaulttype::Vector3 &  n,
const defaulttype::Vector3 &  q,
OutputVector contacts,
int  id,
bool  swapElems = false 
)
inlinestatic
template<class T1 , class T2 >
bool sofa::component::collision::MeshNewProximityIntersection::testIntersection ( T1 &  e1,
T2 &  e2 
)
inline