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

An open wedge shape from the Z axis. More...

#include <IntersectRegion.hh>

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

Public Member Functions

 InfWedge (Turn start, Turn interior)
 Construct from a starting angle and interior angle.
 
void build (IntersectSurfaceBuilder &) const final
 Build surfaces. More...
 
void output (JsonPimpl *) const final
 Write output to the given JSON object.
 
Turn start () const
 Starting angle.
 
Turn interior () const
 Interior angle.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::orangeinp::IntersectRegionInterface
 IntersectRegionInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (IntersectRegionInterface)
 

Detailed Description

An open wedge shape from the Z axis.

The wedge is defined by an interior angle that must be less than or equal to 180 degrees (half a turn) and must be more than zero. It can be subtracted, or its negation can be subtracted. The start angle is mapped onto [0, 1) on construction.

Member Function Documentation

◆ build()

void celeritas::orangeinp::InfWedge::build ( IntersectSurfaceBuilder insert_surface) const
finalvirtual

Build surfaces.

Both planes should point "outward" to the wedge. In the degenerate case of interior = 0.5 we rely on CSG object deduplication.

Todo:
Restrict bounding boxes, at least eliminating two quadrants...

Implements celeritas::orangeinp::IntersectRegionInterface.


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