13 SolidBox(
const double cx,
const double cy,
const double cz,
const double lx,
14 const double ly,
const double lz);
16 SolidBox(
const double cx,
const double cy,
const double cz,
const double lx,
17 const double ly,
const double lz,
const double dx,
const double dy,
22 bool IsInside(
const double x,
const double y,
const double z,
23 const bool tesselated)
const override;
24 bool GetBoundingBox(
double& xmin,
double& ymin,
double& zmin,
double& xmax,
25 double& ymax,
double& zmax)
const override;
26 bool IsBox()
const override {
return true; }
36 bool SolidPanels(std::vector<Panel>& panels)
override;
42 void Cut(
const double x0,
const double y0,
const double z0,
43 const double xn,
const double yn,
const double zn,
44 std::vector<Panel>& panels)
override;
48 double m_lX = 0., m_lY = 0., m_lZ = 0.;
50 std::array<double, 6> m_dis{{-1, -1, -1, -1, -1, -1}};
double GetHalfLengthZ() const override
Return the half-length along z.
void SetHalfLengthX(const double lx)
bool IsBox() const override
Return true if the solid is a box.
double GetHalfLengthY() const override
Return the half-length along y.
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 bool tesselated) const override
void SetHalfLengthZ(const double lz)
bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) const override
Return the bounding box of the solid.
double GetHalfLengthX() const override
Return the half-length along x.
double GetDiscretisationLevel(const Panel &panel) override
Retrieve the discretisation level of a panel.
void SetDiscretisationLevel(const double dis) override
Set the discretisation level (for all panels).
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)
Abstract base class for solids.