Mantid
Loading...
Searching...
No Matches
LoadOff.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2019 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
10#include "MantidKernel/Logger.h"
11#include "MantidKernel/V3D.h"
12
13#include <functional>
14#include <unordered_set>
15
16namespace Mantid {
17
18namespace Geometry {
19class MeshObject;
20}
21namespace DataHandling {
22
23class MANTID_DATAHANDLING_DLL LoadOff : public LoadSingleMesh {
24public:
25 LoadOff(const std::string &filename, ScaleUnits scaleType);
26 std::unique_ptr<Geometry::MeshObject> readShape() override;
27
28private:
29 std::unique_ptr<Geometry::MeshObject> readOFFMeshObject();
30 bool getOFFline(std::string &line);
31 void readOFFVertices();
32 void readOFFTriangles();
33
34 uint32_t m_nVertices;
35 uint32_t m_nTriangles;
36};
37} // namespace DataHandling
38} // namespace Mantid
Helper class which provides the Collimation Length for SANS instruments.