|
Celeritas 0.7.0-dev.157+develop.4240ae39b
|
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. | |
| std::string_view | label () const final |
| Get the user-provided label. | |
| virtual IntersectRegionInterface const & | interior () const =0 |
| Interior intersect region interface for construction and access. | |
Public Member Functions inherited from celeritas::orangeinp::ObjectInterface | |
| virtual | ~ObjectInterface ()=0 |
| Anchored default destructor. | |
Protected Member Functions | |
| ShapeBase (std::string &&label) | |
| Construct with label from a daughter class. | |
| CELER_DEFAULT_COPY_MOVE (ShapeBase) | |
| Construct with label from a daughter class. | |
Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface | |
| CELER_DEFAULT_COPY_MOVE (ObjectInterface) | |
Additional Inherited Members | |
Public Types inherited from celeritas::orangeinp::ObjectInterface | |
| 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
|
explicitprotected |
Construct with label from a daughter class.
Allow construction and assignment only through daughter classes
|
finalvirtual |
Construct a volume from this shape.
Implements celeritas::orangeinp::ObjectInterface.
|
protected |
Construct with label from a daughter class.
Allow construction and assignment only through daughter classes
|
pure virtual |
Interior intersect region interface for construction and access.
Implemented in celeritas::orangeinp::Shape< T >.
|
inlinefinalvirtual |
Get the user-provided label.
Implements celeritas::orangeinp::ObjectInterface.
Output to JSON.
Implements celeritas::orangeinp::ObjectInterface.