Commit Graph

3732 Commits

Author SHA1 Message Date
Vojtech Bubnik
576c167bd5 Ported "avoid crossing perimeters" and bridging unit tests from Perl
to C++.
Further reduced Perl bindings.
Got rid of the ExPolygonCollection wrapper, replaced with ExPolygons.
2022-05-04 18:21:08 +02:00
Vojtech Bubnik
a627614b58 Perl unit tests for perimeters and multi-material were rewritten to C++.
Perl binding was slimmed down, namely Clipper is no more linked by Perl.
2022-05-04 15:06:04 +02:00
Vojtech Bubnik
d88e9634f5 Little more reduce of Perl bindings 2022-05-02 14:34:50 +02:00
Vojtech Bubnik
3687bc28d5 Some reduction of Perl dependencies on ClipperLib,
ported some ClipperLib polyline clipping tests to C++.
2022-05-02 14:34:50 +02:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Vojtech Bubnik
ef9004cee4 Fix of its_collect_mesh_projection_points_above()
Fix of perl integration tests after introduction of not using the mesh
below the print bed.
2021-05-20 13:58:27 +02:00
Vojtech Bubnik
f16d4953be Removing offset2 from Perl bindings and other minor cleanup. 2021-05-06 14:29:20 +02:00
bubnikv
ac6969c992 Reworked the Perl unit / integration tests to use the same Print
interface that the application is using. Old interface used just
for the integration tests was removed.
2019-06-20 20:23:05 +02:00
Lukas Matena
07282eb24d Fixed unit tests when run with range checks on std::vector
There was a bug in unit tests that led to generating the wipe tower with non-normalized preset.
This caused out-of-bounds access into max_layer_height vector in fill_wipe_tower_partitions.
The problem surfaced in https://github.com/prusa3d/PrusaSlicer/issues/2288.
I quickly patched additional normalization of the preset to prevent this from happening.

Also, an assert in the same function turned out to trip on one of the tests.
This one was commented out for now and will (hopefully) be looked into later.

