|
PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
|
This namespace contains functions to answer distance queries. More...
Functions | |
| template<mini::CMatrix TMatrixL1, mini::CMatrix TMatrixU1, mini::CMatrix TMatrixL2, mini::CMatrix TMatrixU2> | |
| PBAT_HOST_DEVICE auto | AxisAlignedBoundingBoxes (TMatrixL1 const &L1, TMatrixU1 const &U1, TMatrixL2 const &L2, TMatrixU2 const &U2) -> typename TMatrixL1::ScalarType |
| Obtain squared distance between 2 axis-aligned bounding boxes. | |
| template<mini::CMatrix TMatrixP, mini::CMatrix TMatrixL, mini::CMatrix TMatrixU> | |
| PBAT_HOST_DEVICE auto | PointAxisAlignedBoundingBox (TMatrixP const &P, TMatrixL const &L, TMatrixU const &U) -> typename TMatrixP::ScalarType |
| Obtain squared distance between point P and axis-aligned box (L,U) | |
| template<mini::CMatrix TMatrixP, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC> | |
| PBAT_HOST_DEVICE auto | PointTriangle (TMatrixP const &P, TMatrixA const &A, TMatrixB const &B, TMatrixC const &C) -> typename TMatrixP::ScalarType |
| Obtain squared distance between point P and triangle ABC. | |
| template<mini::CMatrix TMatrixP, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC, mini::CMatrix TMatrixD> | |
| PBAT_HOST_DEVICE auto | PointTetrahedron (TMatrixP const &P, TMatrixA const &A, TMatrixB const &B, TMatrixC const &C, TMatrixD const &D) -> typename TMatrixP::ScalarType |
| Obtain squared distance between point P and tetrahedron ABCD. | |
| template<mini::CMatrix TMatrixX, mini::CMatrix TMatrixP, mini::CMatrix TMatrixN> | |
| PBAT_HOST_DEVICE auto | PointPlane (TMatrixX const &X, TMatrixP const &P, TMatrixN const &n) -> typename TMatrixX::ScalarType |
| Obtains the signed distance of X w.r.t. plane (P,n) | |
| template<mini::CMatrix TMatrixX, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC> | |
| PBAT_HOST_DEVICE auto | PointPlane (TMatrixX const &X, TMatrixA const &A, TMatrixB const &B, TMatrixC const &C) -> typename TMatrixX::ScalarType |
| Obtains the signed distance of X w.r.t. plane spanned by ABC. | |
| template<mini::CMatrix TMatrixX, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC> | |
| PBAT_HOST_DEVICE auto | SphereTriangle (TMatrixX const &X, typename TMatrixX::ScalarType R, TMatrixA const &A, TMatrixB const &B, TMatrixC const &C) -> typename TMatrixX::ScalarType |
| Obtains the squared distance between sphere (X,R) and triangle ABC. | |
This namespace contains functions to answer distance queries.
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::AxisAlignedBoundingBoxes | ( | TMatrixL1 const & | L1, |
| TMatrixU1 const & | U1, | ||
| TMatrixL2 const & | L2, | ||
| TMatrixU2 const & | U2 ) -> typename TMatrixL1::ScalarType |
Obtain squared distance between 2 axis-aligned bounding boxes.
| TMatrixL1 | 1st AABB's lower corner matrix type |
| TMatrixU1 | 1st AABB's upper corner matrix type |
| TMatrixL2 | 2nd AABB's lower corner matrix type |
| TMatrixU2 | 2nd AABB's upper corner matrix type |
| L1 | 1st AABB's lower corner |
| U1 | 1st AABB's upper corner |
| L2 | 2nd AABB's lower corner |
| U2 | 2nd AABB's upper corner |
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::PointAxisAlignedBoundingBox | ( | TMatrixP const & | P, |
| TMatrixL const & | L, | ||
| TMatrixU const & | U ) -> typename TMatrixP::ScalarType |
Obtain squared distance between point P and axis-aligned box (L,U)
| TMatrixP | Point matrix type |
| TMatrixL | Lower corner matrix type |
| TMatrixU | Upper corner matrix type |
| P | Point |
| L | Lower corner of the box |
| U | Upper corner of the box |
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::PointPlane | ( | TMatrixX const & | X, |
| TMatrixA const & | A, | ||
| TMatrixB const & | B, | ||
| TMatrixC const & | C ) -> typename TMatrixX::ScalarType |
Obtains the signed distance of X w.r.t. plane spanned by ABC.
| TMatrixX | Query point matrix type |
| TMatrixA | Vertex A of the triangle in plane matrix type |
| TMatrixB | Vertex B of the triangle in plane matrix type |
| TMatrixC | Vertex C of the triangle in plane matrix type |
| X | Query point |
| A | Vertex A of the triangle in plane |
| B | Vertex B of the triangle in plane |
| C | Vertex C of the triangle in plane |
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::PointPlane | ( | TMatrixX const & | X, |
| TMatrixP const & | P, | ||
| TMatrixN const & | n ) -> typename TMatrixX::ScalarType |
Obtains the signed distance of X w.r.t. plane (P,n)
| TMatrixX | Query point matrix type |
| TMatrixP | Point on the plane matrix type |
| TMatrixN | Normal of the plane matrix type |
| X | Query point |
| P | Point on the plane |
| n | Normal of the plane |
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::PointTetrahedron | ( | TMatrixP const & | P, |
| TMatrixA const & | A, | ||
| TMatrixB const & | B, | ||
| TMatrixC const & | C, | ||
| TMatrixD const & | D ) -> typename TMatrixP::ScalarType |
Obtain squared distance between point P and tetrahedron ABCD.
| TMatrixP | Point matrix type |
| TMatrixA | Vertex A matrix type |
| TMatrixB | Vertex B matrix type |
| TMatrixC | Vertex C matrix type |
| TMatrixD | Vertex D matrix type |
| P | Point |
| A | Vertex A of the tetrahedron |
| B | Vertex B of the tetrahedron |
| C | Vertex C of the tetrahedron |
| D | Vertex D of the tetrahedron |
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::PointTriangle | ( | TMatrixP const & | P, |
| TMatrixA const & | A, | ||
| TMatrixB const & | B, | ||
| TMatrixC const & | C ) -> typename TMatrixP::ScalarType |
Obtain squared distance between point P and triangle ABC.
| TMatrixP | Point matrix type |
| TMatrixA | Vertex A matrix type |
| TMatrixB | Vertex B matrix type |
| TMatrixC | Vertex C matrix type |
| P | Point |
| A | Vertex A of the triangle |
| B | Vertex B of the triangle |
| C | Vertex C of the triangle |
| PBAT_HOST_DEVICE auto pbat::geometry::DistanceQueries::SphereTriangle | ( | TMatrixX const & | X, |
| typename TMatrixX::ScalarType | R, | ||
| TMatrixA const & | A, | ||
| TMatrixB const & | B, | ||
| TMatrixC const & | C ) -> typename TMatrixX::ScalarType |
Obtains the squared distance between sphere (X,R) and triangle ABC.
| TMatrixX | Sphere center matrix type |
| TMatrixA | Triangle vertex A matrix type |
| TMatrixB | Triangle vertex B matrix type |
| TMatrixC | Triangle vertex C matrix type |
| X | Sphere center |
| R | Sphere radius |
| A | Vertex A of the triangle |
| B | Vertex B of the triangle |
| C | Vertex C of the triangle |