9#include "MantidGeometry/DllConfig.h"
27class GeometryTriangulator;
29template <
typename Adaptee> std::unique_ptr<Geometry::RenderingMesh>
makeRenderingMesh(
const Adaptee &adaptee) {
35 const Adaptee &m_adaptee;
38 Adapter(
const Adaptee &adaptee) : m_adaptee(adaptee) {}
39 size_t numberOfVertices()
const override {
return m_adaptee.numberOfVertices(); }
40 size_t numberOfTriangles()
const override {
return m_adaptee.numberOfTriangles(); }
41 std::vector<double> getVertices()
const override {
return m_adaptee.getVertices(); }
42 std::vector<uint32_t> getTriangles()
const override {
return m_adaptee.getTriangles(); }
43 virtual ~Adapter() =
default;
45 return std::make_unique<Adapter>(adaptee);
76 std::shared_ptr<GeometryHandler> clone()
const;
79 void initialize()
const;
82 size_t numberOfTriangles()
const;
84 size_t numberOfPoints()
const;
89 const std::vector<double> &getTriangleVertices()
const;
91 const std::vector<uint32_t> &getTriangleFaces()
const;
93 void setGeometryCache(
size_t nPts,
size_t nFaces, std::vector<double> &&pts, std::vector<uint32_t> &&faces);
double obj
the value of the quadratic function
Constructive Solid Geometry object.
Handles rendering of all object Geometry.
std::unique_ptr< detail::GeometryTriangulator > m_triangulator
static Kernel::Logger & PLog
The official logger.
bool canTriangulate() const
~GeometryHandler()
Destructor.
std::shared_ptr< detail::ShapeInfo > m_shapeInfo
bool hasShapeInfo() const
const detail::ShapeInfo & shapeInfo() const
Object Component class, this class brings together the physical attributes of the component to the po...
RenderingMesh : Mesh abstraction required for rendering.
The Logger class is in charge of the publishing messages from the framework through various channels.
std::unique_ptr< Geometry::RenderingMesh > makeRenderingMesh(const Adaptee &adaptee)
Helper class which provides the Collimation Length for SANS instruments.