Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
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 constinterior () 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

 CELER_DEFAULT_COPY_MOVE (ShapeBase)
 
- 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
 

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

◆ build()

NodeId celeritas::orangeinp::ShapeBase::build ( VolumeBuilder &  vb) const
finalvirtual

Construct a volume from this shape.

Implements celeritas::orangeinp::ObjectInterface.

◆ CELER_DEFAULT_COPY_MOVE()

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

Allow construction and assignment only through daughter classes

◆ interior()

virtual IntersectRegionInterface const & celeritas::orangeinp::ShapeBase::interior ( ) const
pure virtual

Interior intersect region interface for construction and access.

Implemented in celeritas::orangeinp::Shape< T >.

◆ output()

void celeritas::orangeinp::ShapeBase::output ( JsonPimpl j) const
finalvirtual

Output to JSON.

Implements celeritas::orangeinp::ObjectInterface.


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