15 SolidRidge(
const double cx,
const double cy,
const double cz,
const double lx,
16 const double ly,
const double hz,
const double offsetx);
18 SolidRidge(
const double cx,
const double cy,
const double cz,
const double lx,
19 const double ly,
const double hz,
const double offsetx,
20 const double dx,
const double dy,
const double dz);
24 bool IsInside(
const double x,
const double y,
const double z,
25 const bool tesselated)
const override;
27 double& ymax,
double& zmax)
const override;
28 bool IsRidge()
const override {
return true; }
48 void Cut(
const double x0,
const double y0,
const double z0,
const double xn,
49 const double yn,
const double zn,
50 std::vector<Panel>& panels)
override;
63 std::array<double, 5>
m_dis{{-1., -1., -1., -1., -1.}};
double m_lY
Half-length in y.
SolidRidge(const double cx, const double cy, const double cz, const double lx, const double ly, const double hz, const double offsetx)
Constructor from centre, half-lengths, height and x-offset.
bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) const override
Return the bounding box of the solid.
double GetHalfLengthY() const override
Return the half-length along y.
void SetDiscretisationLevel(const double dis) override
Set the discretisation level (for all panels).
void SetRidgeHeight(const double hz)
Set the height of the ridge.
double GetDiscretisationLevel(const Panel &panel) override
Retrieve the discretisation level of a panel.
bool IsInside(const double x, const double y, const double z, const bool tesselated) const override
Check whether a given point is inside the solid.
void SetRidgeOffset(const double dx)
Set the x-offset of the ridge.
double m_hz
Height of the ridge.
double GetRidgeOffset() const override
Return the x-offset of a ridge.
void SetHalfLengthX(const double lx)
Set the half-length along x.
double m_hx
Offset of the ridge in x.
bool IsRidge() const override
Return true if the solid is a ridge.
bool SolidPanels(std::vector< Panel > &panels) override
Retrieve the surface panels of the solid.
void Cut(const double x0, const double y0, const double z0, const double xn, const double yn, const double zn, std::vector< Panel > &panels) override
void SetHalfLengthY(const double ly)
Set the half-length along y.
double GetHalfLengthX() const override
Return the half-length along x.
std::array< double, 5 > m_dis
Discretisation levels.
double GetRidgeHeight() const override
Return the height of a ridge.
SolidRidge(const double cx, const double cy, const double cz, const double lx, const double ly, const double hz, const double offsetx, const double dx, const double dy, const double dz)
Constructor from centre, half-lengths, height, x-offset and orientation.
double m_lX
Half-length in x.
Solid()=delete
Default constructor.