Celeritas 0.6.0-dev.115+3b60a5fd
|
A simple, intersect-only region of space. More...
#include <Shape.hh>
Public Member Functions | |
NodeId | build (VolumeBuilder &) const final |
Construct a volume from this shape. | |
void | output (JsonPimpl *) const final |
Output to JSON. | |
virtual IntersectRegionInterface const & | interior () const =0 |
Interior intersect region interface for construction and access. | |
![]() | |
virtual | ~ObjectInterface ()=0 |
Anchored default destructor. | |
virtual std::string_view | label () const =0 |
Short unique name of this object. | |
Protected Member Functions | |
CELER_DEFAULT_COPY_MOVE (ShapeBase) | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ObjectInterface) | |
Additional Inherited Members | |
![]() | |
using | SPConstObject = std::shared_ptr< ObjectInterface const > |
using | VolumeBuilder = detail::VolumeBuilder |
A simple, intersect-only region of space.
This is an abstract class that implements build
for constructing a volume by dispatching to a method build_interior
that the daughters must override using a intersect region.
Use the implementation classes XShape
where X
is one of the region types in IntersectRegion.hh :
BoxShape
ConeShape
CylinderShape
EllipsoidShape
GenPrismShape
ParallelepipedShape
PrismShape
SphereShape
|
protecteddefault |
Allow construction and assignment only through daughter classes
|
finalvirtual |
Construct a volume from this shape.
Implements celeritas::orangeinp::ObjectInterface.
|
protected |
Allow construction and assignment only through daughter classes
|
pure virtual |
Interior intersect region interface for construction and access.
Implemented in celeritas::orangeinp::Shape< T >.
Output to JSON.
Implements celeritas::orangeinp::ObjectInterface.