Commit Graph

63 Commits

Author SHA1 Message Date
bubnikv
9996a01c84 Fixed Perl bindings. 2019-03-01 18:09:42 +01:00
bubnikv
0235f1a821 Merged with dev 2018-09-12 11:59:02 +02:00
bubnikv
6829704475 d .. 2018-08-22 15:03:35 +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
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
33e1108f65 Background processing in C++, WIP. 2018-03-28 17:05:31 +02:00
Joseph Lenox
c575a1f1d6 Added make_sphere, generates a mesh with specified step angle and raidus rho. 2017-02-21 16:29:09 +01:00
Joseph Lenox
716dc2e650 Made cube and cylinder static functions of the package, not some specific TriangleMesh object. 2017-02-21 16:11:52 +01:00
Joseph Lenox
b91b98b21e Added prototype make_cylinder() 2017-02-21 16:10:38 +01:00
Joseph Lenox
3bb237deee Added new constructor to TriangleMesh that accepts vectors of Points and make_cube function to make a new simple cube mesh. 2017-02-21 16:10:14 +01:00
Alessandro Ranellucci
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
61f0a9e4da Replace the flip word with mirror. #3060 2015-11-04 23:11:30 +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
6010297465 All std::string variables are now supposed to be UTF-8 encoded. We now embed the std::string typemaps in order to do this. #2282 2014-11-22 22:20:28 +01:00
Alessandro Ranellucci
73b3c06361 Ported more things to XS 2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
5a96bad8c2 Ported some more methods to C++ 2014-08-08 21:48:59 +02:00
Alessandro Ranellucci
b10917806a Ported some Model methods to XS 2014-08-03 20:33:16 +02:00
Alessandro Ranellucci
6adc3477c9 Moved C++ code into new libslic3r directory 2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
67bf99633e Fix compilation under 5.20 (untested). #2109 2014-06-25 14:57:06 +02:00
Alessandro Ranellucci
e9910a2c0b XYZ mirroring from plater 2014-06-14 21:14:33 +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
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
8db4913b04 New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed 2014-04-25 17:50:03 +02:00
Alessandro Ranellucci
4f17c2b7d1 First working implementation of a GUI for cutting 2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
86f91bb3c4 New TriangleMeshSlicer::cut() method 2014-01-16 11:25:26 +01:00
Alessandro Ranellucci
519ed91c68 Refactored mesh slicing code into a new TriangleMeshSlicer class 2014-01-15 20:31:38 +01:00
Alessandro Ranellucci
3637ca39df TriangleMesh::slice() now accepts a vector of floats instead of doubles for consistency with mesh coordinates 2014-01-12 23:56:07 +01:00
Alessandro Ranellucci
c8a48b4527 Implement modifier volumes and port _merge_loops() to XS 2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
9c0a6a79d3 Incomplete work for porting BoundingBox to XS 2014-01-06 18:29:10 +01:00
Alessandro Ranellucci
0e8a0ef1ca Refactoring. Use Model class for representing the plate in GUI 2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
f55e057504 More work for refactoring add_model() to add_model_object(). Tests pass 2013-12-09 01:12:37 +01:00
Alessandro Ranellucci
9cf138574c New TriangleMesh::convex_hull() 2013-11-24 01:15:52 +01:00
Alessandro Ranellucci
4d5d003ba7 Ported horizontal_projection() to XS 2013-11-23 19:41:40 +01:00
Alessandro Ranellucci
67a7e4f769 Change method signature for slice() 2013-11-23 00:15:42 +01:00
Alessandro Ranellucci
bc48e17dff Use precomputed normals in 3D preview 2013-09-11 20:15:42 +02:00
Alessandro Ranellucci
a821eb7f3c More work to avoid working with vertices outside XS 2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
11e18f681d Incomplete work to store TriangleMesh objects in Model objects instead of extracting vertices and facets 2013-09-11 09:49:28 +02:00
Alessandro Ranellucci
566d38a472 Replace TriangleMesh with the XS port 2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
311eda7d42 Implemented TriangleMesh->clone 2013-09-10 00:09:56 +02:00
Alessandro Ranellucci
9b12d6037a Ported TriangleMesh::scale_xyz() 2013-09-09 23:38:49 +02:00
Alessandro Ranellucci
5e34a9cf21 Make Repair() idempotent and lowercase 2013-09-09 23:18:33 +02:00
Alessandro Ranellucci
28b043e9a9 Add unit test for split() 2013-09-09 23:09:56 +02:00
Alessandro Ranellucci
3919ba83d8 Implemented TriangleMesh->merge 2013-09-09 22:45:22 +02:00
Alessandro Ranellucci
27e7c6b9f7 Finished implementation of TriangleMesh->split 2013-09-09 22:27:58 +02:00
Alessandro Ranellucci
346c17d483 Some initial work for porting slice() 2013-09-07 14:06:09 +02:00
Alessandro Ranellucci
d881c5ab2f Ported TriangleMesh->rotate 2013-08-05 19:52:37 +02:00
Alessandro Ranellucci
9402898c58 Ported TriangleMesh->size 2013-08-05 19:39:10 +02:00
Alessandro Ranellucci
9d50616c7d Ported align_to_origin() 2013-08-05 19:22:33 +02:00
Alessandro Ranellucci
597e9e6c14 Finish porting TriangleMesh->translate 2013-08-05 19:17:13 +02:00
Alessandro Ranellucci
04d5d1bb9b Incomplete work for porting translate() 2013-08-05 10:48:38 +02:00