|
Celeritas 0.7.0-dev.160+develop.e5753653a
|
Arbitrarily oriented plane. More...
#include <Plane.hh>
Type aliases | |
| using | Intersections = Array< real_type, 1 > |
| Surface type identifier. | |
| using | StorageSpan = Span< real_type const, 4 > |
| 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. | |
| CELER_FUNCTION | Plane (Real3 const &n, Real3 const &p) |
| Construct with unit normal and point. | |
| CELER_FUNCTION | Plane (Real3 const &n, real_type d) |
| Construct with unit normal and displacement. | |
| template<class R > | |
| CELER_FUNCTION | Plane (Span< R, StorageSpan::extent >) |
| Construct from raw data. | |
| template<Axis T> | |
| Plane (PlaneAligned< T > const &other) noexcept | |
| Promote from an axis-aligned plane. | |
| CELER_FUNCTION Real3 const & | normal () const |
| Normal to the plane. | |
| CELER_FUNCTION real_type | displacement () const |
| Distance from the origin along the normal to the plane. | |
| 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 &) const |
| Calculate outward normal at a position on the surface. | |
Arbitrarily oriented plane.
A plane is a first-order quadric that satisfies
\[ ax + bx + cz - d = 0 \]
|
inline |
Construct with unit normal and point.
Displacement is the dot product of the point and the normal.