Arrange a series of other ShapeBase
objects along a circular arc.
More...
Definition at line 43 of file PolarArray.H.
Public Member Functions | |
PolarArray (std::size_t numSubshapes, double startAngle, double endAngle, double radius, bool rotateWithArray=false, const std::array< double, 3 > ¢er={0, 0, 0}) | |
std::size_t | getNumSubshapes () const |
double | getRadius () const |
void | setRadius (double radius) |
double | getStartAngle () const |
void | setStartAngle (double startAngle) |
double | getEndAngle () const |
void | setEndAngle (double endAngle) |
bool | getRotateWithArray () const |
void | setRotateWithArray (bool rotateWithArray) |
std::size_t | getNumPatternShapes () const |
const ShapeBase * | getPatternShape (std::size_t idx) const |
void | setPatternShape (std::size_t idx, const std::shared_ptr< ShapeBase > &shape) |
template<typename Shape > | |
void | insertPatternShape (std::size_t idx, Shape &&shape) |
template<typename Shape , typename... Args> | |
void | makePatternShape (std::size_t idx, Args &&...args) |
void | fillPattern (std::size_t idx) |
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... | |
std::size_t | getPatternSize () const |
const std::size_t & | getPattern (std::size_t idx) const |
void | setPattern (std::size_t idx, std::size_t patternKey) |
template<typename Modifier > | |
NEM::GEO::GeoManager | createGeoImpl (Modifier &&modifier) const |
Static Protected Member Functions | |
static NEM::GEO::GeoManager | basicTransformation (const gp_Trsf &transformation, NEM::GEO::GeoManager &&geoMetadata) |
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 | |
std::size_t | numShapesInArr_ |
double | radius_ |
double | start_ |
double | end_ |
bool | rotateWithArray_ |
Inherits NEM::NUCMESH::ShapesArray.
NEM::NUCMESH::PolarArray::PolarArray | ( | std::size_t | numSubshapes, |
double | startAngle, | ||
double | endAngle, | ||
double | radius, | ||
bool | rotateWithArray = false , |
||
const std::array< double, 3 > & | center = {0, 0, 0} |
||
) |
Definition at line 49 of file PolarArray.C.
|
staticprotectedinherited |
Definition at line 81 of file ShapesArray.C.
References NEM::GEO::GeoManager::buildCompound(), NEM::GEO::GeoManager::insert(), and NEM::DRV::JSON::shapeType.
Referenced by NEM::NUCMESH::HexagonalArray::createGeo(), NEM::NUCMESH::RectangularArray::createGeo(), and createGeo().
|
overrideprotectedvirtual |
NEM::GEO::GeoManager
object representing the shape described by this object Implements NEM::NUCMESH::ShapeBase.
Definition at line 59 of file PolarArray.C.
References NEM::NUCMESH::ShapesArray::basicTransformation(), NEM::NUCMESH::ShapesArray::createGeoImpl(), end_, NEM::NUCMESH::ShapeBase::getCenter(), NEM::NUCMESH::ShapeBase::getRotatedPoint(), numShapesInArr_, radius_, rotateWithArray_, and start_.
|
inlineprotectedinherited |
Definition at line 87 of file ShapesArray.H.
References NEM::NUCMESH::ShapeBase::mergeGeo().
Referenced by NEM::NUCMESH::HexagonalArray::createGeo(), NEM::NUCMESH::RectangularArray::createGeo(), and createGeo().
|
inherited |
Definition at line 65 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::pattern_.
|
inherited |
Definition at line 50 of file ShapeBase.C.
References NEM::NUCMESH::ShapeBase::center_.
Referenced by NEM::NUCMESH::HexagonalArray::createGeo(), NEM::NUCMESH::RectangularArray::createGeo(), NEM::NUCMESH::CirclesAndPolys::createGeo(), createGeo(), and NEM::NUCMESH::Circles::createGeo().
|
inline |
Definition at line 63 of file PolarArray.H.
|
inherited |
Definition at line 45 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::patternShapes_.
Referenced by NEM::DRV::JSON::modify_helper().
|
inline |
|
protectedinherited |
Definition at line 73 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::pattern_.
Referenced by NEM::NUCMESH::RectangularArray::getPattern(), and NEM::NUCMESH::HexagonalArray::getPatternCoordCenter().
|
inherited |
Definition at line 49 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::patternShapes_.
|
protectedinherited |
Definition at line 71 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::pattern_.
|
inline |
Definition at line 59 of file PolarArray.H.
|
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 createGeo(), and NEM::DRV::JSON::modify_helper().
|
inline |
Definition at line 65 of file PolarArray.H.
|
inline |
Definition at line 61 of file PolarArray.H.
|
inlineinherited |
Definition at line 62 of file ShapesArray.H.
|
inlineinherited |
Definition at line 69 of file ShapesArray.H.
|
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().
|
inline |
|
protectedinherited |
Definition at line 77 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::pattern_.
Referenced by NEM::DRV::JSON::modify_helper(), NEM::NUCMESH::RectangularArray::setPattern(), and NEM::NUCMESH::HexagonalArray::setPatternCoordCenter().
|
inherited |
Definition at line 57 of file ShapesArray.C.
References NEM::NUCMESH::ShapesArray::patternShapes_.
Referenced by NEM::DRV::JSON::modify_helper().
|
inline |
|
inline |
|
inline |
|
private |
Definition at line 77 of file PolarArray.H.
Referenced by createGeo().
|
private |
Definition at line 74 of file PolarArray.H.
Referenced by createGeo().
|
private |
Definition at line 75 of file PolarArray.H.
Referenced by createGeo().
|
private |
Definition at line 78 of file PolarArray.H.
Referenced by createGeo().
|
private |
Definition at line 76 of file PolarArray.H.
Referenced by createGeo().