13 SolidWire(
const double cx,
const double cy,
const double cz,
const double r,
16 SolidWire(
const double cx,
const double cy,
const double cz,
const double r,
17 const double lz,
const double dx,
const double dy,
const double dz);
21 bool IsInside(
const double x,
const double y,
const double z,
22 const bool tesselated)
const override;
24 double& ymax,
double& zmax)
const override;
25 bool IsWire()
const override {
return true; }
37 void Cut(
const double x0,
const double y0,
const double z0,
const double xn,
38 const double yn,
const double zn,
39 std::vector<Panel>& panels)
override;
double GetHalfLengthZ() const override
Return the half-length along z.
bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) const override
Return the bounding box of the solid.
double GetRadius() const override
Return the radius.
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
Check whether a given point is inside the solid.
SolidWire(const double cx, const double cy, const double cz, const double r, const double lz, const double dx, const double dy, const double dz)
Constructor from centre, radius, half-length and orientation.
void SetHalfLength(const double lz)
SolidWire(const double cx, const double cy, const double cz, const double r, const double lz)
Constructor from centre, radius, and half-length.
void SetRadius(const double r)
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
double m_dis
Discretisation level.
bool IsWire() const override
Return true if the solid is a wire.
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).
Solid()=delete
Default constructor.