PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::TightCCD< T > Class Template Reference

#include <TightCCD.h>

Static Public Member Functions

static DYN_FUNC bool VertexFaceCCD (const Vector< T, 3 > &p0, const Vector< T, 3 > &a0, const Vector< T, 3 > &b0, const Vector< T, 3 > &c0, const Vector< T, 3 > &p1, const Vector< T, 3 > &a1, const Vector< T, 3 > &b1, const Vector< T, 3 > &c1, T &time)
 Do a continuous collision detection between a vertex and a triangle.
 
static DYN_FUNC bool EdgeEdgeCCD (const Vector< T, 3 > &a0, const Vector< T, 3 > &b0, const Vector< T, 3 > &c0, const Vector< T, 3 > &d0, const Vector< T, 3 > &a1, const Vector< T, 3 > &b1, const Vector< T, 3 > &c1, const Vector< T, 3 > &d1, T &time)
 Do a continuous collision detection between two edges.
 
static DYN_FUNC bool TriangleCCD (TTriangle3D< Real > &s0, TTriangle3D< Real > &s1, TTriangle3D< Real > &t0, TTriangle3D< Real > &t1, Real &toi)
 Do a continuous collision detection between two triangles.
 

Detailed Description

template<typename T>
class dyno::TightCCD< T >

Definition at line 33 of file TightCCD.h.

Member Function Documentation

◆ EdgeEdgeCCD()

template<typename T>
DYN_FUNC bool dyno::TightCCD< T >::EdgeEdgeCCD ( const Vector< T, 3 > & a0,
const Vector< T, 3 > & b0,
const Vector< T, 3 > & c0,
const Vector< T, 3 > & d0,
const Vector< T, 3 > & a1,
const Vector< T, 3 > & b1,
const Vector< T, 3 > & c1,
const Vector< T, 3 > & d1,
T & time )
inlinestatic

Do a continuous collision detection between two edges.

Template Parameters
T
Parameters
[a0,b0]first edge at t0
[a1,b1]first edge at t1
[c0,d0]second edge at t0
[a1,b1]second edge at t1
timetime of impact, initialize its value to 1 if EdgeEdgeCCD was for the first time called
Returns
return ture if collision detected, otherwise return false

Definition at line 241 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TriangleCCD()

template<typename T>
DYN_FUNC bool dyno::TightCCD< T >::TriangleCCD ( TTriangle3D< Real > & s0,
TTriangle3D< Real > & s1,
TTriangle3D< Real > & t0,
TTriangle3D< Real > & t1,
Real & toi )
inlinestatic

Do a continuous collision detection between two triangles.

Template Parameters
T
Parameters
s0first triangle at t0
s1first triangle at t1
t0second triangle at t0
t1second triangle at t1
timetime of impact, initialize its value to 1 if TriangleCCD was for the first time called
Returns
return ture if collision detected, otherwise return false

Definition at line 259 of file TightCCD.inl.

Here is the call graph for this function:

◆ VertexFaceCCD()

template<typename T>
DYN_FUNC bool dyno::TightCCD< T >::VertexFaceCCD ( const Vector< T, 3 > & p0,
const Vector< T, 3 > & a0,
const Vector< T, 3 > & b0,
const Vector< T, 3 > & c0,
const Vector< T, 3 > & p1,
const Vector< T, 3 > & a1,
const Vector< T, 3 > & b1,
const Vector< T, 3 > & c1,
T & time )
inlinestatic

Do a continuous collision detection between a vertex and a triangle.

Parameters
p0The vertex position at t0
p1The vertex position at t1
[a0,b0,c0]The triangle at t0
[a1,b1,c1]The triangle at t1
timethe time of impact, initialize its value to 1 if VertexFaceCCD was for the first time called
Returns
return ture if collision detected, otherwise return false

Definition at line 223 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

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