bubnikv
93cab990c7
Fixed some memory allocation issues of the new C++ 3d path preview
...
(reserved memory has to be shrank around the collected data).
Initial implementation of the vertex buffer objects for the 3d path preview.
2017-03-15 20:45:03 +01:00
bubnikv
d18e10c7c9
Rewrote the OpenGL object rendering to indexed triangle / quad sets
...
for lower memory consumption.
Rewrote the print path 3D preview to generate these indexed triangle / quad
sets, possibly with at least as possible duplication of vertices,
with a crease angle of 45 degrees, leading to maximum 8% overshoots
at the corners.
2017-03-15 16:33:25 +01:00
bubnikv
e7a920fe16
Fixed some picking issues after porting GLVolumes to C++.
...
Initial interface for print paths visualization by VBOs.
2017-03-14 10:11:08 +01:00
bubnikv
79e6f23fdc
code beautification, C++11 loops
2017-03-13 16:03:44 +01:00
bubnikv
c96d794604
BoundingBox, Print - methods inlined, added const accessors.
2017-03-13 16:03:11 +01:00
bubnikv
e6fddd364d
Volume rewritten from Perl to C++,
...
generation of vertex arrays from paths rewritten from Perl to C++,
parallelized.
2017-03-13 16:02:17 +01:00
bubnikv
50976e1b5a
Parallelized slices_to_fill_surfaces_clipped()
2017-03-08 23:02:27 +01:00
bubnikv
720459183e
Parallelized detection of extra perimeters.
2017-03-08 22:38:08 +01:00
bubnikv
a956186c76
Parallelized TriangleMeshSlicer::make_expolygons
2017-03-08 21:55:38 +01:00
bubnikv
336f86c101
Fixed a newly introduced memory leak into the Clipper library,
...
made all Clipper interfaces non-virtual.
2017-03-08 20:27:03 +01:00
bubnikv
4426e47e2a
Fixed a race condition in the parallelization
...
of the "ensure vertical wall thickness" feature.
2017-03-08 18:10:39 +01:00
bubnikv
20796b89c1
Improved debugging of slicing.
2017-03-08 15:58:40 +01:00
bubnikv
b5e45bccf9
Fixed a typo after porting _simplify_slices to C++.
2017-03-08 15:08:40 +01:00
bubnikv
798bca561b
Parallelized the slow discover_vertical_shells()
2017-03-08 14:54:04 +01:00
bubnikv
f200781436
C++ compiler suppressed default constructor and assignment operator
...
for Surface after the move operators were implemented. Added
those operators manually.
2017-03-08 14:22:49 +01:00
bubnikv
52b76930aa
Simplify_slices rewritten to C++, parallelized.
...
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv
4331f38912
Fixing of slicing errors ported to C++, parallelized.
2017-03-08 11:56:42 +01:00
bubnikv
73439b7acb
Parallelized PrintObject::_slice(), make_slices() code.
2017-03-08 10:37:47 +01:00
bubnikv
1e6cf0cd98
TriangleMeshSlicer
...
replaced the vectors of vectors by vectors of indices to a continuous memory,
using binary search to get to an index.
2017-03-08 09:47:32 +01:00
bubnikv
edd7cabf68
Trace TriangleMeshSlicer at loglevel debug (nr. 4)
2017-03-07 22:50:32 +01:00
bubnikv
dfba2cb6b2
Parallelized PrintObject::detect_surfaces_type()
2017-03-07 21:46:45 +01:00
bubnikv
65c024f7cf
Parallelize PrintObject::process_external_surfaces()
2017-03-07 17:43:43 +01:00
bubnikv
109013bed7
Yet another fix of the static linking on Windows.
2017-03-07 16:33:36 +01:00
bubnikv
32b0428303
Yet another fix of a static TBB linkage.
2017-03-07 14:50:32 +01:00
bubnikv
a4dea4b7fc
Fix of intel TBB linking.
2017-03-07 14:31:08 +01:00
bubnikv
32ebb1e2c7
Fix of a static library extension of the INtel Thread Building Blocks on OSX/Linux.
2017-03-07 14:13:30 +01:00
bubnikv
cb1a6eae1e
Added dependencies on the Intel Thread Building Blocks.
...
Changed the C++ parallelization code to Intel Thread Building Blocks.
2017-03-07 13:03:14 +01:00
bubnikv
8a42c0ad9f
Implementation of scaling factor of objects into an AMF file.
...
https://github.com/prusa3d/Slic3r/issues/7
2017-03-06 17:35:38 +01:00
bubnikv
c23c0ee7d2
Fix of https://github.com/prusa3d/Slic3r/issues/172 ?
2017-03-06 15:03:31 +01:00
bubnikv
06f82d1db5
No need for Math::Libm
2017-03-06 13:09:23 +01:00
bubnikv
d20a9d73d4
Fix for OSX: clang requires the member operator< and == to be const.
2017-03-05 16:34:16 +01:00
bubnikv
a9a20003c0
Clipper memory optimization: Own memory manager for OutPt objects.
...
Allocate OutPt by chunks of 32, reuse the released OutPt objects.
2017-03-03 23:06:51 +01:00
bubnikv
f24427cd76
Another Clipper optimization. When adding a set of paths
...
to Clipper, allocate the edges in a single continuous vector.
2017-03-03 21:40:40 +01:00
bubnikv
fa4df36963
Fix: Orientation() has been declared inline, therefore not exported.
2017-03-03 20:39:04 +01:00
bubnikv
5580fd64b3
Clipper library:
...
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-03 20:38:53 +01:00
bubnikv
fddd7c620f
Some optimization of memory allocation, some reduction / inlining of short functions.
2017-03-03 20:38:40 +01:00
bubnikv
1909c75c21
TriangleMeshSlic3r used unordered_map, which was terribly horribly shamelessly
...
slow on mingw. Rewrote using std::vector<>, which is blazing fast.
2017-03-03 17:36:07 +01:00
bubnikv
a219ae3d27
Set boost tracing level on DLL initialization to errors only.
2017-03-03 14:38:25 +01:00
bubnikv
4de33effdc
Tracing of TriangleMesh repair.
2017-03-03 13:31:51 +01:00
bubnikv
930e6752d9
Reverted unification of positive and negative zeros when loaded
...
from an STL file.
2017-03-03 12:54:00 +01:00
bubnikv
4d00aa1800
More tracing of the slicing process.
2017-03-03 12:53:05 +01:00
bubnikv
062a6628e5
Revert "Some optimization of memory allocation, some reduction / inlining of short functions."
...
This reverts commit bc19e97d45
.
2017-03-02 20:44:53 +01:00
bubnikv
473624fcd7
Revert "Clipper library:"
...
This reverts commit 90a415ae10
.
2017-03-02 20:44:43 +01:00
bubnikv
cd7134e6f6
Revert "Fix: Orientation() has been declared inline, therefore not exported."
...
This reverts commit c2ee73d211
.
2017-03-02 20:44:28 +01:00
bubnikv
c2ee73d211
Fix: Orientation() has been declared inline, therefore not exported.
2017-03-02 17:34:53 +01:00
bubnikv
90a415ae10
Clipper library:
...
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-02 17:11:46 +01:00
bubnikv
4287362aa6
Extended tracing of the slicing process.
2017-03-02 16:52:24 +01:00
bubnikv
d430767fa7
Define a surface type count constant to be able to address a vector
...
with a surface type.
2017-03-02 16:42:26 +01:00
bubnikv
83a80a9b7d
Optimization of LayerRegion::slices_to_fill_surfaces_clipped()
...
Added some run time tracing through boost::log.
2017-03-02 16:41:16 +01:00
bubnikv
73f603d90e
Fix of #117 : A large fractal pyramid takes ages to slice
...
The Clipper library has difficulties processing overlapping polygons.
Namely, the function Clipper::JoinCommonEdges() has potentially a terrible time complexity if the output
of the operation is of the PolyTree type.
This function implmenets a following workaround:
1) Peform the Clipper operation with the output to Paths. This method handles overlaps in a reasonable time.
2) Run Clipper Union once again to extract the PolyTree from the result of 1).
2017-03-02 16:39:43 +01:00