Celeritas 0.6.0-67+develop.47f47c88
|
A shape formed by truncating another region with axis-aligned planes. More...
#include <Truncated.hh>
Public Types | |
using | Plane = InfPlane |
using | VecPlane = std::vector< Plane > |
using | UPRegion = std::unique_ptr< IntersectRegionInterface > |
![]() | |
using | SPConstObject = std::shared_ptr< ObjectInterface const > |
using | VolumeBuilder = detail::VolumeBuilder |
Public Member Functions | |
Truncated (std::string &&label, UPRegion &®ion, VecPlane &&planes) | |
Construct with region to truncate and truncating planes. | |
NodeId | build (VolumeBuilder &vb) const final |
Construct a volume from this shape. | |
void | output (JsonPimpl *) const final |
Write output to the given JSON object. | |
std::string_view | label () const final |
Get the label for this object. | |
IntersectRegionInterface const & | region () const |
Get the truncated region. | |
VecPlane const & | planes () const |
Get the truncating planes. | |
template<class T > | |
auto | or_shape (std::string &&label, T &&interior, VecPlane &&truncated) -> SPConstObject |
Create a truncated region or just a shape. | |
![]() | |
virtual | ~ObjectInterface ()=0 |
Anchored default destructor. | |
Static Public Member Functions | |
template<class T > | |
static SPConstObject | or_shape (std::string &&label, T &&interior, VecPlane &&truncated) |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ObjectInterface) | |
A shape formed by truncating another region with axis-aligned planes.
Geant4 uses this for the ellipsoid along -/+z and SCALE uses this for chords along all three axes.
|
finalvirtual |
Construct a volume from this shape.
Implements celeritas::orangeinp::ObjectInterface.
|
inlinefinalvirtual |
Get the label for this object.
Implements celeritas::orangeinp::ObjectInterface.
Write output to the given JSON object.
Implements celeritas::orangeinp::ObjectInterface.