9#include "MantidDataHandling/DllConfig.h"
20namespace DataHandling {
25 std::shared_ptr<Geometry::MeshObject> rotate(std::shared_ptr<Geometry::MeshObject> environmentMesh,
double xRotation,
26 double yRotation,
double zRotation);
28 std::shared_ptr<Geometry::MeshObject> translate(std::shared_ptr<Geometry::MeshObject> environmentMesh,
29 const std::vector<double> &translationVector);
31 Kernel::V3D createScaledV3D(
double xVal,
double yVal,
double zVal);
37 : m_scaleType(scaleType), m_triangle(
std::move(
std::move(triangles))),
38 m_vertices(
std::move(
std::move(vertices))) {}
40 switch (m_scaleType) {
41 case ScaleUnits::centimetres:
43 case ScaleUnits::millimetres:
51 switch (m_scaleType) {
52 case ScaleUnits::centimetres:
55 case ScaleUnits::millimetres:
68 if (m_scaleType == ScaleUnits::undefined) {
69 m_scaleType = scaleType;
75 if (scaleProperty ==
"m") {
77 }
else if (scaleProperty ==
"cm") {
79 }
else if (scaleProperty ==
"mm") {
82 throw std::invalid_argument(scaleProperty +
" is not an accepted scale of stl or 3mf file.");
double value
The value of the point.
MeshFileIO(ScaleUnits scaleType)
float removeScale(double value)
MeshFileIO(ScaleUnits scaleType, std::vector< uint32_t > triangles, std::vector< Kernel::V3D > vertices)
std::vector< uint32_t > m_triangle
double scaleValue(double val)
std::vector< Kernel::V3D > m_vertices
ScaleUnits getScaleType()
void setScaleType(const ScaleUnits scaleType)
The Logger class is in charge of the publishing messages from the framework through various channels.
Kernel::Logger g_log("ExperimentInfo")
static logger object
ScaleUnits getScaleTypeFromStr(const std::string &scaleProperty)
Helper class which provides the Collimation Length for SANS instruments.