Mantid
Loading...
Searching...
No Matches
BaseVisit.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2007 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include "MantidGeometry/DllConfig.h"
10
11namespace Mantid {
12namespace Geometry {
13
14class Surface;
15class Quadratic;
16class Plane;
17class Cylinder;
18class Cone;
19class Sphere;
20class General;
21class Line;
22
31class MANTID_GEOMETRY_DLL BaseVisit {
32
33public:
35 virtual ~BaseVisit() = default;
36
37 virtual void Accept(const Surface &) = 0;
38 virtual void Accept(const Plane &) = 0;
39 virtual void Accept(const Sphere &) = 0;
40 virtual void Accept(const Cone &) = 0;
41 virtual void Accept(const Cylinder &) = 0;
42 virtual void Accept(const General &) = 0;
43};
44
45} // NAMESPACE Geometry
46} // NAMESPACE Mantid
virtual void Accept(const Sphere &)=0
Accept a sphere.
virtual void Accept(const Plane &)=0
Accept a plane.
virtual void Accept(const Cylinder &)=0
Accept a cylinder.
virtual void Accept(const General &)=0
Accept a general surface.
virtual void Accept(const Cone &)=0
Accept a cone.
virtual void Accept(const Surface &)=0
Accept a surface.
virtual ~BaseVisit()=default
Destructor.
Holds a cone in vector form.
Definition: Cone.h:29
Holds a cylinder as a vector form.
Definition: Cylinder.h:32
Holds a general quadratic surface.
Definition: General.h:28
Holds a simple Plane.
Definition: Plane.h:35
Holds a Sphere as vector form.
Definition: Sphere.h:29
Holds a basic quadratic surface.
Definition: Surface.h:33
Helper class which provides the Collimation Length for SANS instruments.