9#include "MantidGeometry/DllConfig.h"
48 m_oneoverradius = 1 / m_radius;
57 std::string
className()
const override {
return "Cylinder"; }
60 std::unique_ptr<Cylinder> clone()
const;
69 double distance(
const Kernel::V3D &)
const override;
71 int setSurface(
const std::string &)
override;
82 void setBaseEqn()
override;
84 void write(std::ostream &)
const override;
85 void print()
const override;
86 void getBoundingBox(
double &xmax,
double &ymax,
double &zmax,
double &xmin,
double &ymin,
double &zmin)
override;
89 constexpr static int g_NSLICES = 10;
91 constexpr static int g_NSTACKS = 1;
92#ifdef ENABLE_OPENCASCADE
93 TopoDS_Shape createShape()
override;
virtual void Accept(const Surface &)=0
Accept a surface.
Holds a cylinder as a vector form.
void acceptVisitor(BaseVisit &A) const override
Accept visitor for line calculation.
void setRadius(const double &r)
Set Radius.
double getRadius() const
Get Radius.
double m_radius
Radius of cylinder.
void setRadiusInternal(const double &r)
Kernel::V3D m_normal
Direction of centre line.
std::string className() const override
Public identifer.
Cylinder & operator=(const Cylinder &)=delete
std::size_t m_normVec
Normal vector is x,y or z :: (1-3) (0 if general)
static Kernel::Logger & PLog
The official logger.
Cylinder(const Cylinder &)=default
Kernel::V3D m_centre
Kernel::V3D for centre.
Kernel::V3D getCentre() const
Return centre point.
Kernel::V3D getNormal() const
Return Central line.
Holds a basic quadratic surface.
The Logger class is in charge of the publishing messages from the framework through various channels.
Helper class which provides the Collimation Length for SANS instruments.