EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
EBGeometry::CrossingT< T > Struct Template Reference

Where a ray first crosses a surface, without the normal or the primitive there: what firstCrossing() returns. More...

#include <EBGeometry_Ray.hpp>

Public Member Functions

bool hit () const noexcept
 Whether the ray crosses the surface.
 

Public Attributes

HitStatus m_status = HitStatus::Miss
 Whether the ray crosses the surface.
 
T m_t = Math::Limits<T>::infinity()
 Distance along the ray: of the crossing for a hit, of the last point reached for an unresolved query, and infinity for a miss.
 
Vec3T< T > m_point = Vec3T<T>::zeros()
 The point at m_t (for a hit or an unresolved query).
 
bool m_entering = false
 Whether the ray enters the object there (it was outside just before), rather than leaving it.
 
bool m_exact = false
 Whether the crossing is exact (found by a ray form), rather than found to within RayOptions::m_tolerance by marching.
 

Detailed Description

template<class T>
struct EBGeometry::CrossingT< T >

Where a ray first crosses a surface, without the normal or the primitive there: what firstCrossing() returns.

For callers that need only the point, such as a cut-cell code cutting cell edges or a particle code finding a collision distance. Its fields mean what HitT's of the same names do.

Template Parameters
TFloating-point precision.

Member Function Documentation

◆ hit()

template<class T >
bool EBGeometry::CrossingT< T >::hit ( ) const
inlinenoexcept

Whether the ray crosses the surface.

Returns
m_status == HitStatus::Hit.

The documentation for this struct was generated from the following file: