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
Alessandro Ranellucci
515d5707c9
Ported TriangleMesh->scale
2013-08-04 21:34:26 +02:00
Alessandro Ranellucci
a0bd152243
Remove ->ToPerl and add ->vertices and ->facets
2013-08-04 21:23:27 +02:00
Alessandro Ranellucci
6affa23297
Show repair stats in object info dialog
2013-07-13 20:23:03 +02:00
Alessandro Ranellucci
00683195c8
Add two more repair actions and add volume to stats
2013-07-13 19:00:38 +02:00
Alessandro Ranellucci
b709acf10f
New TriangleMesh::XS->stats method
2013-07-13 18:51:49 +02:00
Alessandro Ranellucci
c50ecfb7f8
New Slic3r::Point::XS class
2013-07-06 15:26:32 +02:00
Alessandro Ranellucci
6373322b84
New ReadFromPerl() method
2013-07-03 11:38:01 +02:00
Alessandro Ranellucci
d30b4f0310
New Slic3r::TriangleMesh::XS->ToPerl() method
2013-06-24 20:11:56 +02:00
Alessandro Ranellucci
f29faf0548
New Slic3r::TriangleMesh::XS class
2013-06-24 19:35:49 +02:00
Alessandro Ranellucci
2a2633da0a
New automatic built-in STL repair
2013-06-23 21:11:46 +02:00
Alessandro Ranellucci
77440b774d
Include admesh code for STL repair
2013-06-23 18:18:38 +02:00
Alessandro Ranellucci
37105e8237
Ported get_layer_range() to C
2013-06-23 15:33:07 +02:00
Alessandro Ranellucci
9d27b5e4a7
New XS framework for C and C++ code
2013-06-22 17:16:45 +02:00