The union of the offset faces a ray meets, as disjoint spans merged as they come, at most Capacity: an offset face that would begin a span beyond them is dropped and lowers the horizon to its entry, which is also the walk's bound, so that the boxes beyond are left out.
More...
#include <EBGeometry_OffsetRayForms.hpp>
|
| void | insert (T a_in, T a_out, Vec3T< T > a_nOut) noexcept |
| | Take a piece.
|
| |
| void | toSpans (const T a_t0, RaySpansT< T > &a_spans) const noexcept |
| | The union as a list over [a_t0, horizon].
|
| |
|
|
T | m_in [Capacity] |
| | Entries.
|
| |
|
T | m_out [Capacity] |
| | Exits.
|
| |
|
Vec3T< T > | m_nOut [Capacity] |
| | Outward normals at the exits, of the piece each exit is on.
|
| |
|
uint32_t | m_count = 0 |
| | How many are held.
|
| |
|
T | m_horizon = Math::Limits<T>::infinity() |
| | The union is known on [t0, m_horizon].
|
| |
|
|
static constexpr uint32_t | Capacity = 4 |
| | Most spans held.
|
| |
template<class T>
struct EBGeometry::RayDetail::OffsetFaceUnion< T >
The union of the offset faces a ray meets, as disjoint spans merged as they come, at most Capacity: an offset face that would begin a span beyond them is dropped and lowers the horizon to its entry, which is also the walk's bound, so that the boxes beyond are left out.
Internal helper; not part of the public API.
- Template Parameters
-
| T | Floating-point precision. |
◆ insert()
Take a piece.
- Parameters
-
| [in] | a_in | Entry. |
| [in] | a_out | Exit. |
| [in] | a_nOut | Outward normal at the exit. |
◆ toSpans()
The union as a list over [a_t0, horizon].
A span entered exactly at a_t0 keeps its crossing: a trace starting again from a horizon starts at the entry of the span it dropped there.
- Parameters
-
| [in] | a_t0 | Start of the interval. |
| [out] | a_spans | The list. |
The documentation for this struct was generated from the following file: