Celeritas  0.5.0-86+4a8eea4
Public Member Functions | List of all members
celeritas::orangeinp::ShapeBase Class Referenceabstract

A simple, intersect-only region of space. More...

#include <Shape.hh>

Inheritance diagram for celeritas::orangeinp::ShapeBase:
Inheritance graph
[legend]

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.
 
- Public Member Functions inherited from celeritas::orangeinp::ObjectInterface
virtual ~ObjectInterface ()=0
 Anchored default destructor.
 
virtual std::string_view label () const =0
 Short unique name of this object.
 

Protected Member Functions

 ShapeBase ()=default
 
 CELER_DEFAULT_COPY_MOVE (ShapeBase)
 
- Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface
 ObjectInterface ()=default
 
 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
 

Detailed Description

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 :

Constructor & Destructor Documentation

◆ ShapeBase()

celeritas::orangeinp::ShapeBase::ShapeBase ( )
protecteddefault

Allow construction and assignment only through daughter classes

Member Function Documentation

◆ CELER_DEFAULT_COPY_MOVE()

celeritas::orangeinp::ShapeBase::CELER_DEFAULT_COPY_MOVE ( ShapeBase  )
protected

Allow construction and assignment only through daughter classes


The documentation for this class was generated from the following files: