bubnikv
cae0806112
Eradicated most of Pointf extras compared to pure Eigen::Vector2d.
2018-08-21 20:34:45 +02:00
bubnikv
c5256bdd2c
Removed the Point::coincides_with_epsilon() method
2018-08-21 09:51:22 +02:00
bubnikv
5b94f53cd7
Removed the Point::wkt() and Point::dump_perl() methods.
...
Added to_string() for the basis Eigen vector types.
2018-08-17 16:54:07 +02:00
bubnikv
65011f9382
Removed the x(), y(), z() Point/Pointf/Point3/Pointf3 accessors.
2018-08-17 15:53:43 +02:00
bubnikv
1ba64da3fe
Removed Point::scale(),translate(),coincides_with(),distance_to(),
...
distance_to_squared(),perp_distance_to(),negative(),vector_to(),
translate(), distance_to() etc,
replaced with the Eigen equivalents.
2018-08-17 14:14:24 +02:00
bubnikv
3b89717149
Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types:
...
Changed the Point3 / Pointf3 to derive from the Eigen Vec3crd / Vec3d.
Replaced the Point::concide_with() method calls with == operator.
Reduced some compiler warnings.
2018-08-15 13:51:40 +02:00
bubnikv
f34252a27b
Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types:
...
Changed the Point3 / Pointf3 to composite Eigen Vec3crd / Vec3d.
Point3 is no more derived from Point,
Pointf3 is no more derived from Pointf.
Introduced Transform2f/3f/2d/3d types as aliases to Eigen::Transform.
2018-08-14 21:33:41 +02:00
bubnikv
86da661097
Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types, first step
2018-08-14 18:33:26 +02:00
tamasmeszaros
fd829580e9
Working arrange_objects with DJD selection heuristic and a bottom-left placement strategy.
2018-05-17 10:37:26 +02:00
bubnikv
a6ea01a23f
Moved some math macros (sqr, lerp, clamp) to libslic3r.h
...
Added UNUSED macro to libslic3r.h, used it to reduce some compile warnings.
Split the Int128 class from Clipper library to a separate file,
extended Int128 with intrinsic types wherever possible for performance,
added new geometric predicates.
Added a draft of new FillRectilinear3, which should reduce overfill near the perimeters in the future.
2017-07-27 10:39:43 +02:00
bubnikv
b5f38dd23f
Fixed the "avoid crossing perimeters" bug introduced in Slic3r 1.34.1.24
...
https://github.com/prusa3d/Slic3r/issues/311
https://github.com/prusa3d/Slic3r/issues/317
https://github.com/prusa3d/Slic3r/issues/323
2017-06-02 13:33:19 +02:00
bubnikv
60528c5c2a
Performance improvements of the MotionPlanner
...
(rewrote the Dijkstra shortest path algorithm to use a binary priority
heap instead of a dumb O(n^2) algorithm, added some bounding box tests
to avoid expensive in-polygon tests if possible).
2017-05-05 09:59:56 +02:00
bubnikv
0b90ebd74e
Move semantics on MultiPoint, Polygon, Polyline.
...
Append methods on Polyline.
squared length function on point->DistanceTo
2017-01-19 13:43:29 +01:00
bubnikv
8b0784f26c
Added a free "cross product" function to Pointf (thinking the Pointf is
...
really a vector in this case).
Made the == operator inline.
2016-11-28 17:34:52 +01:00
bubnikv
1fb57e439e
Defined the +-* operators on Pointf.
...
Removed the deprecated VibrationLimit feature.
Added triangle infill.
The Prusa3D fork of Slic3r has been marked as "Slic3r Prusa Edition"
with menus pointing to the prusa3d/slic3r github release page
and Prusa3D drivers downloads page.
2016-10-21 16:53:42 +02:00
bubnikv
620c6c7378
Ported from the playground branch. Various documentation and optimization.
2016-09-13 13:30:00 +02:00
bubnikv
068f71847e
Some inlining optimizations.
2016-09-13 09:46:41 +02:00
bubnikv
73cbb4b5dc
some optimizations of Point rotation
2016-09-12 13:52:31 +02:00
bubnikv
9fcc8fe9ae
Meged with release_candidate_1_3
2016-09-12 11:29:39 +02:00
Alessandro Ranellucci
9e8022f6f6
More refactoring to medial axis and gap fill, more robust
2016-05-20 17:03:57 +02:00
bubnikv
7d54e28e30
Added optimized methods for point and polyline rotation.
...
Existing methods for rotation were optimized by calculating the sin/cos values once only.
Added an operator- for points.
2016-04-10 19:06:46 +02:00
Alessandro Ranellucci
667a121ddb
Fixed error in porting causing wrong moves with avoid_crossing_perimeters
2015-12-19 14:49:29 +01:00
Alessandro Ranellucci
4913e90e10
Remove any Perl related code from libslic3r
2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
ed75219215
Ported mode Model methods to XS
2015-12-02 18:06:18 +01:00
Alessandro Ranellucci
bf541a1fed
Refactoring in PlaceholderParser
2015-05-02 21:43:22 +02:00
Alessandro Ranellucci
8f4cbefd0d
Lots of improvements to MotionPlanner/avoid_crossing_perimeters. Smoother paths and several edge cases now handled better
2015-01-06 20:52:36 +01:00
Alessandro Ranellucci
d8be67c28b
Bugfix: Douglas-Peucker used perpendicular distance instead of shortest distance, thus clipping more than it should. #2474
2015-01-03 15:03:53 +01:00
Alessandro Ranellucci
7253dc699a
Some more work on wireframe
2014-12-21 22:52:18 +01:00
Alessandro Ranellucci
9cd0a63331
Refactoring of PreviewCanvas
2014-12-15 01:28:11 +01:00
Alessandro Ranellucci
2f2ae75529
Some incomplete work for moving objects in 3D plater
2014-12-13 22:18:43 +01:00
Alessandro Ranellucci
360dee862b
Keep model objects aligned to Z = 0 in plater
2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
6ce651eb4a
Fixed wrong implementation of concave_points() and convex_points() in C++. #2384
2014-12-07 19:53:22 +01:00
Alessandro Ranellucci
3e4c572164
Ported some methods including add_model_object() and apply_config() to XS
2014-11-09 12:25:59 +01:00
Alessandro Ranellucci
a4eef93950
Fixed minor regression
2014-11-04 21:07:18 +01:00
Alessandro Ranellucci
6573ae002a
Bugfix: fix crash in some circumstances caused by Avoid crossing perimeters. #2271
2014-09-23 20:19:47 +02:00
Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00