|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
Sphere centered at an arbitrary point. More...
#include <Sphere.hh>
Public Types | |
| using | Intersections = Array< real_type, 2 > |
| Type aliases. | |
| using | StorageSpan = Span< real_type const, 4 > |
Public Member Functions | |
| CELER_FUNCTION | Sphere (Real3 const &origin, real_type radius) |
| Construct with sphere origin and radius. | |
| template<class R > | |
| CELER_FUNCTION | Sphere (Span< R, StorageSpan::extent >) |
| Construct from raw data. | |
| Sphere (SphereCentered const &other) noexcept | |
| Promote from a centered sphere. | |
| CELER_FUNCTION Real3 const & | origin () const |
| Center position. | |
| 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. | |
Static Public Member Functions | |
| static CELER_CONSTEXPR_FUNCTION SurfaceType | surface_type () |
| Surface type identifier. | |
| static CELER_CONSTEXPR_FUNCTION bool | simple_safety () |
| Safety is intersection along surface normal. | |
| static Sphere | from_radius_sq (Real3 const &origin, real_type rsq) |
| Construct from the square of the radius. | |
Sphere centered at an arbitrary point.
\[ (x - x_0)^2 + (y - y_0)^2 + (z - z_0)^2 - r^2 = 0 \]
Construct from the square of the radius.
This is used for surface simplification.