mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-02 04:40:36 +08:00
Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_sequential
This commit is contained in:
commit
2b86511a11
7
src/ankerl/README.txt
Normal file
7
src/ankerl/README.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
THIS DIRECTORY CONTAINS PIECES OF THE
|
||||||
|
ankerl::unordered_dense::{map, set}
|
||||||
|
https://github.com/martinus/unordered_dense
|
||||||
|
unordered_dense 3.1.1 10782bfc651c2bb75b11bf90491f50da122e5432
|
||||||
|
SOURCE DISTRIBUTION.
|
||||||
|
|
||||||
|
THIS IS NOT THE COMPLETE unordered_dense DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING PRUSASLICER WERE PUT INTO THE PRUSASLICER SOURCE DISTRIBUTION.
|
1584
src/ankerl/unordered_dense.h
Normal file
1584
src/ankerl/unordered_dense.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -206,7 +206,7 @@ std::vector<WaveSeed> wave_seeds(
|
|||||||
{
|
{
|
||||||
assert(tiny_expansion > 0);
|
assert(tiny_expansion > 0);
|
||||||
|
|
||||||
if (src.empty())
|
if (src.empty() || boundary.empty())
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
using Intersection = ClipperZUtils::ClipperZIntersectionVisitor::Intersection;
|
using Intersection = ClipperZUtils::ClipperZIntersectionVisitor::Intersection;
|
||||||
|
@ -106,6 +106,7 @@ Slic3r::Pointfs Slic3r::intersection_points(const ExPolygons &expolygons)
|
|||||||
#include <libslic3r/BoundingBox.hpp>
|
#include <libslic3r/BoundingBox.hpp>
|
||||||
|
|
||||||
namespace priv {
|
namespace priv {
|
||||||
|
//FIXME O(n^2) complexity!
|
||||||
Slic3r::Pointfs compute_intersections(const Slic3r::Lines &lines)
|
Slic3r::Pointfs compute_intersections(const Slic3r::Lines &lines)
|
||||||
{
|
{
|
||||||
using namespace Slic3r;
|
using namespace Slic3r;
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
||||||
// collect all intersecting points
|
// collect all intersecting points
|
||||||
|
//FIXME O(n^2) complexity!
|
||||||
Pointfs intersection_points(const Lines &lines);
|
Pointfs intersection_points(const Lines &lines);
|
||||||
Pointfs intersection_points(const Polygon &polygon);
|
Pointfs intersection_points(const Polygon &polygon);
|
||||||
Pointfs intersection_points(const Polygons &polygons);
|
Pointfs intersection_points(const Polygons &polygons);
|
||||||
|
@ -359,7 +359,7 @@ const Polygons& TreeModelVolumes::getCollision(const coord_t orig_radius, LayerI
|
|||||||
BOOST_LOG_TRIVIAL(error_level_not_in_cache) << "Had to calculate collision at radius " << radius << " and layer " << layer_idx << ", but precalculate was called. Performance may suffer!";
|
BOOST_LOG_TRIVIAL(error_level_not_in_cache) << "Had to calculate collision at radius " << radius << " and layer " << layer_idx << ", but precalculate was called. Performance may suffer!";
|
||||||
tree_supports_show_error("Not precalculated Collision requested."sv, false);
|
tree_supports_show_error("Not precalculated Collision requested."sv, false);
|
||||||
}
|
}
|
||||||
const_cast<TreeModelVolumes*>(this)->calculateCollision(radius, layer_idx, {});
|
const_cast<TreeModelVolumes*>(this)->calculateCollision(radius, layer_idx, []{});
|
||||||
return getCollision(orig_radius, layer_idx, min_xy_dist);
|
return getCollision(orig_radius, layer_idx, min_xy_dist);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -512,7 +512,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
void calculateCollisionHolefree(RadiusLayerPair key)
|
void calculateCollisionHolefree(RadiusLayerPair key)
|
||||||
{
|
{
|
||||||
calculateCollisionHolefree(std::vector<RadiusLayerPair>{ RadiusLayerPair(key) }, {});
|
calculateCollisionHolefree(std::vector<RadiusLayerPair>{ RadiusLayerPair(key) }, []{});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -533,7 +533,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
void calculateAvoidance(RadiusLayerPair key, bool to_build_plate, bool to_model)
|
void calculateAvoidance(RadiusLayerPair key, bool to_build_plate, bool to_model)
|
||||||
{
|
{
|
||||||
calculateAvoidance(std::vector<RadiusLayerPair>{ RadiusLayerPair(key) }, to_build_plate, to_model, {});
|
calculateAvoidance(std::vector<RadiusLayerPair>{ RadiusLayerPair(key) }, to_build_plate, to_model, []{});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -567,7 +567,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
void calculateWallRestrictions(RadiusLayerPair key)
|
void calculateWallRestrictions(RadiusLayerPair key)
|
||||||
{
|
{
|
||||||
calculateWallRestrictions(std::vector<RadiusLayerPair>{ RadiusLayerPair(key) }, {});
|
calculateWallRestrictions(std::vector<RadiusLayerPair>{ RadiusLayerPair(key) }, []{});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user