|
Celeritas 0.7.0-dev.194+develop.0df4cab59
|
A general parallelepiped centered on the origin. More...
#include <IntersectRegion.hh>

Public Member Functions | |
| Parallelepiped (Real3 const &halfedges, Turn alpha, Turn theta, Turn phi) | |
| Construct with a 3-vector of half-edges and three angles. | |
| void | build (IntersectSurfaceBuilder &) const final |
| Build surfaces. | |
| void | output (JsonPimpl *) const final |
| Write output to the given JSON object. | |
| Real3 const & | halfedges () const |
| Half-lengths of edge projections along each axis. | |
| Turn | alpha () const |
| Angle between slanted y edges and the y axis (in turns) | |
| Turn | theta () const |
| Polar angle of main axis (in turns) | |
| Turn | phi () const |
| Azimuthal angle of main axis (in turns) | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::orangeinp::IntersectRegionInterface | |
| CELER_DEFAULT_COPY_MOVE (IntersectRegionInterface) | |
A general parallelepiped centered on the origin.
A parallelepiped is a shape having 3 pairs of parallel faces out of which one is parallel with the x-y plane (z faces). All faces are parallelograms in the general case. The z faces have 2 edges parallel with the x axis. Note that all angle parameters are expressed in terms of fractions of a 360-degree turn.
The shape has the center in the origin and it is defined by:
halfedges: a 3-vector (dY, dY, dZ) with half-lengths of the projections of the edges on X, Y, Z. The lower Z face is positioned at -dZ, and the upper one at +dZ.alpha angle between the segment defined by the centers of the X-parallel edges and Y axis. Validity range is (-1/4, 1/4);theta polar angle of the shape's main axis, e.g. the segment defined by the centers of the Z faces. Validity range is [0, 1/4);phi azimuthal angle of the shape's main axis (as explained above). Validity range is [0, 1).
|
finalvirtual |
Build surfaces.
Implements celeritas::orangeinp::IntersectRegionInterface.
Write output to the given JSON object.
Implements celeritas::orangeinp::IntersectRegionInterface.