13 SolidRidge(
const double cx,
const double cy,
const double cz,
14 const double lx,
const double ly,
const double hz,
15 const double offsetx);
17 SolidRidge(
const double cx,
const double cy,
const double cz,
18 const double lx,
const double ly,
const double hz,
20 const double dx,
const double dy,
const double dz);
24 bool IsInside(
const double x,
const double y,
const double z)
const override;
25 bool GetBoundingBox(
double& xmin,
double& ymin,
double& zmin,
double& xmax,
26 double& ymax,
double& zmax)
const override;
27 bool IsRidge()
const override {
return true; }
43 bool SolidPanels(std::vector<Panel>& panels)
override;
57 std::array<double, 5> m_dis{{-1., -1., -1., -1., -1.}};
Triangular prism (Toblerone bar).
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 SetRidgeHeight(const double hz)
Set the height of the ridge.
double GetDiscretisationLevel(const Panel &panel) override
Retrieve the discretization level of a panel.
void SetRidgeOffset(const double dx)
Set the x-offset 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.
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.
bool IsInside(const double x, const double y, const double z) const override
Check whether a given point is inside the solid.
void SetHalfLengthY(const double ly)
Set the half-length along y.
double GetHalfLengthX() const override
Return the half-length along x.
double GetRidgeHeight() const override
Return the height of a ridge.
Abstract base class for solids.