|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
Distance queries between Mundy geometric primitives. More...
Classes | |
| class | mundy::Circle3DCircle3DObjective< Circle3DType1, Circle3DType2 > |
| class | mundy::PointEllipsoidObjective< PointType, EllipsoidType > |
| struct | mundy::Euclidean |
| The distance types. More... | |
| struct | mundy::SharedNormalSigned |
| struct | mundy::SharedNormalSignedFiniteDiff |
| Tag selecting the finite-difference-gradient variant of the shared-normal signed distance. More... | |
Typedefs | |
| using | mundy::Circle3DCircle3DObjective< Circle3DType1, Circle3DType2 >::Scalar = typename Circle3DType1::value_type |
| using | mundy::PointEllipsoidObjective< PointType, EllipsoidType >::Scalar = typename PointType::value_type |
Free space distance calculations | |
| template<ValidCircle3DType Circle3DType1, ValidCircle3DType Circle3DType2> | |
| Circle3DType1::value_type | mundy::distance (const Circle3DType1 &circle3d1, const Circle3DType2 &circle3d2) |
| template<ValidCircle3DType Circle3DType1, ValidCircle3DType Circle3DType2> | |
| Circle3DType1::value_type | mundy::distance (const Euclidean distance_type, const Circle3DType1 &circle3d1, const Circle3DType2 &circle3d2) |
| template<ValidCircle3DType Circle3DType1, ValidCircle3DType Circle3DType2> | |
| Circle3DType1::value_type | mundy::distance (const Euclidean distance_type, const Circle3DType1 &circle3d1, const Circle3DType2 &circle3d2, Point< typename Circle3DType1::value_type > &closest_point1, Point< typename Circle3DType1::value_type > &closest_point2, mundy::Vector3< typename Circle3DType1::value_type > &shared_normal1, mundy::Vector3< typename Circle3DType1::value_type > &shared_normal2) |
| template<ValidEllipsoidType EllipsoidType1, ValidEllipsoidType EllipsoidType2> | |
| EllipsoidType1::value_type | mundy::distance (const EllipsoidType1 &ellipsoid1, const EllipsoidType2 &ellipsoid2) |
| Ellipsoid–ellipsoid shared-normal signed separation distance. | |
| template<ValidEllipsoidType EllipsoidType1, ValidEllipsoidType EllipsoidType2> | |
| EllipsoidType1::value_type | mundy::distance (const SharedNormalSigned tag, const EllipsoidType1 &ellipsoid1, const EllipsoidType2 &ellipsoid2) |
| 2-arg overload — convenience wrapper for the 6-arg FDF implementation. | |
| template<ValidEllipsoidType EllipsoidType1, ValidEllipsoidType EllipsoidType2> | |
| EllipsoidType1::value_type | mundy::distance (const SharedNormalSigned, const EllipsoidType1 &ellipsoid1, const EllipsoidType2 &ellipsoid2, Point< typename EllipsoidType1::value_type > &closest_point1, Point< typename EllipsoidType1::value_type > &closest_point2, mundy::Vector3< typename EllipsoidType1::value_type > &shared_normal1, mundy::Vector3< typename EllipsoidType1::value_type > &shared_normal2) |
| Full 6-arg distance using the combined FDF L-BFGS minimiser. | |
| template<ValidEllipsoidType EllipsoidType1, ValidEllipsoidType EllipsoidType2> | |
| EllipsoidType1::value_type | mundy::distance (const SharedNormalSignedFiniteDiff tag, const EllipsoidType1 &ellipsoid1, const EllipsoidType2 &ellipsoid2) |
| Finite-difference-gradient variant — retained for benchmarking only. | |
| template<ValidEllipsoidType EllipsoidType1, ValidEllipsoidType EllipsoidType2> | |
| EllipsoidType1::value_type | mundy::distance (const SharedNormalSignedFiniteDiff, const EllipsoidType1 &ellipsoid1, const EllipsoidType2 &ellipsoid2, Point< typename EllipsoidType1::value_type > &closest_point1, Point< typename EllipsoidType1::value_type > &closest_point2, mundy::Vector3< typename EllipsoidType1::value_type > &shared_normal1, mundy::Vector3< typename EllipsoidType1::value_type > &shared_normal2) |
| template<ValidLineType LineType1, ValidLineType LineType2> | |
| LineType1::value_type | mundy::distance (const LineType1 &line1, const LineType2 &line2) |
| Compute the distance between two lines (defaults to SharedNormalSigned distance). | |
| template<ValidLineType LineType1, ValidLineType LineType2> | |
| LineType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineType1 &line1, const LineType2 &line2) |
| Compute the distance between two lines. | |
| template<ValidLineType LineType1, ValidLineType LineType2> | |
| LineType1::value_type | mundy::distance (const Euclidean distance_type, const LineType1 &line1, const LineType2 &line2) |
| Compute the distance between two lines. | |
| template<ValidLineType LineType1, ValidLineType LineType2> | |
| LineType1::value_type | mundy::distance (const LineType1 &line1, const LineType2 &line2, Point< typename LineType1::value_type > &closest_point1, Point< typename LineType1::value_type > &closest_point2, typename LineType1::value_type &arch_length1, typename LineType1::value_type &arch_length2, mundy::Vector3< typename LineType1::value_type > &sep) |
| Compute the distance between two lines (defaults to SharedNormalSigned distance). | |
| template<ValidLineType LineType1, ValidLineType LineType2> | |
| LineType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineType1 &line1, const LineType2 &line2, Point< typename LineType1::value_type > &closest_point1, Point< typename LineType1::value_type > &closest_point2, typename LineType1::value_type &arch_length1, typename LineType1::value_type &arch_length2, mundy::Vector3< typename LineType1::value_type > &sep) |
| Compute the distance between two lines. | |
| template<ValidLineSegmentType LineSegmentType1, ValidLineSegmentType LineSegmentType2> | |
| LineSegmentType1::value_type | mundy::distance (const LineSegmentType1 &line_segment1, const LineSegmentType2 &line_segment2) |
| Compute the distance between two line segments. | |
| template<ValidLineSegmentType LineSegmentType1, ValidLineSegmentType LineSegmentType2> | |
| LineSegmentType1::value_type | mundy::distance (const Euclidean distance_type, const LineSegmentType1 &line_segment1, const LineSegmentType2 &line_segment2) |
| Compute the euclidean separation distance between two line segments. | |
| template<ValidLineSegmentType LineSegmentType1, ValidLineSegmentType LineSegmentType2> | |
| LineSegmentType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineSegmentType1 &line_segment1, const LineSegmentType2 &line_segment2) |
| Compute the euclidean separation distance between two line segments. | |
| template<ValidLineSegmentType LineSegmentType1, ValidLineSegmentType LineSegmentType2> | |
| LineSegmentType1::value_type | mundy::distance (const LineSegmentType1 &line_segment1, const LineSegmentType2 &line_segment2, Point< typename LineSegmentType1::value_type > &closest_point1, Point< typename LineSegmentType1::value_type > &closest_point2, typename LineSegmentType1::value_type &arch_length1, typename LineSegmentType1::value_type &arch_length2, mundy::Vector3< typename LineSegmentType1::value_type > &sep) |
| Compute the distance between two line segments. | |
| template<ValidLineSegmentType LineSegmentType1, ValidLineSegmentType LineSegmentType2> | |
| LineSegmentType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineSegmentType1 &line_segment1, const LineSegmentType2 &line_segment2, Point< typename LineSegmentType1::value_type > &closest_point1, Point< typename LineSegmentType1::value_type > &closest_point2, typename LineSegmentType1::value_type &arch_length1, typename LineSegmentType1::value_type &arch_length2, mundy::Vector3< typename LineSegmentType1::value_type > &sep) |
| Compute the shared normal signed separation distance between two line segments. | |
| template<ValidLineSegmentType LineSegmentType1, ValidLineSegmentType LineSegmentType2> | |
| LineSegmentType1::value_type | mundy::distance (const Euclidean distance_type, const LineSegmentType1 &line_segment1, const LineSegmentType2 &line_segment2, Point< typename LineSegmentType1::value_type > &closest_point1, Point< typename LineSegmentType1::value_type > &closest_point2, typename LineSegmentType1::value_type &arch_length1, typename LineSegmentType1::value_type &arch_length2, mundy::Vector3< typename LineSegmentType1::value_type > &sep) |
| Compute the euclidean distance between two line segments. | |
| template<ValidLineSegmentType LineSegmentType, ValidSphereType SphereType> | |
| LineSegmentType::value_type | mundy::distance (const LineSegmentType &line_segment, const SphereType &sphere) |
| Compute the distance between a line segment and a sphere. | |
| template<ValidLineSegmentType LineSegmentType, ValidSphereType SphereType> | |
| LineSegmentType::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineSegmentType &line_segment, const SphereType &sphere) |
| Compute the shared normal signed separation distance between a line segment and a sphere. | |
| template<ValidLineSegmentType LineSegmentType, ValidSphereType SphereType> | |
| LineSegmentType::value_type | mundy::distance (const LineSegmentType &line_segment, const SphereType &sphere, Point< typename LineSegmentType::value_type > &closest_point, typename LineSegmentType::value_type &arch_length, mundy::Vector3< typename LineSegmentType::value_type > &sep) |
| Compute the distance between a line segment and a sphere. | |
| template<ValidLineSegmentType LineSegmentType, ValidSphereType SphereType> | |
| LineSegmentType::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineSegmentType &line_segment, const SphereType &sphere, Point< typename LineSegmentType::value_type > &closest_point, typename LineSegmentType::value_type &arch_length, mundy::Vector3< typename LineSegmentType::value_type > &sep) |
| Compute the shared normal signed separation distance between a line segment and a sphere. | |
| template<ValidLineType LineType, ValidSphereType SphereType> | |
| LineType::value_type | mundy::distance (const LineType &line, const SphereType &sphere) |
| Compute the distance between a line and a sphere. | |
| template<ValidLineType LineType, ValidSphereType SphereType> | |
| LineType::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineType &line, const SphereType &sphere) |
| Compute the shared normal signed separation distance between a line and a sphere. | |
| template<ValidLineType LineType, ValidSphereType SphereType> | |
| LineType::value_type | mundy::distance (const LineType &line, const SphereType &sphere, Point< typename LineType::value_type > &closest_point, typename LineType::value_type &arch_length, mundy::Vector3< typename LineType::value_type > &sep) |
| Compute the distance between a line and a sphere. | |
| template<ValidLineType LineType, ValidSphereType SphereType> | |
| LineType::value_type | mundy::distance (const SharedNormalSigned distance_type, const LineType &line, const SphereType &sphere, Point< typename LineType::value_type > &closest_point, typename LineType::value_type &arch_length, mundy::Vector3< typename LineType::value_type > &sep) |
| Compute the shared normal signed separation distance between a line and a sphere. | |
| template<ValidPointType PointType, ValidEllipsoidType EllipsoidType> | |
| PointType::value_type | mundy::distance (const PointType &point, const EllipsoidType &ellipsoid) |
| template<ValidPointType PointType, ValidEllipsoidType EllipsoidType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const EllipsoidType &ellipsoid) |
| template<ValidPointType PointType, ValidEllipsoidType EllipsoidType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const EllipsoidType &ellipsoid, Point< typename PointType::value_type > &closest_point, mundy::Vector3< typename PointType::value_type > &ellipsoid_normal) |
| template<ValidPointType PointType, ValidLineType LineType> | |
| PointType::value_type | mundy::distance (const PointType &point, const LineType &line) |
| Compute the shared normal signed separation distance between a point and a line. | |
| template<ValidPointType PointType, ValidLineType LineType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const LineType &line) |
| Compute the shared normal signed separation distance between a point and a line. | |
| template<ValidPointType PointType, ValidLineType LineType> | |
| PointType::value_type | mundy::distance (const PointType &point, const LineType &line, Point< typename PointType::value_type > &closest_point, typename PointType::value_type &arch_length, mundy::Vector3< typename PointType::value_type > &sep) |
| Compute the euclidean distance between a point and a line. | |
| template<ValidPointType PointType, ValidLineType LineType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const LineType &line, Point< typename PointType::value_type > &closest_point, typename PointType::value_type &arch_length, mundy::Vector3< typename PointType::value_type > &sep) |
| Compute the shared normal signed separation distance between a point and a line. | |
| template<ValidPointType PointType, ValidLineSegmentType LineSegmentType> | |
| PointType::value_type | mundy::distance (const PointType &point, const LineSegmentType &line_segment) |
| Compute the shared normal signed separation distance between a point and a line segment. | |
| template<ValidPointType PointType, ValidLineSegmentType LineSegmentType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const LineSegmentType &line_segment) |
| Compute the shared normal signed separation distance between a point and a line segment. | |
| template<ValidPointType PointType, ValidLineSegmentType LineSegmentType> | |
| PointType::value_type | mundy::distance (const PointType &point, const LineSegmentType &line_segment, Point< typename PointType::value_type > &closest_point, typename PointType::value_type &arch_length, mundy::Vector3< typename PointType::value_type > &sep) |
| Compute the euclidean distance between a point and a line segment. | |
| template<ValidPointType PointType, ValidLineSegmentType LineSegmentType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const LineSegmentType &line_segment, Point< typename PointType::value_type > &closest_point, typename PointType::value_type &arch_length, mundy::Vector3< typename PointType::value_type > &sep) |
| Compute the shared normal signed separation distance between a point and a line segment. | |
| template<ValidPointType PointType1, ValidPointType PointType2> | |
| PointType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType1 &point1, const PointType2 &point2) |
| Compute the shared normal signed separation distance between two points. | |
| template<ValidPointType PointType1, ValidPointType PointType2> | |
| PointType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType1 &point1, const PointType2 &point2, mundy::Vector3< typename PointType1::value_type > &sep) |
| Compute the shared normal signed separation distance between two points. | |
| template<ValidPointType PointType1, ValidPointType PointType2> | |
| PointType1::value_type | mundy::distance (const Euclidean distance_type, const PointType1 &point1, const PointType2 &point2) |
| Compute the euclidean distance between two points. | |
| template<ValidPointType PointType1, ValidPointType PointType2> | |
| PointType1::value_type | mundy::distance (const Euclidean distance_type, const PointType1 &point1, const PointType2 &point2, mundy::Vector3< typename PointType1::value_type > &sep) |
| Compute the euclidean distance between two points. | |
| template<ValidPointType PointType1, ValidPointType PointType2> | |
| PointType1::value_type | mundy::distance (const PointType1 &point1, const PointType2 &point2) |
| Compute the shared normal signed separation distance between two points. | |
| template<ValidPointType PointType1, ValidPointType PointType2> | |
| PointType1::value_type | mundy::distance (const PointType1 &point1, const PointType2 &point2, mundy::Vector3< typename PointType1::value_type > &sep) |
| Compute the euclidean distance between two points. | |
| template<ValidPointType PointType, ValidSphereType SphereType> | |
| PointType::value_type | mundy::distance (const PointType &point, const SphereType &sphere) |
| Compute the shared normal signed separation distance between a point and a sphere. | |
| template<ValidPointType PointType, ValidSphereType SphereType> | |
| PointType::value_type | mundy::distance (const SharedNormalSigned distance_type, const PointType &point, const SphereType &sphere) |
| Compute the shared normal signed separation distance between a point and a sphere. | |
| template<ValidPointType PointType, ValidSphereType SphereType> | |
| PointType::value_type | mundy::distance (const PointType &point, const SphereType &sphere, mundy::Vector3< typename PointType::value_type > &sep) |
| Compute the distance between a point and a sphere. | |
| template<ValidSphereType SphereType1, ValidSphereType SphereType2> | |
| SphereType1::value_type | mundy::distance (const SphereType1 &sphere1, const SphereType2 &sphere2) |
| Compute the shared normal signed separation distance between two spheres. | |
| template<ValidSphereType SphereType1, ValidSphereType SphereType2> | |
| SphereType1::value_type | mundy::distance (const SharedNormalSigned distance_type, const SphereType1 &sphere1, const SphereType2 &sphere2) |
| Compute the shared normal signed separation distance between two spheres. | |
| template<ValidSphereType SphereType1, ValidSphereType SphereType2> | |
| SphereType1::value_type | mundy::distance (const SphereType1 &sphere1, const SphereType2 &sphere2, mundy::Vector3< typename SphereType1::value_type > &sep) |
| Compute the distance between two spheres. | |
| using mundy::Circle3DCircle3DObjective< Circle3DType1, Circle3DType2 >::Scalar = typename Circle3DType1::value_type |
| using mundy::PointEllipsoidObjective< PointType, EllipsoidType >::Scalar = typename PointType::value_type |
| Circle3DType1::value_type mundy::distance | ( | const Circle3DType1 & | circle3d1, |
| const Circle3DType2 & | circle3d2 ) |
| Circle3DType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const Circle3DType1 & | circle3d1, | ||
| const Circle3DType2 & | circle3d2 ) |
|
inline |
|
inline |
|
inline |
| Circle3DType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const Circle3DType1 & | circle3d1, | ||
| const Circle3DType2 & | circle3d2, | ||
| Point< typename Circle3DType1::value_type > & | closest_point1, | ||
| Point< typename Circle3DType1::value_type > & | closest_point2, | ||
| mundy::Vector3< typename Circle3DType1::value_type > & | shared_normal1, | ||
| mundy::Vector3< typename Circle3DType1::value_type > & | shared_normal2 ) |
| EllipsoidType1::value_type mundy::distance | ( | const EllipsoidType1 & | ellipsoid1, |
| const EllipsoidType2 & | ellipsoid2 ) |
Dispatches to distance(SharedNormalSigned{}, ...). The implementation uses a combined cost-and-gradient (FDF) L-BFGS minimiser over a 3×3 grid of initial guesses.
| EllipsoidType1::value_type mundy::distance | ( | const SharedNormalSigned | tag, |
| const EllipsoidType1 & | ellipsoid1, | ||
| const EllipsoidType2 & | ellipsoid2 ) |
| EllipsoidType1::value_type mundy::distance | ( | const SharedNormalSigned | , |
| const EllipsoidType1 & | ellipsoid1, | ||
| const EllipsoidType2 & | ellipsoid2, | ||
| Point< typename EllipsoidType1::value_type > & | closest_point1, | ||
| Point< typename EllipsoidType1::value_type > & | closest_point2, | ||
| mundy::Vector3< typename EllipsoidType1::value_type > & | shared_normal1, | ||
| mundy::Vector3< typename EllipsoidType1::value_type > & | shared_normal2 ) |
Each evaluation point in the minimiser calls map_surface_normal_to_foot_point_on_ellipsoid exactly once for each ellipsoid, with the result shared between the objective value and the analytical gradient.
| EllipsoidType1::value_type mundy::distance | ( | const SharedNormalSignedFiniteDiff | tag, |
| const EllipsoidType1 & | ellipsoid1, | ||
| const EllipsoidType2 & | ellipsoid2 ) |
Uses central-difference approximations for the L-BFGS gradient instead of the analytical gradient. Kept so that timing and accuracy comparisons with the default FDF implementation remain reproducible. Not intended for production use.
| EllipsoidType1::value_type mundy::distance | ( | const SharedNormalSignedFiniteDiff | , |
| const EllipsoidType1 & | ellipsoid1, | ||
| const EllipsoidType2 & | ellipsoid2, | ||
| Point< typename EllipsoidType1::value_type > & | closest_point1, | ||
| Point< typename EllipsoidType1::value_type > & | closest_point2, | ||
| mundy::Vector3< typename EllipsoidType1::value_type > & | shared_normal1, | ||
| mundy::Vector3< typename EllipsoidType1::value_type > & | shared_normal2 ) |
| LineType1::value_type mundy::distance | ( | const LineType1 & | line1, |
| const LineType2 & | line2 ) |
| Scalar | The scalar type |
| [in] | line1 | One line |
| [in] | line2 | The other line |
| LineType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineType1 & | line1, | ||
| const LineType2 & | line2 ) |
| Scalar | The scalar type |
| [in] | distance_type | The distance type |
| [in] | line1 | One line |
| [in] | line2 | The other line |
| LineType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const LineType1 & | line1, | ||
| const LineType2 & | line2 ) |
| Scalar | The scalar type |
| [in] | distance_type | The distance type |
| [in] | line1 | One line |
| [in] | line2 | The other line |
| LineType1::value_type mundy::distance | ( | const LineType1 & | line1, |
| const LineType2 & | line2, | ||
| Point< typename LineType1::value_type > & | closest_point1, | ||
| Point< typename LineType1::value_type > & | closest_point2, | ||
| typename LineType1::value_type & | arch_length1, | ||
| typename LineType1::value_type & | arch_length2, | ||
| mundy::Vector3< typename LineType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line1 | One line |
| [in] | line2 | The other line |
| [out] | closest_point1 | The closest point on line1 |
| [out] | closest_point2 | The closest point on line2 |
| [out] | arch_length1 | The arch-length parameter of the closest point on line1 |
| [out] | arch_length2 | The arch-length parameter of the closest point on line2 |
| [out] | sep | The separation vector (from line1 to line2) |
| LineType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineType1 & | line1, | ||
| const LineType2 & | line2, | ||
| Point< typename LineType1::value_type > & | closest_point1, | ||
| Point< typename LineType1::value_type > & | closest_point2, | ||
| typename LineType1::value_type & | arch_length1, | ||
| typename LineType1::value_type & | arch_length2, | ||
| mundy::Vector3< typename LineType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | distance_type | The distance type |
| [in] | line1 | One line |
| [in] | line2 | The other line |
| [out] | closest_point1 | The closest point on line1 |
| [out] | closest_point2 | The closest point on line2 |
| [out] | arch_length1 | The arch-length parameter of the closest point on line1 |
| [out] | arch_length2 | The arch-length parameter of the closest point on line2 |
| [out] | sep | The separation vector (from line1 to line2) |
| LineSegmentType1::value_type mundy::distance | ( | const LineSegmentType1 & | line_segment1, |
| const LineSegmentType2 & | line_segment2 ) |
| Scalar | The scalar type |
| [in] | line_segment1 | The first line segment |
| [in] | line_segment2 | The second line segment |
| LineSegmentType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const LineSegmentType1 & | line_segment1, | ||
| const LineSegmentType2 & | line_segment2 ) |
| Scalar | The scalar type |
| [in] | line_segment1 | The first line segment |
| [in] | line_segment2 | The second line segment |
| LineSegmentType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineSegmentType1 & | line_segment1, | ||
| const LineSegmentType2 & | line_segment2 ) |
| Scalar | The scalar type |
| [in] | line_segment1 | The first line segment |
| [in] | line_segment2 | The second line segment |
| LineSegmentType1::value_type mundy::distance | ( | const LineSegmentType1 & | line_segment1, |
| const LineSegmentType2 & | line_segment2, | ||
| Point< typename LineSegmentType1::value_type > & | closest_point1, | ||
| Point< typename LineSegmentType1::value_type > & | closest_point2, | ||
| typename LineSegmentType1::value_type & | arch_length1, | ||
| typename LineSegmentType1::value_type & | arch_length2, | ||
| mundy::Vector3< typename LineSegmentType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line_segment1 | The first line segment |
| [in] | line_segment2 | The second line segment |
| [out] | closest_point1 | The closest point on the first line segment |
| [out] | closest_point2 | The closest point on the second line segment |
| [out] | arch_length1 | The arch-length parameter of the closest point on the first line segment |
| [out] | arch_length2 | The arch-length parameter of the closest point on the second line segment |
| [out] | sep | The separation vector (from line_segment1 to line_segment2) |
| LineSegmentType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineSegmentType1 & | line_segment1, | ||
| const LineSegmentType2 & | line_segment2, | ||
| Point< typename LineSegmentType1::value_type > & | closest_point1, | ||
| Point< typename LineSegmentType1::value_type > & | closest_point2, | ||
| typename LineSegmentType1::value_type & | arch_length1, | ||
| typename LineSegmentType1::value_type & | arch_length2, | ||
| mundy::Vector3< typename LineSegmentType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line_segment1 | The first line segment |
| [in] | line_segment2 | The second line segment |
| [out] | closest_point1 | The closest point on the first line segment |
| [out] | closest_point2 | The closest point on the second line segment |
| [out] | arch_length1 | The arch-length parameter of the closest point on the first line segment |
| [out] | arch_length2 | The arch-length parameter of the closest point on the second line segment |
| [out] | sep | The separation vector (from line_segment1 to line_segment2) |
| LineSegmentType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const LineSegmentType1 & | line_segment1, | ||
| const LineSegmentType2 & | line_segment2, | ||
| Point< typename LineSegmentType1::value_type > & | closest_point1, | ||
| Point< typename LineSegmentType1::value_type > & | closest_point2, | ||
| typename LineSegmentType1::value_type & | arch_length1, | ||
| typename LineSegmentType1::value_type & | arch_length2, | ||
| mundy::Vector3< typename LineSegmentType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line_segment1 | The first line segment |
| [in] | line_segment2 | The second line segment |
| [out] | closest_point1 | The closest point on the first line segment |
| [out] | closest_point2 | The closest point on the second line segment |
| [out] | arch_length1 | The arch-length parameter of the closest point on the first line segment |
| [out] | arch_length2 | The arch-length parameter of the closest point on the second line segment |
| [out] | sep | The separation vector (from line_segment1 to line_segment2) |
| LineSegmentType::value_type mundy::distance | ( | const LineSegmentType & | line_segment, |
| const SphereType & | sphere ) |
| Scalar | The scalar type |
| [in] | line_segment | The line segment |
| [in] | sphere | The sphere |
| LineSegmentType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineSegmentType & | line_segment, | ||
| const SphereType & | sphere ) |
| Scalar | The scalar type |
| [in] | line_segment | The line segment |
| [in] | sphere | The sphere |
| LineSegmentType::value_type mundy::distance | ( | const LineSegmentType & | line_segment, |
| const SphereType & | sphere, | ||
| Point< typename LineSegmentType::value_type > & | closest_point, | ||
| typename LineSegmentType::value_type & | arch_length, | ||
| mundy::Vector3< typename LineSegmentType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line_segment | The line segment |
| [in] | sphere | The sphere |
| [out] | closest_point | The closest point on the line segment |
| [out] | arch_length | The arch-length parameter of the closest point on the line segment |
| [out] | sep | The separation vector (from line_segment to sphere) |
| LineSegmentType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineSegmentType & | line_segment, | ||
| const SphereType & | sphere, | ||
| Point< typename LineSegmentType::value_type > & | closest_point, | ||
| typename LineSegmentType::value_type & | arch_length, | ||
| mundy::Vector3< typename LineSegmentType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line_segment | The line segment |
| [in] | sphere | The sphere |
| [out] | closest_point | The closest point on the line segment |
| [out] | arch_length | The arch-length parameter of the closest point on the line segment |
| [out] | sep | The separation vector (from line_segment to sphere) |
| LineType::value_type mundy::distance | ( | const LineType & | line, |
| const SphereType & | sphere ) |
| Scalar | The scalar type |
| [in] | line | The line |
| [in] | sphere | The sphere |
| LineType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineType & | line, | ||
| const SphereType & | sphere ) |
| Scalar | The scalar type |
| [in] | line | The line |
| [in] | sphere | The sphere |
| LineType::value_type mundy::distance | ( | const LineType & | line, |
| const SphereType & | sphere, | ||
| Point< typename LineType::value_type > & | closest_point, | ||
| typename LineType::value_type & | arch_length, | ||
| mundy::Vector3< typename LineType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line | The line |
| [in] | sphere | The sphere |
| [out] | closest_point | The closest point on the line |
| [out] | arch_length | The arch-length parameter of the closest point on the line |
| [out] | sep | The separation vector (from line to sphere) |
| LineType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const LineType & | line, | ||
| const SphereType & | sphere, | ||
| Point< typename LineType::value_type > & | closest_point, | ||
| typename LineType::value_type & | arch_length, | ||
| mundy::Vector3< typename LineType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | line | The line |
| [in] | sphere | The sphere |
| [out] | closest_point | The closest point on the line |
| [out] | arch_length | The arch-length parameter of the closest point on the line |
| [out] | sep | The separation vector (from line to sphere) |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const EllipsoidType & | ellipsoid ) |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const EllipsoidType & | ellipsoid ) |
|
inline |
|
inline |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const EllipsoidType & | ellipsoid, | ||
| Point< typename PointType::value_type > & | closest_point, | ||
| mundy::Vector3< typename PointType::value_type > & | ellipsoid_normal ) |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const LineType & | line ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line | The line |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const LineType & | line ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line | The line |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const LineType & | line, | ||
| Point< typename PointType::value_type > & | closest_point, | ||
| typename PointType::value_type & | arch_length, | ||
| mundy::Vector3< typename PointType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line | The line |
| [out] | closest_point | The closest point on the line |
| [out] | arch_length | The arch-length parameter of the closest point on the line |
| [out] | sep | The separation vector (from point to line) |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const LineType & | line, | ||
| Point< typename PointType::value_type > & | closest_point, | ||
| typename PointType::value_type & | arch_length, | ||
| mundy::Vector3< typename PointType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line | The line |
| [out] | closest_point | The closest point on the line |
| [out] | arch_length | The arch-length parameter of the closest point on the line |
| [out] | sep | The separation vector (from point to line) |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const LineSegmentType & | line_segment ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line_segment | The line segment |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const LineSegmentType & | line_segment ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line_segment | The line segment |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const LineSegmentType & | line_segment, | ||
| Point< typename PointType::value_type > & | closest_point, | ||
| typename PointType::value_type & | arch_length, | ||
| mundy::Vector3< typename PointType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line_segment | The line segment |
| [out] | closest_point | The closest point on the line segment |
| [out] | arch_length | The arch-length parameter of the closest point on the line segment |
| [out] | sep | The separation vector (from point to line segment) |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const LineSegmentType & | line_segment, | ||
| Point< typename PointType::value_type > & | closest_point, | ||
| typename PointType::value_type & | arch_length, | ||
| mundy::Vector3< typename PointType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | line_segment | The line segment |
| [out] | closest_point | The closest point on the line segment |
| [out] | arch_length | The arch-length parameter of the closest point on the line segment |
| [out] | sep | The separation vector (from point to line segment) |
| PointType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType1 & | point1, | ||
| const PointType2 & | point2 ) |
| Scalar | The scalar type |
| [in] | point1 | The first point |
| [in] | point2 | The second point |
| PointType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType1 & | point1, | ||
| const PointType2 & | point2, | ||
| mundy::Vector3< typename PointType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point1 | The first point |
| [in] | point2 | The second point |
| [out] | sep | The separation vector (from point1 to point2) |
| PointType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const PointType1 & | point1, | ||
| const PointType2 & | point2 ) |
| Scalar | The scalar type |
| [in] | point1 | The first point |
| [in] | point2 | The second point |
| PointType1::value_type mundy::distance | ( | const Euclidean | distance_type, |
| const PointType1 & | point1, | ||
| const PointType2 & | point2, | ||
| mundy::Vector3< typename PointType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point1 | The first point |
| [in] | point2 | The second point |
| [out] | sep | The separation vector (from point1 to point2) |
| PointType1::value_type mundy::distance | ( | const PointType1 & | point1, |
| const PointType2 & | point2 ) |
| Scalar | The scalar type |
| [in] | point1 | The first point |
| [in] | point2 | The second point |
| PointType1::value_type mundy::distance | ( | const PointType1 & | point1, |
| const PointType2 & | point2, | ||
| mundy::Vector3< typename PointType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point1 | The first point |
| [in] | point2 | The second point |
| [out] | sep | The separation vector (from point1 to point2) |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const SphereType & | sphere ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | sphere | The sphere |
| PointType::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const PointType & | point, | ||
| const SphereType & | sphere ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | sphere | The sphere |
| PointType::value_type mundy::distance | ( | const PointType & | point, |
| const SphereType & | sphere, | ||
| mundy::Vector3< typename PointType::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | point | The point |
| [in] | sphere | The sphere |
| [out] | sep | The separation vector (from point to sphere) |
| SphereType1::value_type mundy::distance | ( | const SphereType1 & | sphere1, |
| const SphereType2 & | sphere2 ) |
| Scalar | The scalar type |
| [in] | sphere1 | One sphere |
| [in] | sphere2 | The other sphere |
| SphereType1::value_type mundy::distance | ( | const SharedNormalSigned | distance_type, |
| const SphereType1 & | sphere1, | ||
| const SphereType2 & | sphere2 ) |
| Scalar | The scalar type |
| [in] | sphere1 | One sphere |
| [in] | sphere2 | The other sphere |
| SphereType1::value_type mundy::distance | ( | const SphereType1 & | sphere1, |
| const SphereType2 & | sphere2, | ||
| mundy::Vector3< typename SphereType1::value_type > & | sep ) |
| Scalar | The scalar type |
| [in] | sphere1 | One sphere |
| [in] | sphere2 | The other sphere |
| [out] | sep | The separation vector (from the surface of sphere1 to the surface of sphere2) |