Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs
AgeCommit message (Collapse)Author
2022-05-06Ported custom_gcode and print unit tests from Perl to C++.Vojtech Bubnik
2022-05-05Further Perl unit test porting to C++ and Perl interface reduction:Vojtech Bubnik
Ported cooling, gap fill, thin walls and polyline unit tests.
2022-05-04Further slimming of Perl bindings.Vojtech Bubnik
2022-05-04Ported "avoid crossing perimeters" and bridging unit tests from PerlVojtech Bubnik
to C++. Further reduced Perl bindings. Got rid of the ExPolygonCollection wrapper, replaced with ExPolygons.
2022-05-04Perl unit tests for perimeters and multi-material were rewritten to C++.Vojtech Bubnik
Perl binding was slimmed down, namely Clipper is no more linked by Perl.
2022-05-02Ported Infill unit tests from Perl to C++.Vojtech Bubnik
2022-05-02Little more reduce of Perl bindingsVojtech Bubnik
2022-05-02Some reduction of Perl dependencies on ClipperLib,Vojtech Bubnik
ported some ClipperLib polyline clipping tests to C++.
2022-04-25Removed various Point::ccw() and Point::ccw_angle() methods, they wereVojtech Bubnik
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-08Fix compilation of perl xs on Windows with boost 1.78devtamasmeszaros
2022-02-09Changed how the libasan library path is determined for Perl unit tests to ↵Lukáš Hejl
work also on the build server. On Centos 7 calling "gcc -print-file-name=libasan.so" returns a path to "ld script" instead of a path to a shared library.
2022-02-07Added preload of library libasan.so for Perl unit tests.Lukáš Hejl
2021-11-16New BuildVolume class was created, which detects build volume type (rectangular,Vojtech Bubnik
circular, convex, concave) and performs efficient collision detection agains these build volumes. As of now, collision detection is performed against a convex hull of a concave build volume for efficency. GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult, so it could be forward declared. Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class, while BuildVolume is a purely geometric class. Reduced usage of global wxGetApp, the Bed3D is passed as a parameter to View3D/Preview/GLCanvas. Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp. New test inside_convex_polygon(). New efficent point inside polygon test: Decompose convex hull to bottom / top parts and use the decomposition to detect point inside a convex polygon in O(log n). decompose_convex_polygon_top_bottom(), inside_convex_polygon(). New Circle constructing functions: circle_ransac() and circle_taubin_newton(). New polygon_is_convex() test with unit tests.
2021-10-14New ClipperUtils functions: opening(), closing() as an alternativeVojtech Bubnik
for offset2() with clear meaning. New ClipperUtils functions: expand(), shrink() as an alternative for offset() with clear meaning. All offset values for the new functions are positive. Various offsetting ClipperUtils (offset, offset2, offset2_ex) working over Polygons were marked as unsafe, sometimes producing invalid output if called for more than one polygon. These functions were reworked to offset polygons one by one. The new functions working over Polygons shall work the same way as the old safe ones working over ExPolygons, but working with Polygons shall be computationally more efficient. Improvements in FDM support generator: 1) For both grid and snug supports: Don't filter out supports for which the contacts are completely reduced by support / object XY separation. 2) Rounding / merging of supports using the closing radius parameter is now smoother, it does not produce sharp corners. 3) Snug supports: When calculating support interfaces, expand the projected support contact areas to produce wider, printable and more stable interfaces. 4) Don't reduce support interfaces for snug supports for steep overhangs, that would normally not need them. Snug supports often produce very narrow support interface regions and turning them off makes the support interfaces disappear.
2021-10-06Fix for buildYuSanka
2021-09-20Eradicated admesh from TriangleMesh:Vojtech Bubnik
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-14Removed the PRUS format parser. WIP: admesh eradication:Vojtech Bubnik
stl_stats are newly only accessed by TriangleMesh::stats(), most of the direct access to TriangleMesh::stl is gone with the exception of parsing input files (3MF, AMF, obj).
2021-09-10Follow-up to beee18f22991e369b1722a43bbcb692fa0d68af0Vojtech Bubnik
WIP to G-code export parallelization through pipelining: Decoupled CoolingBuffer from GCode / GCodeWriter, ready to be pipelined on a different thread.
2021-09-03Commenting out untested and unused Polyline::simplify_by_visibility()Vojtech Bubnik
2021-08-27Fixed Perl bindingsVojtech Bubnik
2021-07-14Fixed Perl bindingsLukas Matena
2021-06-27Support for forward compatibility of configurations, user and systemVojtech Bubnik
config bundles, project files (3MFs, AMFs). When loading these files, the caller may decide whether to substitute some of the configuration values the current PrusaSlicer version does not understand with some reasonable default value, and whether to report it. If substitution is disabled, an exception is being thrown as before this commit. If substitution is enabled, list of substitutions is returned by the API to be presented to the user. This allows us to introduce for example new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer 2.3.2 to fall back to some default and to report it to the user. When slicing from command line, substutions are performed by default and reported into the console, however substitutions may be either disabled or made silent with the new "config-compatibility" command line option. Substitute enums and bools only. Allow booleans to be parsed as true: "1", "enabled", "on" case insensitive false: "0", "disabled", "off" case insensitive This will allow us in the future for example to switch the draft_shield boolean to an enum with the following values: "disabled" / "enabled" / "limited". Added "enum_bitmask.hpp" - support for type safe sets of options. See for example PresetBundle::load_configbundle(... LoadConfigBundleAttributes flags) for an example of intended usage. WIP: GUI for reporting the list of config substitutions needs to be implemented by @YuSanka.
2021-05-18TriangleMeshSlicer: Got rid of admesh!Vojtech Bubnik
2021-05-17WIP: Reworked slicingVojtech Bubnik
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp 2) Refactored to use as little as possible of admesh.
2021-05-07Fix of #2825 - Add the length of each filament usedYuSanka
2021-05-07Fixed Polygon::centroid()Vojtech Bubnik
Ported Polygon unit tests from Perl to C++.
2021-05-06Refactoring for code clarity: Replaced this->m_xxx with m_xxxVojtech Bubnik
as the m_ prefix already signifies a class local variable.
2021-05-06Removing offset2 from Perl bindings and other minor cleanup.Vojtech Bubnik
2021-05-06Fixing Perl integrationVojtech Bubnik
2021-05-05Fixing perl bindingsVojtech Bubnik
2021-05-05WIP: Moving ownership of PrintRegions to PrintObjects.Vojtech Bubnik
2021-05-05Fixing perl integrationVojtech Bubnik
2021-05-05Fixed perl unit testsVojtech Bubnik
2021-04-26Refactoring of StaticPrintConfig & derived classes:Vojtech Bubnik
1) Using boost::preprocessor to reduce code duplicities when defining new configuration values. 2) Implemented static hash() and operator== on StaticPrintConfig derived classes to support hash tables of instances thereof.
2021-04-23Merge branch 'tm_vb_clipper_eigen'Vojtech Bubnik
2021-04-23Fixed Perl bindings of Clipper after Clipper was adapted to Slic3r::PointVojtech Bubnik
2021-04-21Convincing ClipperLib to use Slic3r's own Point type internally.Vojtech Bubnik
2021-04-21and the final Perl unit test fixVojtech Bubnik
2021-04-21Yet another Perl testVojtech Bubnik
2021-04-21Another last perl unit test fixVojtech Bubnik
2021-04-21Fixing perl unit testsVojtech Bubnik
2021-03-15ConfigOptions: GUI type as enum, not string.Vojtech Bubnik
Fixing compilation error in the new Platform code. Fixing one issue in FDM support after splitting the top/bottom interface layers.
2021-03-15Reworked the "new" bridging to respect the bridge_flow_ratioVojtech Bubnik
by maintaining extrusion spacing, but modifying the extrusion width and / or height.
2021-03-15Fixing unit tests.Vojtech Bubnik
2021-02-18The perl binding is killing VojtechVojtech Bubnik
2021-02-18Fixing the Perl bindings for the last timeVojtech Bubnik
2021-02-18Finally the Perl binding fix arrived!Vojtech Bubnik
2021-02-18Cooling buffer - fix of Perl bindingsVojtech Bubnik
2021-02-18Fix of Perl integration after cooling buffer reworkVojtech Bubnik
2021-02-09Removal of not numerically robust libraries "poly2tree" and "polypartition".Vojtech Bubnik
Adjustment of GUI/3DBed.cpp,hpp to use the more stable triangulation algoritm derived from SGI glut. Fix of an extremely slow bridging calculation, caused by an extremely slow bridged area detection function, of which the results were never used. Fixes "slicing fails or takes too long #5974"