Alessandro Ranellucci
|
4d066840ba
|
Initial work for porting Slic3r::Config to XS
|
2013-12-07 16:14:30 +01:00 |
|
Alessandro Ranellucci
|
e9b87b69df
|
Bugfix: segfault in SurfaceCollection->group(), fixed with a better implementation. #1566
|
2013-12-04 00:11:08 +01:00 |
|
Alessandro Ranellucci
|
bd8c430afd
|
Merge branch 'stable'
Conflicts:
lib/Slic3r/Geometry/Clipper.pm
lib/Slic3r/Layer/Region.pm
|
2013-11-24 22:48:31 +01:00 |
|
Alessandro Ranellucci
|
7b7e45fd43
|
Merge branch 'master' of github.com:alexrj/Slic3r
|
2013-11-24 22:44:08 +01:00 |
|
Alessandro Ranellucci
|
3fca0956bc
|
Adapt plater to new convex hull
|
2013-11-24 22:42:52 +01:00 |
|
Alessandro Ranellucci
|
bed1625d6b
|
Split objects could not be repositioned in plater. 3D preview and stats were not available too. #1543
|
2013-11-24 14:28:17 +01:00 |
|
Alessandro Ranellucci
|
af457cd3d7
|
Fix compilation on Windows
|
2013-11-24 11:24:10 +01:00 |
|
Alessandro Ranellucci
|
9cf138574c
|
New TriangleMesh::convex_hull()
|
2013-11-24 01:15:52 +01:00 |
|
Alessandro Ranellucci
|
a93c862338
|
Ported traverse_pt() to XS
|
2013-11-23 23:21:59 +01:00 |
|
Alessandro Ranellucci
|
3a5e4931cc
|
Move Geometry.cpp to Slic3r::Geometry namespace
|
2013-11-23 21:54:56 +01:00 |
|
Alessandro Ranellucci
|
0516aac715
|
Ported chained_path() to XS
|
2013-11-23 21:39:05 +01:00 |
|
Alessandro Ranellucci
|
4d5d003ba7
|
Ported horizontal_projection() to XS
|
2013-11-23 19:41:40 +01:00 |
|
Alessandro Ranellucci
|
e75dbf37fa
|
Never scale TriangleMesh objects
|
2013-11-23 19:25:33 +01:00 |
|
Alessandro Ranellucci
|
46e3b3180e
|
Ported Surface->offset() to XS
|
2013-11-23 18:29:25 +01:00 |
|
Alessandro Ranellucci
|
a331f4d27a
|
Finished porting group() to XS
|
2013-11-23 18:15:59 +01:00 |
|
Alessandro Ranellucci
|
67a7e4f769
|
Change method signature for slice()
|
2013-11-23 00:15:42 +01:00 |
|
Alessandro Ranellucci
|
878d587196
|
Ported is_solid() and is_bridge() to XS. Also ported (but not used yet) group() to SurfaceCollection::group()
|
2013-11-23 00:07:04 +01:00 |
|
Alessandro Ranellucci
|
de9d5403e8
|
Finished porting convex_hull() to XS and removed dependency on Math::ConvexHull::MonotoneChain
|
2013-11-22 22:48:07 +01:00 |
|
Alessandro Ranellucci
|
5309e3ef22
|
More files for convex_hull
|
2013-11-22 22:38:30 +01:00 |
|
Alessandro Ranellucci
|
4577f0725c
|
Incomplete work for XS-based convex_hull
|
2013-11-22 21:43:35 +01:00 |
|
Alessandro Ranellucci
|
a950fbe0c2
|
Removed more unused functions and fixed tests
|
2013-11-22 16:19:15 +01:00 |
|
Alessandro Ranellucci
|
132d170f73
|
Ported simplify() to XS and removed dependency on Boost::Geometry::Utils
|
2013-11-22 16:01:50 +01:00 |
|
Alessandro Ranellucci
|
df8d889481
|
More unfinished work
|
2013-11-22 02:16:10 +01:00 |
|
Alessandro Ranellucci
|
518798beb3
|
Incomplete work for porting simplify() to XS
|
2013-11-21 20:25:24 +01:00 |
|
Alessandro Ranellucci
|
5f2b2c90b6
|
Fix error in contains_point() port
|
2013-11-21 18:42:16 +01:00 |
|
Alessandro Ranellucci
|
ac88fbcbb0
|
Ported clip_end(), length(), is_perimeter(), is_fill(), is_bridge() to XS
|
2013-11-21 18:03:40 +01:00 |
|
Alessandro Ranellucci
|
761f261a68
|
Ported intersect_expolygons() and subtract_expolygons() to XS
|
2013-11-21 17:53:50 +01:00 |
|
Alessandro Ranellucci
|
5f81292f3f
|
Ported encloses_point() to XS and renamed to contains_point()
|
2013-11-21 16:21:42 +01:00 |
|
Alessandro Ranellucci
|
a225a8b2ef
|
Ported contains_line() to XS
|
2013-11-21 15:12:06 +01:00 |
|
Alessandro Ranellucci
|
3025c77675
|
Use Clipper for line clipping
|
2013-11-21 14:15:38 +01:00 |
|
Alessandro Ranellucci
|
1d6a18071a
|
Support the new Clipper API
|
2013-11-20 15:59:19 +01:00 |
|
Alessandro Ranellucci
|
50c0081d25
|
Update Clipper to 6.0.0
|
2013-11-20 11:35:58 +01:00 |
|
Alessandro Ranellucci
|
e62ef35fbf
|
Bugfix: some binary STL files were not correctly parsed on Windows. #1370 1467
|
2013-11-12 16:58:26 +01:00 |
|
Alessandro Ranellucci
|
3464e646f7
|
Use fread() to read facet number
|
2013-11-12 15:27:42 +01:00 |
|
Alessandro Ranellucci
|
d0d842e24a
|
Use fread() to read binary STL files
|
2013-11-12 15:23:48 +01:00 |
|
Alessandro Ranellucci
|
885ab5844e
|
Ported regular_points() to XS and renamed it to equally_spaced_points()
|
2013-11-11 20:59:58 +01:00 |
|
Alessandro Ranellucci
|
3ac94bd6d8
|
Fix a valgrind warning about mismatched free()
|
2013-11-11 15:07:38 +01:00 |
|
Alessandro
|
e024b08762
|
Round Perl coordinates instead of truncating them to integers. #1486 #1445 #1464
|
2013-11-11 13:00:50 +01:00 |
|
Alessandro Ranellucci
|
c133a33ed2
|
Ported point_line_distance() and removed same_point()
|
2013-11-06 23:08:03 +01:00 |
|
Alessandro Ranellucci
|
d8e098ab0e
|
Ported same_line() to XS
|
2013-11-06 19:38:10 +01:00 |
|
Alessandro Ranellucci
|
b5aaeb9b12
|
More work on the clipping method for medial axis. Includes Polyline->is_valid()
|
2013-11-06 19:30:45 +01:00 |
|
Nicolas Dandrimont
|
067cc1a74a
|
Fix rounding error in clipper.cpp
This fixes half of #1486 (test failure in t/geometry.t)
|
2013-11-03 01:13:23 +01:00 |
|
Alessandro Ranellucci
|
29b83517cb
|
Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS
|
2013-10-27 22:57:25 +01:00 |
|
Alessandro Ranellucci
|
e6efda4ba4
|
Bugfix: incomplete slicing when more than two facets shared the same edge. #1483
|
2013-10-26 14:43:47 +02:00 |
|
Alessandro Ranellucci
|
5988f14b14
|
Flag for arrows in SVG.cpp
|
2013-10-26 14:41:37 +02:00 |
|
Alessandro Ranellucci
|
d59e62c9d8
|
Bugfix: wrong slicing (error in XS port). #1469
|
2013-10-13 16:00:20 +02:00 |
|
Alessandro Ranellucci
|
ac93e15c98
|
New class for generating SVG from XS. Includes some minor refactoring to TriangleMesh
|
2013-10-13 15:59:38 +02:00 |
|
Alessandro Ranellucci
|
9918c1e97d
|
Minor improvements in debug output
|
2013-10-13 12:12:03 +02:00 |
|
Alessandro Ranellucci
|
ac5e713323
|
Fix segfault when calling chained_path() on an ExtrusionPathCollection using no_sort. Includes regression test
|
2013-09-28 15:30:10 +02:00 |
|
Alessandro Ranellucci
|
91289fad49
|
Fix compilation on Windows. #1433
|
2013-09-23 11:27:35 +02:00 |
|
Alessandro Ranellucci
|
b1a3bd65ea
|
Remove unused variable and add missing define
|
2013-09-19 16:19:47 +02:00 |
|
Alessandro Ranellucci
|
ae7600ee55
|
Update MANIFEST
|
2013-09-19 16:06:57 +02:00 |
|
Alessandro Ranellucci
|
4fe0675380
|
Removed ZTable code
|
2013-09-17 23:55:38 +02:00 |
|
Alessandro Ranellucci
|
e0da81e8bf
|
Introduce a ->count method for all collections to save time
|
2013-09-17 23:38:23 +02:00 |
|
Alessandro Ranellucci
|
0c2bfab5f2
|
Fix an overflow point causing wrong chained path
|
2013-09-17 13:04:36 +02:00 |
|
Alessandro Ranellucci
|
aef5c05c57
|
Update brim generation code. Includes regression test. #1440
|
2013-09-16 10:33:30 +02:00 |
|
Alessandro Ranellucci
|
4dce461aaf
|
Minor optimizations
|
2013-09-13 15:19:15 +02:00 |
|
Alessandro Ranellucci
|
6e22a82e7d
|
Conditional compilation to exclude all Perl/XS stuff from C++ code
|
2013-09-13 14:48:40 +02:00 |
|
Alessandro Ranellucci
|
2280804daa
|
Update xs/MANIFEST
|
2013-09-12 11:14:54 +02:00 |
|
Alessandro Ranellucci
|
749b8421b0
|
Merge pull request #1435 from jluis/master
Round results when rotating to minimize errors & pass the tests
|
2013-09-12 02:10:18 -07:00 |
|
Alessandro Ranellucci
|
d660a1de0a
|
Fix XS STL reader not populating stats.size correctly
|
2013-09-12 10:29:42 +02:00 |
|
Alessandro Ranellucci
|
bc48e17dff
|
Use precomputed normals in 3D preview
|
2013-09-11 20:15:42 +02:00 |
|
Alessandro Ranellucci
|
d4512a12df
|
Make plater work with new XS code
|
2013-09-11 20:00:51 +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 |
|
Jose Luis Perez Diez
|
69a92c10f0
|
Round results when rotating to minimize errors & pass the tests
|
2013-09-10 17:14:49 +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
|
2d4aa439ae
|
Merge branch 'master' into xsslice
|
2013-09-09 21:43:52 +02:00 |
|
Alessandro Ranellucci
|
c592932cee
|
Use a general-purpose T_ARRAYREF_PTR typemap
|
2013-09-09 21:43:28 +02:00 |
|
Alessandro Ranellucci
|
1fbf9c3952
|
Move confess_at() to utils.cpp
|
2013-09-09 21:41:45 +02:00 |
|
Alessandro Ranellucci
|
93dddb7ee2
|
Untested implementation of split_mesh()
|
2013-09-09 21:41:28 +02:00 |
|
Alessandro Ranellucci
|
b6548137de
|
Move confess_at() to utils.cpp
|
2013-09-09 21:40:57 +02:00 |
|
Alessandro Ranellucci
|
873762491b
|
Fix a bad access after recent change about ->p returning objects by reference
|
2013-09-09 17:10:54 +02:00 |
|
Alessandro Ranellucci
|
dbf739318a
|
Almost finished porting slice()
|
2013-09-09 12:18:52 +02:00 |
|
Alessandro Ranellucci
|
46bd407da4
|
More porting work
|
2013-09-08 00:44:01 +02:00 |
|
Alessandro Ranellucci
|
5adb187dd2
|
More porting work
|
2013-09-07 21:08:53 +02:00 |
|
Alessandro Ranellucci
|
346c17d483
|
Some initial work for porting slice()
|
2013-09-07 14:06:09 +02:00 |
|
Alessandro Ranellucci
|
907ba55aab
|
Some minor fixes needed after the xsdata merge. #1421
|
2013-09-06 22:52:56 +02:00 |
|
Alessandro Ranellucci
|
e02ae0d18a
|
Return Surface objects by reference from SurfaceCollection objects and fix a bug in XS code causing some shell options to be ignored
|
2013-09-06 18:36:38 +02:00 |
|
Alessandro Ranellucci
|
cb677c45de
|
Don't grow horizontal shells having acute angles. #1387
|
2013-09-06 17:43:40 +02:00 |
|
Anders Sundman
|
d9646ff6ba
|
Fixed: Missing include directive
|
2013-09-04 22:41:25 +02:00 |
|
Alessandro Ranellucci
|
a49dc603cc
|
Many changes and fixes to remove leaks and return objects by reference
|
2013-09-03 19:26:58 +02:00 |
|
Alessandro Ranellucci
|
275422fac7
|
Don't return first_point() and last_point() by reference
|
2013-09-02 22:33:03 +02:00 |
|
Alessandro Ranellucci
|
c0789506e4
|
Return objects by reference instead of always cloning
|
2013-09-02 20:22:20 +02:00 |
|
Alessandro Ranellucci
|
1741301973
|
Fix segfault when appending an ExtrusionPath::Collection to another Collection
|
2013-08-31 01:23:47 +02:00 |
|
Alessandro Ranellucci
|
dd70f6be2f
|
Return ExtrusionPath->polyline and ExtrusionLoop->polygon by reference
|
2013-08-31 00:50:03 +02:00 |
|
Alessandro Ranellucci
|
d2e4bba074
|
Fixed memory leak in ExtrusionPath::Collection and return collection items by reference
|
2013-08-31 00:37:17 +02:00 |
|
Alessandro Ranellucci
|
bb45437526
|
Return Surface->expolygon by reference
|
2013-08-31 00:28:24 +02:00 |
|
Alessandro Ranellucci
|
1cfdf7e955
|
Ported Slic3r::Polyline::Collection
|
2013-08-30 00:06:10 +02:00 |
|
Alessandro Ranellucci
|
bd7b0e2aed
|
Ported ExtrusionPath::Collection->chained_path
|
2013-08-29 11:47:59 +02:00 |
|
Alessandro Ranellucci
|
ea1d138c95
|
Ported ExtrusionLoop->make_counter_clockwise()
|
2013-08-29 01:40:42 +02:00 |
|
Alessandro Ranellucci
|
5d6fd7f4d9
|
Optimizations for better usage of XS code
|
2013-08-29 01:36:42 +02:00 |
|
Alessandro Ranellucci
|
e19c6a1494
|
Ported Point->distance_to() and Line->length()
|
2013-08-28 20:41:41 +02:00 |
|
Alessandro Ranellucci
|
fb763b0187
|
Removed dependency on Math::Clipper
|
2013-08-27 01:26:44 +02:00 |
|
Alessandro Ranellucci
|
b11b595c97
|
Ported nearest_point() and nearest_point_index()
|
2013-08-27 00:52:20 +02:00 |
|
Alessandro Ranellucci
|
9fb14f2119
|
Ported (and used) ExtrusionPath->first_point
|
2013-08-26 23:42:00 +02:00 |
|
Alessandro Ranellucci
|
fe42427a54
|
Ported Polygon->is_valid() and ExPolygon->is_valid()
|
2013-08-26 23:27:51 +02:00 |
|
Alessandro Ranellucci
|
da0b85c0d9
|
Ported ExPolygon->contour and ExPolygon->holes
|
2013-08-26 23:09:18 +02:00 |
|
Alessandro Ranellucci
|
85011dfef3
|
Ported Surface->p
|
2013-08-26 23:03:00 +02:00 |
|
Alessandro Ranellucci
|
706851f836
|
Ported ExPolygon->area()
|
2013-08-26 22:50:26 +02:00 |
|
Alessandro Ranellucci
|
792fcba7be
|
Ported Polygon->area
|
2013-08-26 22:44:40 +02:00 |
|
Alessandro Ranellucci
|
1f734807b9
|
Ported Polygon->split_at()
|
2013-08-26 22:39:35 +02:00 |
|
Alessandro Ranellucci
|
f8ac3aa68f
|
Fix compilation on Windows
|
2013-08-26 20:56:36 +02:00 |
|
Alessandro Ranellucci
|
9cf831b9c5
|
Ported union_pt() to XS
|
2013-08-26 18:37:19 +02:00 |
|
Alessandro Ranellucci
|
443d4e52cb
|
Fixed everything in the XS port
|
2013-08-26 17:58:37 +02:00 |
|
Alessandro Ranellucci
|
b6005327d6
|
Downgrade Clipper to 5.1.5
|
2013-08-26 15:57:54 +02:00 |
|
Alessandro Ranellucci
|
0933a2cf6b
|
Added failing test case
|
2013-08-25 22:51:12 +02:00 |
|
Alessandro Ranellucci
|
ee5b999ab0
|
Initialize no_sort to prevent it from being unexpectedly true
|
2013-08-25 20:29:45 +02:00 |
|
Alessandro Ranellucci
|
94ca28644e
|
Ported union() to XS
|
2013-08-17 12:24:04 +02:00 |
|
Alessandro Ranellucci
|
b38cc2c244
|
Merge branch 'master' into xsdata
Conflicts:
lib/Slic3r.pm
lib/Slic3r/ExPolygon.pm
lib/Slic3r/Fill.pm
lib/Slic3r/Fill/Rectilinear.pm
lib/Slic3r/GCode.pm
lib/Slic3r/GUI/Plater.pm
lib/Slic3r/Geometry/Clipper.pm
lib/Slic3r/Layer/Region.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/TriangleMesh.pm
t/shells.t
xs/MANIFEST
|
2013-08-08 02:10:34 +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
|
1479d6933b
|
Prevent admesh to reverse all facets twice in some mostly-random situations. Normalizing a null normal should still return a null normal in order to fix it properly later instead of treating it as if it was a true normal and thus reversing the facet (and if that is the first facet, all of the others would be reversed as well). #1362
|
2013-07-31 00:32:48 +02:00 |
|
Alessandro Ranellucci
|
dd935e2036
|
Some comments and minor fixes to admesh code by Andy Doucette
|
2013-07-31 00:01:53 +02:00 |
|
Alessandro Ranellucci
|
995c68b57f
|
Can't NULL floats...
|
2013-07-26 17:08:08 +02:00 |
|
Alessandro Ranellucci
|
4bc1c6e3d8
|
Update MANIFEST*
|
2013-07-23 23:27:06 +02:00 |
|
Alessandro Ranellucci
|
6f1a1b546f
|
Update MANIFEST*
|
2013-07-23 23:25:57 +02:00 |
|
Alessandro Ranellucci
|
9d13a90837
|
Missing #include causing XS build to fail. #1349
|
2013-07-23 11:36:18 +02:00 |
|
Alessandro Ranellucci
|
b1147861dd
|
Implement lower_bound() and upper_bound() methods for ZTable
|
2013-07-20 21:19:59 +02:00 |
|
Alessandro Ranellucci
|
1b285f3f46
|
Thread-safe integration of ExtrusionPath::Collection
|
2013-07-18 22:29:12 +02:00 |
|
Alessandro Ranellucci
|
c030e38908
|
Ported ExtrusionPath::Collection
|
2013-07-18 19:09:07 +02:00 |
|
Alessandro Ranellucci
|
0efea9e442
|
Ported diff() and intersection()
|
2013-07-17 01:21:30 +02:00 |
|
Alessandro Ranellucci
|
c7b6818ccf
|
Ported offset() and offset2()
|
2013-07-17 00:48:29 +02:00 |
|
Alessandro Ranellucci
|
bf8c799685
|
Ported diff_ex, intersection_ex, union_ex, xor_ex
|
2013-07-17 00:29:09 +02:00 |
|
Alessandro Ranellucci
|
f7ada2b5db
|
Ported make_clockwise() and make_counter_clockwise()
|
2013-07-16 21:09:29 +02:00 |
|
Alessandro Ranellucci
|
fe061b19ad
|
Ported Polygon->is_counter_clockwise() and rearranged code in .cpp files
|
2013-07-16 21:04:14 +02:00 |
|
Alessandro Ranellucci
|
bd3fb21cfd
|
Make offset_ex(), offset2_ex() and diff_ex() available to C++ code
|
2013-07-16 20:36:27 +02:00 |
|
Alessandro Ranellucci
|
79db996696
|
Ported diff_ex() to XS
|
2013-07-16 20:29:15 +02:00 |
|
Alessandro Ranellucci
|
898007fc36
|
Port offset_ex() and offset2_ex() to XS
|
2013-07-16 20:09:53 +02:00 |
|
Alessandro Ranellucci
|
9458c7db97
|
Fix integration of XS containers
|
2013-07-16 17:13:01 +02:00 |
|
Alessandro Ranellucci
|
9b582a11ff
|
Adopt XS containers everywhere (incomplete work)
|
2013-07-16 09:49:34 +02:00 |
|
Alessandro Ranellucci
|
339ba9e5c3
|
Implement split_at_index() and split_at_first_point() in ExtrusionLoop too
|
2013-07-15 23:56:01 +02:00 |
|
Alessandro Ranellucci
|
0d07a2e4e6
|
Implemented split_at_index() and split_at_first_point() for Polygon
|
2013-07-15 23:38:06 +02:00 |
|
Alessandro Ranellucci
|
62e5bd0ee7
|
Polygon->lines
|
2013-07-15 23:28:23 +02:00 |
|
Alessandro Ranellucci
|
77c479c127
|
Add test for polyline lines
|
2013-07-15 23:23:35 +02:00 |
|
Alessandro Ranellucci
|
439255ca46
|
Polyline->lines
|
2013-07-15 23:12:13 +02:00 |
|
Alessandro Ranellucci
|
ab6b3d41a7
|
XS interface completed, including new Line class
|
2013-07-15 22:57:22 +02:00 |
|
Alessandro Ranellucci
|
9af2a1c007
|
Use XS Point everywhere
|
2013-07-15 20:31:43 +02:00 |
|
Alessandro Ranellucci
|
d0701cdcd4
|
Implemented Slic3r::ExtrusionLoop
|
2013-07-15 16:21:09 +02:00 |
|