Celeritas
0.5.0-56+6b053cd
|
Sphere centered at the origin. More...
#include <SphereCentered.hh>
Type aliases | |
using | Intersections = Array< real_type, 2 > |
Surface type identifier. | |
using | StorageSpan = Span< real_type const, 1 > |
Surface type identifier. | |
static CELER_CONSTEXPR_FUNCTION SurfaceType | surface_type () |
Surface type identifier. | |
static CELER_CONSTEXPR_FUNCTION bool | simple_safety () |
Safety is intersection along surface normal. | |
static SphereCentered | from_radius_sq (real_type rsq) |
Construct from the square of the radius. More... | |
CELER_FUNCTION | SphereCentered (real_type radius) |
Construct with sphere radius. | |
template<class R > | |
CELER_FUNCTION | SphereCentered (Span< R, StorageSpan::extent >) |
Construct from raw data. | |
CELER_FUNCTION real_type | radius_sq () const |
Square of the radius. | |
CELER_FUNCTION StorageSpan | data () const |
Get a view to the data for type-deleted storage. | |
CELER_FUNCTION SignedSense | calc_sense (Real3 const &pos) const |
Determine the sense of the position relative to this surface. | |
CELER_FUNCTION Intersections | calc_intersections (Real3 const &pos, Real3 const &dir, SurfaceState on_surface) const |
Calculate all possible straight-line intersections with this surface. | |
CELER_FUNCTION Real3 | calc_normal (Real3 const &pos) const |
Calculate outward normal at a position. | |
Sphere centered at the origin.
|
inlinestatic |
Construct from the square of the radius.
This is used for surface simplification.