Celeritas 0.6.0-dev.115+3b60a5fd
|
Base class for constructing high-level CSG objects in ORANGE. More...
#include <ObjectInterface.hh>
Public Types | |
Type aliases | |
using | SPConstObject = std::shared_ptr< ObjectInterface const > |
using | VolumeBuilder = detail::VolumeBuilder |
Public Member Functions | |
virtual | ~ObjectInterface ()=0 |
Anchored default destructor. | |
virtual std::string_view | label () const =0 |
Short unique name of this object. | |
virtual NodeId | build (VolumeBuilder &) const =0 |
Construct a volume from this object. | |
virtual void | output (JsonPimpl *) const =0 |
Write the region to a JSON object. | |
Protected Member Functions | |
CELER_DEFAULT_COPY_MOVE (ObjectInterface) | |
Base class for constructing high-level CSG objects in ORANGE.
|
protecteddefault |
Allow construction and assignment only through daughter classes
Construct a volume from this object.
Implemented in celeritas::orangeinp::NegatedObject, celeritas::orangeinp::JoinObjects< Op >, celeritas::orangeinp::PolyCone, celeritas::orangeinp::PolyPrism, celeritas::orangeinp::ShapeBase, celeritas::orangeinp::SolidBase, and celeritas::orangeinp::Transformed.
|
protected |
Allow construction and assignment only through daughter classes
|
pure virtual |
Short unique name of this object.
Implemented in celeritas::orangeinp::NegatedObject, celeritas::orangeinp::JoinObjects< Op >, celeritas::orangeinp::PolySolidBase, celeritas::orangeinp::Shape< T >, celeritas::orangeinp::Solid< T >, and celeritas::orangeinp::Transformed.
Write the region to a JSON object.
Implemented in celeritas::orangeinp::NegatedObject, celeritas::orangeinp::JoinObjects< Op >, celeritas::orangeinp::PolyCone, celeritas::orangeinp::PolyPrism, celeritas::orangeinp::ShapeBase, celeritas::orangeinp::SolidBase, and celeritas::orangeinp::Transformed.