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 file contains functions to answer distance queries. More...
#include "ClosestPointQueries.h"
#include "OverlapQueries.h"
#include "pbat/HostDevice.h"
#include "pbat/math/linalg/mini/Mini.h"
#include <algorithm>
Go to the source code of this file.
Namespaces | |
namespace | pbat |
The main namespace of the library. | |
namespace | pbat::geometry |
Geometric queries, quantities and data structures. | |
namespace | pbat::geometry::DistanceQueries |
This namespace contains functions to answer distance queries. | |
Functions | |
template<mini::CMatrix TMatrixL1, mini::CMatrix TMatrixU1, mini::CMatrix TMatrixL2, mini::CMatrix TMatrixU2> | |
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. | |
template<mini::CMatrix TMatrixP, mini::CMatrix TMatrixL, mini::CMatrix TMatrixU> | |
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) | |
template<mini::CMatrix TMatrixP, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC> | |
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. | |
template<mini::CMatrix TMatrixP, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC, mini::CMatrix TMatrixD> | |
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. | |
template<mini::CMatrix TMatrixX, mini::CMatrix TMatrixP, mini::CMatrix TMatrixN> | |
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) | |
template<mini::CMatrix TMatrixX, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC> | |
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. | |
template<mini::CMatrix TMatrixX, mini::CMatrix TMatrixA, mini::CMatrix TMatrixB, mini::CMatrix TMatrixC> | |
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. | |
This file contains functions to answer distance queries.