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 |