changed SliceIndex to use floating point keys.
This commit is contained in:
parent
34587bd00f
commit
729e35f1ff
2 changed files with 8 additions and 4 deletions
|
@ -624,8 +624,10 @@ void SLAPrint::process()
|
||||||
auto& lyrs = levels[h]; // this initializes a new record
|
auto& lyrs = levels[h]; // this initializes a new record
|
||||||
lyrs.emplace_back(oslices[i], po.m_instances);
|
lyrs.emplace_back(oslices[i], po.m_instances);
|
||||||
|
|
||||||
|
float fh = float(double(h) * SCALING_FACTOR);
|
||||||
|
|
||||||
// now for the public slice index:
|
// now for the public slice index:
|
||||||
SLAPrintObject::SliceRecord& sr = po.m_slice_index[h];
|
SLAPrintObject::SliceRecord& sr = po.m_slice_index[fh];
|
||||||
// There should be only one slice layer for each print object
|
// There should be only one slice layer for each print object
|
||||||
assert(sr.model_slices_idx == EMPTY_SLICE);
|
assert(sr.model_slices_idx == EMPTY_SLICE);
|
||||||
sr.model_slices_idx = i;
|
sr.model_slices_idx = i;
|
||||||
|
@ -641,7 +643,9 @@ void SLAPrint::process()
|
||||||
auto& lyrs = levels[h];
|
auto& lyrs = levels[h];
|
||||||
lyrs.emplace_back(sslices[i], po.m_instances);
|
lyrs.emplace_back(sslices[i], po.m_instances);
|
||||||
|
|
||||||
SLAPrintObject::SliceRecord& sr = po.m_slice_index[h];
|
float fh = float(double(h) * SCALING_FACTOR);
|
||||||
|
|
||||||
|
SLAPrintObject::SliceRecord& sr = po.m_slice_index[fh];
|
||||||
assert(sr.support_slices_idx == EMPTY_SLICE);
|
assert(sr.support_slices_idx == EMPTY_SLICE);
|
||||||
sr.support_slices_idx = i;
|
sr.support_slices_idx = i;
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,8 +92,8 @@ public:
|
||||||
// levels of the model in scaled-clipper coordinates. The levels correspond
|
// levels of the model in scaled-clipper coordinates. The levels correspond
|
||||||
// to the z coordinate of the object coordinate system.
|
// to the z coordinate of the object coordinate system.
|
||||||
struct SliceRecord {
|
struct SliceRecord {
|
||||||
using Key = long long;
|
using Key = float;
|
||||||
inline static float scale_back(Key h) { return float(h * SCALING_FACTOR); }
|
// inline static float scale_back(Key h) { return float(h * SCALING_FACTOR); }
|
||||||
|
|
||||||
using Idx = size_t;
|
using Idx = size_t;
|
||||||
static const Idx NONE = Idx(-1); // this will be the max limit of size_t
|
static const Idx NONE = Idx(-1); // this will be the max limit of size_t
|
||||||
|
|
Loading…
Add table
Reference in a new issue