PrusaSlicer-NonPlainar/xs/src/libslic3r
bubnikv 3731820c48 Optimization of the configuration layer:
The values of StaticPrintConfig derived objects were searched by a name
walking through a huge chained if.
Now they are being mapped with a std::map.
Also initialization of StaticPrintConfig classes from their ConfigOptionDef
defaults is done by maintaining a single global definition of each
StaticPrintConfig derived class, and a new instance is initialized
from this static copy.

Also the ConfigOption instances are casted using static_cast
wherever possible, and their types are verified by a virtual type() method.
This approach avoids insiginificant performance penalty of a dynamic_cast.

Also the compare and clone methods were added to ConfigOption,
and the cloning & compare work on binary values, not by serialization.
2017-10-17 16:01:18 +02:00
..
Fill Fixed the cubic infill: The cubic infill was 30% flatter than it should 2017-10-03 11:29:13 +02:00
Format Unicode handling: 2017-08-03 17:31:31 +02:00
GCode Fixed a bug in the temperature handling of the Prusa Multi Material 2017-10-03 13:43:34 +02:00
BoundingBox.cpp Fixed a crash when slicing leads to no print. 2017-09-12 16:48:44 +02:00
BoundingBox.hpp Redefined the ==, != operators of Point and BoundingBox classes 2017-10-17 14:36:30 +02:00
BridgeDetector.cpp New feature: Bridging angle override through a bridge_angle config 2017-07-31 16:23:52 +02:00
BridgeDetector.hpp New feature: Bridging angle override through a bridge_angle config 2017-07-31 16:23:52 +02:00
ClipperUtils.cpp Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
ClipperUtils.hpp Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
Config.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
Config.hpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
EdgeGrid.cpp Initial implementation of a CMake build system for the Slic3r XS module. 2017-08-16 19:05:08 +02:00
EdgeGrid.hpp Use Vertex Buffer Objects for rendering of 3D volumes if possible. 2017-03-16 14:02:28 +01:00
ExPolygon.cpp Adapted BoundingBox get_extents(const ExPolygons &expolygons) 2017-04-05 09:52:06 +02:00
ExPolygon.hpp Ported the G-code generator from Perl to C++. 2017-05-03 18:28:22 +02:00
ExPolygonCollection.cpp Reworked the bridge detector to allow searching a single bridging 2016-11-08 09:59:25 +01:00
ExPolygonCollection.hpp Ported from the playground branch. Various documentation and optimization. 2016-09-13 13:30:00 +02:00
Extruder.cpp Include the wipe tower print time into the cooling time. 2017-06-22 15:18:37 +02:00
Extruder.hpp Include the wipe tower print time into the cooling time. 2017-06-22 15:18:37 +02:00
ExtrusionEntity.cpp Ported the G-code generator from Perl to C++. 2017-05-03 18:28:22 +02:00
ExtrusionEntity.hpp Many warnings fixed (#510) 2017-09-11 09:49:59 +02:00
ExtrusionEntityCollection.cpp Ported the G-code generator from Perl to C++. 2017-05-03 18:28:22 +02:00
ExtrusionEntityCollection.hpp Ported the G-code generator from Perl to C++. 2017-05-03 18:28:22 +02:00
ExtrusionSimulator.cpp Moved some math macros (sqr, lerp, clamp) to libslic3r.h 2017-07-27 10:39:43 +02:00
ExtrusionSimulator.hpp Fixes after the merge of changes by @alexrj. 2016-12-08 19:02:16 +01:00
Flow.cpp Fix of "exponentional values generated as G1 F-1.95058e+006 causing problems" 2017-09-12 18:20:06 +02:00
Flow.hpp Refactored Fill / Flow for readability. 2017-07-19 15:53:43 +02:00
GCode.cpp Fix of https://github.com/prusa3d/Slic3r/issues/492 2017-10-03 13:22:37 +02:00
GCode.hpp Fixed typo from the previous commit. 2017-09-04 13:55:56 +02:00
GCodeReader.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
GCodeReader.hpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
GCodeSender.cpp CMake build process - fixes of the previous check-ins to build 2017-08-18 21:09:53 +02:00
GCodeSender.hpp CMake build process - fixes of the previous check-ins to build 2017-08-18 21:09:53 +02:00
GCodeTimeEstimator.cpp Removed a broken Arc Fitting feature. 2017-04-26 14:24:31 +02:00
GCodeTimeEstimator.hpp Removed a broken Arc Fitting feature. 2017-04-26 14:24:31 +02:00
GCodeWriter.cpp Fix of "exponentional values generated as G1 F-1.95058e+006 causing problems" 2017-09-12 18:20:06 +02:00
GCodeWriter.hpp Refactored the cooling buffer: Removed ElapsedTime. 2017-06-30 20:01:32 +02:00
Geometry.cpp Fixed tool ordering for sequential prints. 2017-05-17 19:25:36 +02:00
Geometry.hpp Many warnings fixed (#510) 2017-09-11 09:49:59 +02:00
Int128.hpp Merges https://github.com/prusa3d/Slic3r/pull/509 2017-09-11 09:58:41 +02:00
Layer.cpp Fixed a regression bug, which was made during the porting of 2017-09-14 13:15:32 +02:00
Layer.hpp Fixed a regression bug, which was made during the porting of 2017-09-14 13:15:32 +02:00
LayerRegion.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
libslic3r.h Moved some math macros (sqr, lerp, clamp) to libslic3r.h 2017-07-27 10:39:43 +02:00
Line.cpp More refactoring to medial axis and gap fill, more robust 2016-05-20 17:03:57 +02:00
Line.hpp Many warnings fixed (#510) 2017-09-11 09:49:59 +02:00
Model.cpp Fixed a regression bug (bundling of multiple STLs into a single model). 2017-08-28 14:54:46 +02:00
Model.hpp Many warnings fixed (#510) 2017-09-11 09:49:59 +02:00
MotionPlanner.cpp Fixed the "avoid crossing perimeters" bug introduced in Slic3r 1.34.1.24 2017-06-02 13:33:19 +02:00
MotionPlanner.hpp Fixed the "avoid crossing perimeters" bug introduced in Slic3r 1.34.1.24 2017-06-02 13:33:19 +02:00
MultiPoint.cpp Implemented rotation of the support structure. 2017-06-08 14:02:37 +02:00
MultiPoint.hpp Implemented rotation of the support structure. 2017-06-08 14:02:37 +02:00
MutablePriorityQueue.hpp Performance improvements of the MotionPlanner 2017-05-05 09:59:56 +02:00
PerimeterGenerator.cpp A bit of refactoring and beautification. 2017-09-18 10:01:37 +02:00
PerimeterGenerator.hpp PerimeterGenerator - a bit of refactoring for readability. 2017-07-19 15:42:49 +02:00
PlaceholderParser.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
PlaceholderParser.hpp Fix of "MM incorrect extruder temperature" 2017-07-31 15:42:55 +02:00
Point.cpp Moved some math macros (sqr, lerp, clamp) to libslic3r.h 2017-07-27 10:39:43 +02:00
Point.hpp Redefined the ==, != operators of Point and BoundingBox classes 2017-10-17 14:36:30 +02:00
Polygon.cpp Limit the object movement to the vincinity of the print bed. 2017-06-08 11:02:29 +02:00
Polygon.hpp Implemented rotation of the support structure. 2017-06-08 14:02:37 +02:00
Polyline.cpp new function remove_degenerate(Polylines ...) 2017-01-25 18:23:57 +01:00
Polyline.hpp Created a total_lengt() free function for Polygons and Polylines. 2017-02-02 16:03:32 +01:00
PolylineCollection.cpp Moved some math macros (sqr, lerp, clamp) to libslic3r.h 2017-07-27 10:39:43 +02:00
PolylineCollection.hpp Moved some math macros (sqr, lerp, clamp) to libslic3r.h 2017-07-27 10:39:43 +02:00
Print.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
Print.hpp Many warnings fixed (#510) 2017-09-11 09:49:59 +02:00
PrintConfig.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
PrintConfig.hpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
PrintObject.cpp Fixed a regression bug, which was made during the porting of 2017-09-14 13:15:32 +02:00
PrintRegion.cpp Some beautification and C++11 adaptation. 2017-03-28 13:25:10 +02:00
Slicing.cpp Moved some math macros (sqr, lerp, clamp) to libslic3r.h 2017-07-27 10:39:43 +02:00
Slicing.hpp Implemented raft support for the wipe tower 2017-06-08 16:58:29 +02:00
SlicingAdaptive.cpp Fix compilation on Linux. 2016-12-12 18:59:35 +01:00
SlicingAdaptive.hpp Support for user definable variable layer thickness, the C++ backend. 2016-12-12 17:53:38 +01:00
SupportMaterial.cpp Optimization of the configuration layer: 2017-10-17 16:01:18 +02:00
SupportMaterial.hpp Finalized the experimental "synchronize support layers with object layers" 2017-04-10 12:00:07 +02:00
Surface.cpp Surface / Surface Collection - optimization routines for filtering, 2016-09-26 12:42:44 +02:00
Surface.hpp C++ compiler suppressed default constructor and assignment operator 2017-03-08 14:22:49 +01:00
SurfaceCollection.cpp Inlined Surface::any_internal_contains / any_bottom_contains 2017-07-10 13:15:36 +02:00
SurfaceCollection.hpp Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
SVG.cpp Unicode handling: 2017-08-03 17:31:31 +02:00
SVG.hpp Utility function SVG::export_expolygons() to paint a set of possibly 2017-03-02 16:32:43 +01:00
TriangleMesh.cpp Fixed a crash when slicing leads to no print. 2017-09-12 16:48:44 +02:00
TriangleMesh.hpp Ported some ModelObject methods from Perl to C++. 2017-08-02 16:05:18 +02:00
utils.cpp Fixed a default locale on Windows for UTF normalization. 2017-09-04 10:34:51 +02:00
Utils.hpp Unicode handling: 2017-08-03 17:31:31 +02:00