Abstract base class representing a set of other ShapeBase
objects, with a transformation applied to each.
More...
Definition at line 52 of file ShapesArray.H.
Public Member Functions | |
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 | |
ShapesArray (const std::array< double, 3 > ¢er, std::size_t numPatternShapes) | |
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 |
virtual NEM::GEO::GeoManager | createGeo () const =0 |
Construct a NEM::GEO::GeoManager . More... | |
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::vector< std::shared_ptr< ShapeBase > > | patternShapes_ |
A set of other ShapeBase objects, referenced by pattern_ . More... | |
std::vector< decltype(patternShapes_)::size_type > | pattern_ |
Each entry of pattern_ is an index into patternShapes_ ; subclasses interpret how to transform each entry. More... | |
Inherits NEM::NUCMESH::ShapeBase.
Inherited by NEM::NUCMESH::HexagonalArray, NEM::NUCMESH::PolarArray, and NEM::NUCMESH::RectangularArray.
|
protected |
Definition at line 41 of file ShapesArray.C.
|
staticprotected |
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 NEM::NUCMESH::PolarArray::createGeo().
|
protectedpure virtualinherited |
NEM::GEO::GeoManager
object representing the shape described by this object Implemented in NEM::NUCMESH::Circles, NEM::NUCMESH::PolarArray, NEM::NUCMESH::CirclesAndPolys, NEM::NUCMESH::HexagonalArray, and NEM::NUCMESH::RectangularArray.
|
inlineprotected |
Definition at line 87 of file ShapesArray.H.
References NEM::NUCMESH::ShapeBase::mergeGeo().
Referenced by NEM::NUCMESH::HexagonalArray::createGeo(), NEM::NUCMESH::RectangularArray::createGeo(), and NEM::NUCMESH::PolarArray::createGeo().
void NEM::NUCMESH::ShapesArray::fillPattern | ( | std::size_t | idx | ) |
Definition at line 65 of file ShapesArray.C.
References 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(), NEM::NUCMESH::PolarArray::createGeo(), and NEM::NUCMESH::Circles::createGeo().
std::size_t NEM::NUCMESH::ShapesArray::getNumPatternShapes | ( | ) | const |
Definition at line 45 of file ShapesArray.C.
References patternShapes_.
Referenced by NEM::DRV::JSON::modify_helper().
|
protected |
Definition at line 73 of file ShapesArray.C.
References pattern_.
Referenced by NEM::NUCMESH::RectangularArray::getPattern(), and NEM::NUCMESH::HexagonalArray::getPatternCoordCenter().
const ShapeBase * NEM::NUCMESH::ShapesArray::getPatternShape | ( | std::size_t | idx | ) | const |
Definition at line 49 of file ShapesArray.C.
References patternShapes_.
|
protected |
Definition at line 71 of file ShapesArray.C.
References pattern_.
|
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().
|
inline |
Definition at line 62 of file ShapesArray.H.
|
inline |
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 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().
|
protected |
Definition at line 77 of file ShapesArray.C.
References pattern_.
Referenced by NEM::DRV::JSON::modify_helper(), NEM::NUCMESH::RectangularArray::setPattern(), and NEM::NUCMESH::HexagonalArray::setPatternCoordCenter().
void NEM::NUCMESH::ShapesArray::setPatternShape | ( | std::size_t | idx, |
const std::shared_ptr< ShapeBase > & | shape | ||
) |
Definition at line 57 of file ShapesArray.C.
References patternShapes_.
Referenced by NEM::DRV::JSON::modify_helper().
|
private |
Definition at line 116 of file ShapesArray.H.
Referenced by fillPattern(), getPattern(), getPatternSize(), and setPattern().
|
private |
Definition at line 111 of file ShapesArray.H.
Referenced by getNumPatternShapes(), getPatternShape(), and setPatternShape().