|
Celeritas 0.7.0-dev.196+develop.8d0d9047c
|
Define the azimuthal truncation of a solid. More...
#include <Solid.hh>
Public Types | |
Type aliases | |
| using | SenseWedge = std::pair< Sense, InfAziWedge > |
Public Member Functions | |
| EnclosedAzi ()=default | |
| Default to "all angles". | |
| EnclosedAzi (Turn start, Turn stop) | |
| Construct from a starting angle and stop angle. | |
| SenseWedge | make_sense_region () const |
| Construct a wedge shape to intersect (inside) or subtract (outside). | |
| constexpr | operator bool () const |
| Whether the enclosed angle is not a full circle. | |
| Turn | start () const |
| Starting angle. | |
| Turn | stop () const |
| stop angle | |
Define the azimuthal truncation of a solid.
This is a pie slice infinite along the z axis and outward from it. Its cross section is in the x-y plane, and a start angle of zero corresponding to the +x axis. An interior angle of one results in no radial exclusion from the resulting solid. A interior angle of more than 0.5 turns (180 degrees) results in a wedge being subtracted from the solid, and an angle of less than or equal to 0.5 turns results in the intersection of the solid with a wedge.
An instance of this class evaluates to true if truncation is to take place, or false if the enclosed angle is a full circle.
| auto celeritas::orangeinp::EnclosedAzi::make_sense_region | ( | ) | const |
Construct a wedge shape to intersect (inside) or subtract (outside).
The resulting wedge must be less than a half turn.
Whether the enclosed angle is not a full circle.
Note that the constructor does not allow a full circle, so only the default constructor can set values of zero and 1.