Function Print::apply_config was renamed to apply_config_perl_tests_only so everyone
sees its current purpose and does not mistake it for the more important Print::apply.
2019-05-22 16:48:20 +02:00
bubnikv
586ccad8f0 Removed the Perl GUI modules. 2019-02-22 10:13:31 +01:00
Vojtech Kral
0c7c9d5754 Plater: single object STL export and reloading
Based on Plater.pm`export_object_stl() and reload_from_disk()
2018-12-07 13:58:44 +01:00
Vojtech Kral
8337d4675f Plater: increase, decrease, set_number_of_copies, arrange 2018-10-11 12:48:35 +02:00
Vojtech Kral
322e0a433c Plater: Add missing skeletons (un-typed for now) 2018-10-09 10:47:42 +02:00
Vojtech Kral
928c146aef WIP: Plater: Event handling boilerplate / skeletons 2018-10-08 19:56:59 +02:00
Vojtech Kral
ceb295944a WIP: Plater, tracking in Plater.pm 2018-10-08 19:14:55 +02:00
Vojtech Kral
342b584399 WIP: Plater 2018-10-01 09:28:40 +02:00
Enrico Turri
197600d452 Test.pm modified to use ModelInstance full 3D transform 2018-09-25 09:21:38 +02:00
Enrico Turri
0e1843a871 1st installment of ModelInstance 3D scale components 2018-09-24 15:54:09 +02:00
Enrico Turri
e3d44b07fe Fixed arrange for objects with 3D rotations 2018-09-24 15:21:18 +02:00
Enrico Turri
07274589a3 1st installment of ModelInstance 3D rotation components 2018-09-20 15:00:40 +02:00
Enrico Turri
e79b0a2f25 Code cleanup 2018-09-19 08:59:11 +02:00
Enrico Turri
9daae9413a Perl version of preview removed from Slic3r 2018-09-18 16:13:18 +02:00
Enrico Turri
abdaaf6ede Method Preview::load_print() ported to c++ 2018-09-18 15:50:52 +02:00
Enrico Turri
e3e5948982 1st installment of preview ported in c++ 2018-09-18 13:35:05 +02:00
bubnikv
fe3b92870f Merged with dev 2018-09-17 15:12:13 +02:00
bubnikv
d934b63424 Removed Print.pm,
ported execution of post processing scripts into C++ (WIP, waits for
update of boost::system module on our build server)
Removed other mention of the "Controller".
2018-09-17 12:01:02 +02:00
bubnikv
bb7f504296 Removed "Slice to SVG" and "Quick Slice" 2018-09-14 11:16:54 +02:00
bubnikv
2c9dc4dbbf Finished porting of the status bar to C++. 2018-09-14 10:59:50 +02:00
bubnikv
36faa090fc Removed the Controller, Layer View, System Info, ObjectCutDialog,
removed unused Perl modules.
2018-09-14 10:25:20 +02:00
bubnikv
9d9e4a0f7b WIP: Background processing. 2018-09-14 09:28:00 +02:00
bubnikv
bb70ad6090 Removed Strings.hpp, replaced with wxString
Fixed UTF8 rendering of status messages.
2018-09-12 13:17:47 +02:00
bubnikv
0235f1a821 Merged with dev 2018-09-12 11:59:02 +02:00
Enrico Turri
781df150a1 Added perl callback for gizmo flatten 2018-09-10 14:10:08 +02:00
Enrico Turri
333bc1523a Merge branch 'master' of https://github.com/prusa3d/Slic3r into dev 2018-09-10 13:19:53 +02:00
Enrico Turri
be508b003a Fixed #1211 2018-09-10 13:15:12 +02:00
Enrico Turri
e9d5cd726e Merge branch 'master' of https://github.com/prusa3d/Slic3r into dev 2018-09-07 10:32:39 +02:00
YuSanka
125ece0aad Fixed #1204 2018-09-07 09:33:18 +02:00
Enrico Turri
0ea18d57d0 Fixed wipe tower selection 2018-09-07 09:21:12 +02:00
Enrico Turri
8460926d36 Added select by part tool to toolbar 2018-09-06 16:10:31 +02:00
Enrico Turri
677dad0669 Object's properties updated while manipulating gizmos 2018-09-05 16:22:48 +02:00
Enrico Turri
15b1340514 Added ModelInstance::world_matrix() method and stl_transform using eigen transform 2018-09-04 14:42:14 +02:00
tamasmeszaros
4f53fc2a5f Merge remote-tracking branch 'origin/cpp_progress_status_bar' into dev
# Conflicts:
#	lib/Slic3r/GUI/MainFrame.pm
#	xs/src/slic3r/AppController.cpp
#	xs/src/slic3r/AppControllerWx.cpp
#	xs/src/slic3r/GUI/GUI.hpp
2018-08-30 17:35:49 +02:00
tamasmeszaros
15ad0ef2f2 working C++ status bar.
Signed-off-by: tamasmeszaros <meszaros.q@gmail.com>
2018-08-30 11:55:10 +02:00
tamasmeszaros
9e2d48ff3b Almost working c++ status bar
Signed-off-by: tamasmeszaros <meszaros.q@gmail.com>
2018-08-30 11:54:08 +02:00
YuSanka
6c1b52afa2 Deleted "scale" column from object list 2018-08-29 13:11:30 +02:00
YuSanka
5557e59d43 Reorganized object settings pane
+ Added new control - PrusaLockButton
2018-08-28 15:51:53 +02:00
tamasmeszaros
1c4574d42e fix centroid error for two points and merge with dev. 2018-08-27 16:20:13 +02:00
Enrico Turri
8eb36b1bf9 Fixed undefined axis in rotate method of plater.pm 2018-08-27 14:13:06 +02:00
Enrico Turri
4b25d3924b Merge branch 'dev' of https://github.com/prusa3d/Slic3r into dev 2018-08-27 14:01:03 +02:00
Enrico Turri
fef5a5252e Fixed conflicts after merging with master 2018-08-27 14:00:53 +02:00