11#ifndef PHYSIKA_PRIMITIVE_SWEEP_3D
12#define PHYSIKA_PRIMITIVE_SWEEP_3D
21 template<
typename Real>
25 typedef typename ::dyno::Vector<Real, 2>
Coord2D;
26 typedef typename ::dyno::Vector<Real, 3>
Coord3D;
57 template<
typename Real>
0D geometric primitive in three-dimensional space
DYN_FUNC TPointSweep3D(TPoint3D< Real > &start, TPoint3D< Real > &end)
TPoint3D< double > end_point
DYN_FUNC TPointSweep3D(const TPointSweep3D &point_sweep)
DYN_FUNC bool intersect(const TTriangleSweep3D< Real > &triangle_sweep, typename TTriangle3D< Real >::Param &baryc, Real &t, const Real threshold=Real(0.00001)) const
Calculate the possible intersection for a moving point and a moving triangle. We assume both the poin...
::dyno::Vector< Real, 3 > Coord3D
TPoint3D< double > start_point
DYN_FUNC TPoint3D< Real > interpolate(Real t) const
Return the intermediate state for a point.
::dyno::Vector< Real, 2 > Coord2D
DYN_FUNC TTriangleSweep3D(TTriangle3D< Real > &start, TTriangle3D< Real > &end)
TTriangle3D< double > end_triangle
DYN_FUNC TTriangleSweep3D(const TTriangleSweep3D &triangle_sweep)
TTriangle3D< double > start_triangle
DYN_FUNC TTriangle3D< Real > interpolate(Real t) const
Return the intermediate state for a triangle.
This is an implementation of AdditiveCCD based on peridyno.
TPointSweep3D< double > PointSweep3D
TTriangleSweep3D< double > TriangleSweep3D