|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Pairs crossings, in order, into spans: a span from each crossing the ray enters at to the next it leaves at. More...
#include <EBGeometry_RaySpans.hpp>
Public Member Functions | |
| void | take (const SpanEndT< T > &a_end, const bool a_entering, const T a_t0, RaySpansT< T > &a_spans) noexcept |
| Take the next crossing. | |
| void | finish (const T a_t, RaySpansT< T > &a_spans) noexcept |
| Close the open span, if any, at an Open end. | |
Public Attributes | |
| SpanEndT< T > | m_start |
| Where the open span begins. | |
| bool | m_inside = false |
| Whether a span is open. | |
| bool | m_first = true |
| Whether no crossing has been seen yet. | |
Pairs crossings, in order, into spans: a span from each crossing the ray enters at to the next it leaves at.
Internal helper; not part of the public API. A crossing the ray leaves at before any it enters at closes a span from the start of the interval; a repeated crossing of the same kind (a ray through an edge shared by two faces crosses both) is skipped.
| T | Floating-point precision. |
|
inlinenoexcept |
Close the open span, if any, at an Open end.
| [in] | a_t | Where it ends. |
| [in,out] | a_spans | The list. |
|
inlinenoexcept |
Take the next crossing.
| [in] | a_end | The crossing. |
| [in] | a_entering | Whether the ray enters there. |
| [in] | a_t0 | Start of the interval. |
| [in,out] | a_spans | The list. |