Commit Graph

38 Commits

Author SHA1 Message Date
02d4fa0583 Tweaks to GLGizmoFlatten 2018-08-28 09:03:03 +02:00
7f49697944 Eradicated the Pointf class, replaced with Eigen Vector3d 2018-08-21 21:05:24 +02:00
2b2d7665d1 Eradicated most of Pointf extras compared to pure Eigen::Vector2d. 2018-08-21 20:34:45 +02:00
dd21d0bf50 Removed the Point::coincides_with_epsilon() method 2018-08-21 09:51:22 +02:00
d6076cdf14 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
2f09a89bfb Removed the x(), y(), z() Point/Pointf/Point3/Pointf3 accessors. 2018-08-17 15:53:43 +02:00
f738c42aa5 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
dcd0d3f6aa 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
55c903a6a2 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
b55e796d1e Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types, first step 2018-08-14 18:33:26 +02:00
90743f0236 Working arrange_objects with DJD selection heuristic and a bottom-left placement strategy. 2018-05-17 10:37:26 +02:00
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
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
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
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
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
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
620c6c7378 Ported from the playground branch. Various documentation and optimization. 2016-09-13 13:30:00 +02:00
068f71847e Some inlining optimizations. 2016-09-13 09:46:41 +02:00
73cbb4b5dc some optimizations of Point rotation 2016-09-12 13:52:31 +02:00
9fcc8fe9ae Meged with release_candidate_1_3 2016-09-12 11:29:39 +02:00
9e8022f6f6 More refactoring to medial axis and gap fill, more robust 2016-05-20 17:03:57 +02:00
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
667a121ddb Fixed error in porting causing wrong moves with avoid_crossing_perimeters 2015-12-19 14:49:29 +01:00
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
ed75219215 Ported mode Model methods to XS 2015-12-02 18:06:18 +01:00
bf541a1fed Refactoring in PlaceholderParser 2015-05-02 21:43:22 +02:00
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
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
7253dc699a Some more work on wireframe 2014-12-21 22:52:18 +01:00
9cd0a63331 Refactoring of PreviewCanvas 2014-12-15 01:28:11 +01:00
2f2ae75529 Some incomplete work for moving objects in 3D plater 2014-12-13 22:18:43 +01:00
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00
6ce651eb4a Fixed wrong implementation of concave_points() and convex_points() in C++. #2384 2014-12-07 19:53:22 +01:00
3e4c572164 Ported some methods including add_model_object() and apply_config() to XS 2014-11-09 12:25:59 +01:00
a4eef93950 Fixed minor regression 2014-11-04 21:07:18 +01:00
6573ae002a Bugfix: fix crash in some circumstances caused by Avoid crossing perimeters. #2271 2014-09-23 20:19:47 +02:00
6adc3477c9 Moved C++ code into new libslic3r directory 2014-08-03 19:42:29 +02:00