SOFA API  7352f41a
Open source framework for multi-physics simuation
sofa::component::collision::detection::intersection::MeshNewProximityIntersection Class Reference

#include <MeshNewProximityIntersection.h>

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

Protected Attributes

NewProximityIntersectionintersection
 

Public Member Functions

 MeshNewProximityIntersection (NewProximityIntersection *object, bool addSelf=true)
 
bool testIntersection (collision::geometry::Point &, collision::geometry::Point &)
 
int computeIntersection (collision::geometry::Point &, collision::geometry::Point &, OutputVector *)
 
bool testIntersection (collision::geometry::Line &, collision::geometry::Point &)
 
int computeIntersection (collision::geometry::Line &, collision::geometry::Point &, OutputVector *)
 
bool testIntersection (collision::geometry::Line &, collision::geometry::Line &)
 
int computeIntersection (collision::geometry::Line &, collision::geometry::Line &, OutputVector *)
 
bool testIntersection (collision::geometry::Triangle &, collision::geometry::Point &)
 
int computeIntersection (collision::geometry::Triangle &, collision::geometry::Point &, OutputVector *)
 
bool testIntersection (collision::geometry::Triangle &, collision::geometry::Line &)
 
int computeIntersection (collision::geometry::Triangle &, collision::geometry::Line &, OutputVector *)
 
bool testIntersection (collision::geometry::Triangle &, collision::geometry::Triangle &)
 
int computeIntersection (collision::geometry::Triangle &, collision::geometry::Triangle &, OutputVector *)
 
template<class T >
bool testIntersection (collision::geometry::TSphere< T > &sph, collision::geometry::Point &pt)
 
template<class T >
int computeIntersection (collision::geometry::TSphere< T > &sph, collision::geometry::Point &pt, OutputVector *)
 
template<class T >
bool testIntersection (collision::geometry::Line &, collision::geometry::TSphere< T > &)
 
template<class T >
int computeIntersection (collision::geometry::Line &line, collision::geometry::TSphere< T > &sph, OutputVector *)
 
template<class T >
bool testIntersection (collision::geometry::Triangle &, collision::geometry::TSphere< T > &)
 
template<class T >
int computeIntersection (collision::geometry::Triangle &tri, collision::geometry::TSphere< T > &sph, OutputVector *)
 
- 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 type::Vec3 &p1, const type::Vec3 &p2, const type::Vec3 &q1, const type::Vec3 &q2, OutputVector *contacts, int id, const type::Vec3 &n=type::Vec3(), bool useNormal=false)
 
static int doIntersectionLinePoint (SReal dist2, const type::Vec3 &p1, const type::Vec3 &p2, const type::Vec3 &q, OutputVector *contacts, int id, bool swapElems=false)
 
static int doIntersectionTrianglePoint (SReal dist2, int flags, const type::Vec3 &p1, const type::Vec3 &p2, const type::Vec3 &p3, const type::Vec3 &n, const type::Vec3 &q, OutputVector *contacts, int id, bool swapElems=false, bool useNormal=false)
 
static int doIntersectionTrianglePoint2 (SReal dist2, int flags, const type::Vec3 &p1, const type::Vec3 &p2, const type::Vec3 &p3, const type::Vec3 &n, const type::Vec3 &q, OutputVector *contacts, int id, bool swapElems=false)
 

Attribute details

◆ intersection

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

Constructor details

◆ MeshNewProximityIntersection()

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

Function details

◆ computeIntersection() [1/9]

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Line e1,
collision::geometry::Line e2,
OutputVector contacts 
)

◆ computeIntersection() [2/9]

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Line e1,
collision::geometry::Point e2,
OutputVector contacts 
)

◆ computeIntersection() [3/9]

template<class T >
int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Line line,
collision::geometry::TSphere< T > &  sph,
OutputVector contacts 
)

◆ computeIntersection() [4/9]

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Point e1,
collision::geometry::Point e2,
OutputVector contacts 
)

◆ computeIntersection() [5/9]

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Triangle e1,
collision::geometry::Line e2,
OutputVector contacts 
)

◆ computeIntersection() [6/9]

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Triangle e1,
collision::geometry::Point e2,
OutputVector contacts 
)

◆ computeIntersection() [7/9]

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Triangle e1,
collision::geometry::Triangle e2,
OutputVector contacts 
)

◆ computeIntersection() [8/9]

template<class T >
int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::Triangle tri,
collision::geometry::TSphere< T > &  sph,
OutputVector contacts 
)

◆ computeIntersection() [9/9]

template<class T >
int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::computeIntersection ( collision::geometry::TSphere< T > &  sph,
collision::geometry::Point pt,
OutputVector contacts 
)

◆ doIntersectionLineLine()

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::doIntersectionLineLine ( SReal  dist2,
const type::Vec3 p1,
const type::Vec3 p2,
const type::Vec3 q1,
const type::Vec3 q2,
OutputVector contacts,
int  id,
const type::Vec3 n = type::Vec3(),
bool  useNormal = false 
)
inlinestatic

◆ doIntersectionLinePoint()

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::doIntersectionLinePoint ( SReal  dist2,
const type::Vec3 p1,
const type::Vec3 p2,
const type::Vec3 q,
OutputVector contacts,
int  id,
bool  swapElems = false 
)
inlinestatic

◆ doIntersectionTrianglePoint()

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::doIntersectionTrianglePoint ( SReal  dist2,
int  flags,
const type::Vec3 p1,
const type::Vec3 p2,
const type::Vec3 p3,
const type::Vec3 n,
const type::Vec3 q,
OutputVector contacts,
int  id,
bool  swapElems = false,
bool  useNormal = false 
)
inlinestatic

◆ doIntersectionTrianglePoint2()

int sofa::component::collision::detection::intersection::MeshNewProximityIntersection::doIntersectionTrianglePoint2 ( SReal  dist2,
int  flags,
const type::Vec3 p1,
const type::Vec3 p2,
const type::Vec3 p3,
const type::Vec3 n,
const type::Vec3 q,
OutputVector contacts,
int  id,
bool  swapElems = false 
)
inlinestatic

◆ testIntersection() [1/9]

bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Line line1,
collision::geometry::Line line2 
)

◆ testIntersection() [2/9]

bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Line line,
collision::geometry::Point pt 
)

◆ testIntersection() [3/9]

template<class T >
bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Line e1,
collision::geometry::TSphere< T > &  e2 
)

◆ testIntersection() [4/9]

bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Point pt1,
collision::geometry::Point pt2 
)

◆ testIntersection() [5/9]

bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Triangle tri,
collision::geometry::Line line 
)

◆ testIntersection() [6/9]

bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Triangle tri,
collision::geometry::Point pt 
)

◆ testIntersection() [7/9]

bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Triangle tri1,
collision::geometry::Triangle tri2 
)

◆ testIntersection() [8/9]

template<class T >
bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::Triangle e1,
collision::geometry::TSphere< T > &  e2 
)

◆ testIntersection() [9/9]

template<class T >
bool sofa::component::collision::detection::intersection::MeshNewProximityIntersection::testIntersection ( collision::geometry::TSphere< T > &  sph,
collision::geometry::Point pt 
)