| 
    Celeritas 0.7.0-dev.174+develop.3cfbeaa01
    
   | 
 
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::RevolvedPolygon, celeritas::orangeinp::ShapeBase, celeritas::orangeinp::SolidBase, celeritas::orangeinp::StackedExtrudedPolygon, celeritas::orangeinp::Transformed, and celeritas::orangeinp::Truncated.
      
  | 
  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::RevolvedPolygon, celeritas::orangeinp::ShapeBase, celeritas::orangeinp::Solid< T >, celeritas::orangeinp::StackedExtrudedPolygon, celeritas::orangeinp::Transformed, and celeritas::orangeinp::Truncated.
Write the region to a JSON object.
Implemented in celeritas::orangeinp::NegatedObject, celeritas::orangeinp::JoinObjects< Op >, celeritas::orangeinp::PolyCone, celeritas::orangeinp::PolyPrism, celeritas::orangeinp::RevolvedPolygon, celeritas::orangeinp::ShapeBase, celeritas::orangeinp::SolidBase, celeritas::orangeinp::StackedExtrudedPolygon, celeritas::orangeinp::Transformed, and celeritas::orangeinp::Truncated.