Vojtech Bubnik
7d02647ebf
Removed various Point::ccw() and Point::ccw_angle() methods, they were
...
provided for Perl bindings and their semantic was confusing.
Implemented free function angle() to measure angle between two vectors.
Reworked Polygon::convex/concave_points(), changed the meaning of their
angle threshold parameter.
Removed some unused methods from Perl bindings and tests.
Reworked the "wipe inside at the external perimeter" function
after Point::ccw_angle() was removed.
2022-04-25 12:42:51 +02:00
bubnikv
cb138a20b8
Completely replaced the homebrew Pointf3 class with Eigen Vec3d.
...
Replaced the unscale macro with a template, implemented templates
for unscaling Eigen vectors.
2018-08-21 17:43:05 +02:00
bubnikv
ab60d8adb4
Replaced coincides_with(const Line &line) with operator==
2018-08-17 18:27:07 +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
Alessandro Ranellucci
9e8022f6f6
More refactoring to medial axis and gap fill, more robust
2016-05-20 17:03:57 +02:00
Alessandro Ranellucci
4913e90e10
Remove any Perl related code from libslic3r
2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
8791f5a493
Cleanup of some method signatures and of XS return types
2015-01-19 18:53:04 +01:00
Alessandro Ranellucci
e749f6040f
New +Line::intersection_infinite() method
2015-01-16 16:25:39 +01:00
Alessandro Ranellucci
e0a3d2577c
Initial work for 3D rendering of toolpaths
2015-01-15 20:06:30 +01:00
Alessandro Ranellucci
fcfb3b98bc
3D object positioning
2014-12-16 01:12:56 +01:00
Alessandro Ranellucci
a82f95e903
Some initial work for 3D slice rendering
2014-12-15 15:19:42 +01:00
Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
30fa055995
Bugfix: medial axis missed some segments. #2144
2014-08-03 15:03:47 +02:00
Alessandro Ranellucci
76a8ec3d9e
Replace to_SV_ref() and to_SV_clone_ref() with templated glue functions
2014-05-08 14:52:48 +02:00
Alessandro Ranellucci
0a88492fdc
Use a more robust parallelism detection
2014-05-02 13:26:59 +02:00
Alessandro Ranellucci
c81ffc391d
Tentative fix for unreproduced compilation error reported
2014-05-02 11:51:07 +02:00
Petr Ledvina
115aa6885f
Implement type checking for XS objects
...
Type handling is mainly done using templates.
Template Slic3r::ClassTraits is used to store info about exported types (perl class name). Currently only perl class name and refference name is used.
Template values are initialized by REGISTER_CLASS macro. This macro is used in .cpp file of class ( it needs to be used exactly for each type).
Ref<type> class is used to return value as perl reference. Operator overloading is used to make c++ and XSpp happy, only pointer value should be possible to return.
Clone<type> class is used to return copy of value ( using new and copy constructor). Copy is created on assigment, this should be probably improved (memory leak on multiple assignments).
It is overloaded to be able to return type, type* and type&.
Typechecking in ExtrusionEntityCollection updated to check all passed types.
2014-04-27 19:38:56 +02:00
Alessandro Ranellucci
ca4d4211c9
Refactored signatures of many C++ methods for more efficient and safer style. Includes a bugfix for Point::nearest_point() which was returning a pointer to freed memory. #1961
2014-04-24 16:40:10 +02:00
Alessandro Ranellucci
6201aacf88
New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()
2014-04-24 13:44:39 +02:00
Alessandro Ranellucci
ed8a2f7330
Extend medial axis endpoints to fill the entire length. Includes fix for a minor memory leak caused by usage of old signature for Line::point_at()
2014-03-15 16:53:20 +01:00
Alessandro Ranellucci
3c77b301a7
Promising approach to medial axis pruning
2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
a225a8b2ef
Ported contains_line() to XS
2013-11-21 15:12:06 +01:00
Alessandro Ranellucci
3025c77675
Use Clipper for line clipping
2013-11-21 14:15:38 +01:00
Alessandro Ranellucci
d8e098ab0e
Ported same_line() to XS
2013-11-06 19:38:10 +01:00
Alessandro Ranellucci
29b83517cb
Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS
2013-10-27 22:57:25 +01:00
Alessandro Ranellucci
27e7c6b9f7
Finished implementation of TriangleMesh->split
2013-09-09 22:27:58 +02:00
Alessandro Ranellucci
c0789506e4
Return objects by reference instead of always cloning
2013-09-02 20:22:20 +02:00
Alessandro Ranellucci
5d6fd7f4d9
Optimizations for better usage of XS code
2013-08-29 01:36:42 +02:00
Alessandro Ranellucci
e19c6a1494
Ported Point->distance_to() and Line->length()
2013-08-28 20:41:41 +02:00
Alessandro Ranellucci
898007fc36
Port offset_ex() and offset2_ex() to XS
2013-07-16 20:09:53 +02:00
Alessandro Ranellucci
9458c7db97
Fix integration of XS containers
2013-07-16 17:13:01 +02:00
Alessandro Ranellucci
9b582a11ff
Adopt XS containers everywhere (incomplete work)
2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
ab6b3d41a7
XS interface completed, including new Line class
2013-07-15 22:57:22 +02:00