PeriDyno 1.0.0
Loading...
Searching...
No Matches
TightCCD.h
Go to the documentation of this file.
1
16#pragma once
17#include "Vector.h"
29
30namespace dyno
31{
32 template<typename T>
34 {
35 public:
46
47 static inline DYN_FUNC bool VertexFaceCCD(
48 const Vector<T, 3>& p0, const Vector<T, 3>& a0, const Vector<T, 3>& b0, const Vector<T, 3>& c0,
49 const Vector<T, 3>& p1, const Vector<T, 3>& a1, const Vector<T, 3>& b1, const Vector<T, 3>& c1,
50 T& time);
51
63 static inline DYN_FUNC bool EdgeEdgeCCD(
64 const Vector<T, 3>& a0, const Vector<T, 3>& b0, const Vector<T, 3>& c0, const Vector<T, 3>& d0,
65 const Vector<T, 3>& a1, const Vector<T, 3>& b1, const Vector<T, 3>& c1, const Vector<T, 3>& d1,
66 T& time);
67
68
80 static inline DYN_FUNC bool TriangleCCD(
83 Real& toi);
84 };
85}
86
87#include "TightCCD.inl"
double Real
Definition Typedef.inl:23
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.
Definition TightCCD.inl:241
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.
Definition TightCCD.inl:223
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.
Definition TightCCD.inl:259
#define T(t)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25