16template <
typename T>
class Matrix;
40 std::size_t planeType()
const;
41 Plane *doClone()
const override;
49 std::string
className()
const override {
return "Plane"; }
52 std::unique_ptr<Plane> clone()
const;
61 double dotProd(
const Plane &)
const;
63 double distance(
const Kernel::V3D &)
const override;
71 int setSurface(
const std::string &)
override;
72 void print()
const override;
73 void write(std::ostream &)
const override;
75 void setBaseEqn()
override;
78 void getBoundingBox(
double &xmax,
double &ymax,
double &zmax,
double &xmin,
double &ymin,
double &zmin)
override;
79#ifdef ENABLE_OPENCASCADE
80 TopoDS_Shape createShape()
override;
virtual void Accept(const Surface &)=0
Accept a surface.
Plane & operator=(const Plane &)=delete
std::string className() const override
Effective typename.
double m_distance
Distance from origin.
double getDistance() const
Distance from origin.
void acceptVisitor(BaseVisit &A) const override
Accept visitor for line calculation.
const Kernel::V3D & getNormal() const
Normal to plane (+ve surface)
Plane(const Plane &)=default
Kernel::V3D m_normVec
Normal vector.
Holds a basic quadratic surface.
Helper class which provides the Collimation Length for SANS instruments.