|
Celeritas 0.7.0-dev.170+develop.df22d2a88
|
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 > |
Public Types inherited from celeritas::orangeinp::ObjectInterface | |
| 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. | |
Public Member Functions inherited from celeritas::orangeinp::ObjectInterface | |
| 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 | |
Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface | |
| 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.