29 #ifndef NEMOSYS_CIRCLESANDPOLYS_H_ 30 #define NEMOSYS_CIRCLESANDPOLYS_H_ 32 #include "nemosys_export.h" 58 const std::array<double, 3> ¢er = {0, 0, 0});
60 int getNumSides()
const;
61 void setNumSides(
int numSides);
62 const std::vector<PolyRing> &getRings()
const;
63 void setRings(std::vector<PolyRing> rings);
85 explicit Circles(std::vector<Ring> rings,
86 const std::array<double, 3> ¢er = {0, 0, 0});
88 const std::vector<Ring> &getRings()
const;
89 void setRings(std::vector<Ring> rings);
90 void addRing(
const Ring &ring);
114 const std::array<int, 2> &numElems) {
135 std::string sideset = {})
138 material(std::move(material)),
139 sideset(std::move(sideset)) {}
157 double rotation = 0, std::string material = {},
158 std::string sideset = {})
159 :
Ring(radius, meshType, std::move(material), std::move(sideset)),
161 rotation(rotation) {}
169 #endif // NEMOSYS_CIRCLESANDPOLYS_H_
Class to manage TopoDS_Shapes along with metadata.
Ring(double radius, const RingMeshOption &meshType, std::string material={}, std::string sideset={})
Describe a set of faces in a Circles.
std::vector< Ring > rings_
static RingMeshOption ApplyTriMesh()
static constexpr auto shapeType
static RingMeshOption ApplyQuadMesh()
static RingMeshOption ApplyStructuredMesh(const std::array< int, 2 > &numElems)
std::array< int, 2 > numSegments
PolyRing(ShapeType shapeType, double radius, const RingMeshOption &meshType, double rotation=0, std::string material={}, std::string sideset={})
Describe a set of faces in a CirclesAndPolys.
std::vector< PolyRing > rings_
Abstract base class for types that create NEM::GEO::GeoManager.
A set of concentric circles and polygons and the faces they enclose.
A set of concentric circles and the faces they enclose.