Fixed a missing infill caused by int32_t overflow.
This commit is contained in:
parent
2cf6a9630f
commit
ac23a369d5
@ -11,12 +11,12 @@ namespace Slic3r::Arachne
|
|||||||
|
|
||||||
ExtrusionLine::ExtrusionLine(const size_t inset_idx, const bool is_odd) : inset_idx(inset_idx), is_odd(is_odd), is_closed(false) {}
|
ExtrusionLine::ExtrusionLine(const size_t inset_idx, const bool is_odd) : inset_idx(inset_idx), is_odd(is_odd), is_closed(false) {}
|
||||||
|
|
||||||
coord_t ExtrusionLine::getLength() const
|
int64_t ExtrusionLine::getLength() const
|
||||||
{
|
{
|
||||||
if (junctions.empty())
|
if (junctions.empty())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
coord_t len = 0;
|
int64_t len = 0;
|
||||||
ExtrusionJunction prev = junctions.front();
|
ExtrusionJunction prev = junctions.front();
|
||||||
for (const ExtrusionJunction &next : junctions) {
|
for (const ExtrusionJunction &next : junctions) {
|
||||||
len += (next.p - prev.p).cast<int64_t>().norm();
|
len += (next.p - prev.p).cast<int64_t>().norm();
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "ExtrusionJunction.hpp"
|
#include "ExtrusionJunction.hpp"
|
||||||
#include "../../Polyline.hpp"
|
#include "../../Polyline.hpp"
|
||||||
#include "../../Polygon.hpp"
|
#include "../../Polygon.hpp"
|
||||||
#include "BoundingBox.hpp"
|
#include "../../BoundingBox.hpp"
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
class ThickPolyline;
|
class ThickPolyline;
|
||||||
@ -116,8 +116,8 @@ struct ExtrusionLine
|
|||||||
/*!
|
/*!
|
||||||
* Sum the total length of this path.
|
* Sum the total length of this path.
|
||||||
*/
|
*/
|
||||||
coord_t getLength() const;
|
int64_t getLength() const;
|
||||||
coord_t polylineLength() const { return getLength(); }
|
int64_t polylineLength() const { return getLength(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Put all junction locations into a polygon object.
|
* Put all junction locations into a polygon object.
|
||||||
|
@ -85,7 +85,7 @@ public:
|
|||||||
{ // try extending chain in the other direction
|
{ // try extending chain in the other direction
|
||||||
chain.reverse();
|
chain.reverse();
|
||||||
}
|
}
|
||||||
coord_t chain_length = chain.polylineLength();
|
int64_t chain_length = chain.polylineLength();
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user