|
Celeritas 0.7+c5d231878
|
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. | |
| constexpr Real3 const & | normal () const |
| Normal to the plane. | |
| constexpr 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. | |
| real_type | dot_normal (Real3 const &) const |
| Get the dot product with the normal. | |
| 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 const & | 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.
Get the dot product with the normal.
This is used for intersection, sense, and combined-plane methods.