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().