A set of concentric circles and polygons and the faces they enclose. More...
Definition at line 48 of file CirclesAndPolys.H.
Public Member Functions | |
CirclesAndPolys (int numSides, std::vector< PolyRing > rings, const std::array< double, 3 > ¢er={0, 0, 0}) | |
Container to describe a set of concentric circles/polygons. More... | |
int | getNumSides () const |
void | setNumSides (int numSides) |
const std::vector< PolyRing > & | getRings () const |
void | setRings (std::vector< PolyRing > rings) |
void | addRing (const PolyRing &ring) |
const std::array< double, 3 > & | getCenter () const |
void | setCenter (const std::array< double, 3 > ¢er) |
Static Public Member Functions | |
static std::array< double, 3 > | getRotatedPoint (const std::array< double, 3 > ¢er, const std::array< double, 2 > &rotation) |
Protected Member Functions | |
NEM::GEO::GeoManager | createGeo () const override |
Construct a NEM::GEO::GeoManager . More... | |
Static Protected Member Functions | |
static void | mergeGeo (NEM::GEO::GeoManager &keepGeo, NEM::GEO::GeoManager &&removeGeo) |
Merge two 2d NEM::GEO::GeoManager objects by cutting shapes in removeGeo from shapes in keepGeo and sewing the resulting faces. More... | |
Private Attributes | |
int | numSides_ |
std::vector< PolyRing > | rings_ |
Inherits NEM::NUCMESH::ShapeBase.
NEM::NUCMESH::CirclesAndPolys::CirclesAndPolys | ( | int | numSides, |
std::vector< PolyRing > | rings, | ||
const std::array< double, 3 > & | center = {0, 0, 0} |
||
) |
numSides | Number of sides for polygons (note circles are treated as numSides arcs) |
rings | Radius and meshing description of each ring |
center | Center of shapes |
Definition at line 151 of file CirclesAndPolys.C.
void NEM::NUCMESH::CirclesAndPolys::addRing | ( | const PolyRing & | ring | ) |
|
overrideprotectedvirtual |
NEM::GEO::GeoManager
object representing the shape described by this object Implements NEM::NUCMESH::ShapeBase.
Definition at line 298 of file CirclesAndPolys.C.
References NEM::NUCMESH::drawNested(), NEM::NUCMESH::ShapeBase::getCenter(), numSides_, NEM::NUCMESH::Ring::radius, rings_, NEM::NUCMESH::PolyRing::rotation, and NEM::NUCMESH::PolyRing::shapeType.
|
inherited |
Definition at line 50 of file ShapeBase.C.
References NEM::NUCMESH::ShapeBase::center_.
Referenced by NEM::NUCMESH::HexagonalArray::createGeo(), NEM::NUCMESH::RectangularArray::createGeo(), createGeo(), NEM::NUCMESH::PolarArray::createGeo(), and NEM::NUCMESH::Circles::createGeo().
int NEM::NUCMESH::CirclesAndPolys::getNumSides | ( | ) | const |
const std::vector< PolyRing > & NEM::NUCMESH::CirclesAndPolys::getRings | ( | ) | const |
|
staticinherited |
center | Center of circle |
rotation | {Radius, angle in degrees} |
center
and normal [0, 0, 1], radius rotation
[0] and angle (in degrees) rotation
[1] Definition at line 58 of file ShapeBase.C.
Referenced by NEM::NUCMESH::PolarArray::createGeo(), and NEM::DRV::JSON::modify_helper().
|
staticprotectedinherited |
[in,out] | keepGeo | Merge geometry from removeGeo into this object |
[in] | removeGeo | Move geometry and data from this object into keepGeo |
Definition at line 66 of file ShapeBase.C.
References NEM::GEO::GeoManager::buildCompound(), NEM::GEO::GeoManager::deleteShapes(), NEM::GEO::GeoManager::getDim(), NEM::GEO::GeoManager::insert(), NEM::GEO::GeoManager::modify(), NEM::GEO::GeoManager::setDim(), and NEM::DRV::JSON::shapeType.
Referenced by NEM::NUCMESH::ShapesArray::createGeoImpl(), and NEM::SRV::NucMeshSrv::FillOutputPortInformation().
|
inherited |
Definition at line 52 of file ShapeBase.C.
References NEM::NUCMESH::ShapeBase::center_.
Referenced by NEM::DRV::JSON::modify_helper().
void NEM::NUCMESH::CirclesAndPolys::setNumSides | ( | int | numSides | ) |
Definition at line 157 of file CirclesAndPolys.C.
References numSides_.
Referenced by NEM::DRV::JSON::modify_helper().
void NEM::NUCMESH::CirclesAndPolys::setRings | ( | std::vector< PolyRing > | rings | ) |
Definition at line 163 of file CirclesAndPolys.C.
References rings_.
Referenced by NEM::DRV::JSON::modify_helper().
|
private |
Definition at line 70 of file CirclesAndPolys.H.
Referenced by createGeo(), getNumSides(), and setNumSides().
|
private |
Definition at line 71 of file CirclesAndPolys.H.
Referenced by addRing(), createGeo(), getRings(), and setRings().