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 {
34 boost::hash_combine(seed, v.first.X());
35 boost::hash_combine(seed, v.first.Y());
36 boost::hash_combine(seed, v.first.Z());
42 bool operator()(
const std::pair<Kernel::V3D, uint32_t> &v1,
const std::pair<Kernel::V3D, uint32_t> &v2)
const {
44 const double nanoMetre = 1e-9;
45 return diff.
norm() < nanoMetre;
60 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)
ReadMaterial::MaterialParameters m_params
virtual ~LoadStl() override=default
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