|
Celeritas 0.7.0-dev.252+develop.478e7a17
|
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 constexpr SurfaceType | surface_type () |
| Surface type identifier. | |
| static constexpr bool | simple_safety () |
| Safety is intersection along surface normal. | |
| Plane (Real3 const &n, Real3 const &p) | |
| Construct with unit normal and point. | |
| Plane (Real3 const &n, real_type d) | |
| Construct with unit normal and displacement. | |
| template<class R > | |
| Plane (Span< R, StorageSpan::extent >) | |
| Construct from raw data. | |
| template<Axis T> | |
| Plane (PlaneAligned< T > const &other) noexcept | |
| Promote from an axis-aligned plane. | |
| Real3 const & | normal () const |
| Normal to the plane. | |
| real_type | displacement () const |
| Distance from the origin along the normal to the plane. | |
| StorageSpan | data () const |
| Get a view to the data for type-deleted storage. | |
| SignedSense | calc_sense (Real3 const &pos) const |
| Determine the sense of the position relative to this surface. | |
| Intersections | calc_intersections (Real3 const &pos, Real3 const &dir, SurfaceState on_surface) const |
| Calculate all possible straight-line intersections with this surface. | |
| 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 \]
Construct with unit normal and point.
Displacement is the dot product of the point and the normal.