|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Where a ray is inside a convex piece: [m_in, m_out], with the outward normals there; empty if m_in > m_out. More...
#include <EBGeometry_OffsetRayForms.hpp>
Public Member Functions | |
| bool | hit () const noexcept |
| Whether the ray meets the piece. | |
| void | clip (const RayT< T > &a_ray, const Vec3T< T > &a_n, const T a_d) noexcept |
| Clip to the half-space n . x <= d. | |
| void | unite (const Piece &a_other) noexcept |
| Unite with another piece, the union being convex: the nearer entry and the farther exit. | |
Static Public Member Functions | |
| static Piece | empty () noexcept |
| An empty piece. | |
Public Attributes | |
| T | m_in = -Math::Limits<T>::infinity() |
| Where the ray enters. | |
| T | m_out = Math::Limits<T>::infinity() |
| Where it leaves. | |
| Vec3T< T > | m_nIn = Vec3T<T>::zeros() |
| Outward normal where it enters. | |
| Vec3T< T > | m_nOut = Vec3T<T>::zeros() |
| Outward normal where it leaves. | |
Where a ray is inside a convex piece: [m_in, m_out], with the outward normals there; empty if m_in > m_out.
Internal helper; not part of the public API.
| T | Floating-point precision. |
|
inlinenoexcept |
Clip to the half-space n . x <= d.
| [in] | a_ray | The ray. |
| [in] | a_n | Outward normal, unit length. |
| [in] | a_d | Offset. |
|
inlinestaticnoexcept |
An empty piece.
|
inlinenoexcept |
Whether the ray meets the piece.
|
inlinenoexcept |
Unite with another piece, the union being convex: the nearer entry and the farther exit.
| [in] | a_other | The other piece. |