9#include <top/dbobjects/TOPGeoHoneycombPanel.h>
23 bool fromLeftToRight)
const
27 typedef std::pair<double, double>
Pair;
31 double x0 =
sqrt(
R *
R - yc * yc);
32 if (!fromLeftToRight) x0 = -x0;
33 double dx = 2.0 * x0 /
m_N;
35 contour.push_back(
Pair(x, y0));
36 for (
int i = 1; i <
m_N; i++) {
38 double y = y0 +
sqrt(
R *
R - x * x) + yc;
39 contour.push_back(
Pair(x, y));
41 contour.push_back(
Pair(x0, y0));
72 cout <<
", N = " <<
m_N << endl;
double getWidth() const
Returns panel width.
int m_N
number of flat surfaces to approximate curved surface
double getMaxThickness() const
Returns panel maximal thickness.
std::string m_material
material name
std::string m_edgeMaterial
material name of reinforced edge
const std::string & getEdgeMaterial() const
Returns material name of reinforced edge.
float m_radius
radius of curved surface
double getMinThickness() const
Returns panel minimal thickness.
float m_minThickness
minimal thickness
double getY() const
Returns y position of the flat surface in local (bar) frame.
const std::string & getMaterial() const
Returns material name.
double getRadius() const
Returns radius of curved surface.
float m_maxThickness
maximal thickness
float m_edgeWidth
width of the reinforced edge
double getEdgeWidth() const
Returns width of the reinforced edge.
double getLength() const
Returns panel length.
double sqrt(double a)
sqrt for double
bool isConsistent() const override
Check for consistency of data members.
void appendContour(std::vector< std::pair< double, double > > &contour, double y0, bool fromLeftToRight) const
Appends curved surface to contour.
virtual void print(const std::string &title="QBB honeycomb panel geometry parameters") const override
Print the content of the class.
virtual void print(const std::string &title) const
Print the content of the class.
std::pair< double, double > Pair
Shorthand for std::pair<double, double>
static std::string s_unitName
conversion unit name
Abstract base class for different kinds of events.