Celeritas 0.6.0-67+develop.47f47c88
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
celeritas::orangeinp::Truncated Class Referencefinal

A shape formed by truncating another region with axis-aligned planes. More...

#include <Truncated.hh>

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

Public Types

using Plane = InfPlane
 
using VecPlane = std::vector< Plane >
 
using UPRegion = std::unique_ptr< IntersectRegionInterface >
 
- Public Types inherited from celeritas::orangeinp::ObjectInterface
using SPConstObject = std::shared_ptr< ObjectInterface const >
 
using VolumeBuilder = detail::VolumeBuilder
 

Public Member Functions

 Truncated (std::string &&label, UPRegion &&region, VecPlane &&planes)
 Construct with region to truncate and truncating planes.
 
NodeId build (VolumeBuilder &vb) const final
 Construct a volume from this shape.
 
void output (JsonPimpl *) const final
 Write output to the given JSON object.
 
std::string_view label () const final
 Get the label for this object.
 
IntersectRegionInterface constregion () const
 Get the truncated region.
 
VecPlane constplanes () const
 Get the truncating planes.
 
template<class T >
auto or_shape (std::string &&label, T &&interior, VecPlane &&truncated) -> SPConstObject
 Create a truncated region or just a shape.
 
- Public Member Functions inherited from celeritas::orangeinp::ObjectInterface
virtual ~ObjectInterface ()=0
 Anchored default destructor.
 

Static Public Member Functions

template<class T >
static SPConstObject or_shape (std::string &&label, T &&interior, VecPlane &&truncated)
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface
 CELER_DEFAULT_COPY_MOVE (ObjectInterface)
 

Detailed Description

A shape formed by truncating another region with axis-aligned planes.

Geant4 uses this for the ellipsoid along -/+z and SCALE uses this for chords along all three axes.

Member Function Documentation

◆ build()

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

Construct a volume from this shape.

Implements celeritas::orangeinp::ObjectInterface.

◆ label()

std::string_view celeritas::orangeinp::Truncated::label ( ) const
inlinefinalvirtual

Get the label for this object.

Implements celeritas::orangeinp::ObjectInterface.

◆ output()

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

Write output to the given JSON object.

Implements celeritas::orangeinp::ObjectInterface.


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