14#include <boost/functional/hash.hpp>
16#include <unordered_set>
29namespace DataHandling {
32 size_t operator()(
const std::pair<Kernel::V3D, uint32_t> &v)
const {
33 size_t seed = std::hash<double>{}(v.first.X());
34 boost::hash_combine(seed, v.first.Y());
35 boost::hash_combine(seed, v.first.Z());
41 bool operator()(
const std::pair<Kernel::V3D, uint32_t> &v1,
const std::pair<Kernel::V3D, uint32_t> &v2)
const {
43 const double nanoMetre = 1e-9;
44 return diff.
norm() < nanoMetre;
59 void changeToVector();
std::map< double, EigenVector > m_params
Actual storage.
LoadStl(std::string filename, std::ios_base::openmode mode, ScaleUnits scaleType)
LoadStl(std::string filename, std::ios_base::openmode mode, ScaleUnits scaleType, ReadMaterial::MaterialParameters params)
virtual ~LoadStl()=default
ReadMaterial::MaterialParameters m_params
std::unordered_set< std::pair< Kernel::V3D, uint32_t >, HashV3DPair, V3DTrueComparator > vertexSet
The Logger class is in charge of the publishing messages from the framework through various channels.
double norm() const noexcept
Helper class which provides the Collimation Length for SANS instruments.
size_t operator()(const std::pair< Kernel::V3D, uint32_t > &v) const
This struct contains the parameters for constructing a material, and gives them a default value for e...
bool operator()(const std::pair< Kernel::V3D, uint32_t > &v1, const std::pair< Kernel::V3D, uint32_t > &v2) const