Commit Graph

31 Commits

Author SHA1 Message Date
Vojtech Bubnik
2adcef8dbe Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptr
with their original names. Using weird shorthands makes the code
unreadable for anyone but the original author.

template<class T> using shptr = std::shared_ptr<T>;
template<class T> using uqptr = std::unique_ptr<T>;
template<class T> using wkptr = std::weak_ptr<T>;
2021-10-04 16:56:26 +02:00
Vojtech Bubnik
53a5c23d0f 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
01451d2e63 Removed the PRUS format parser. WIP: admesh eradication:
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-14 11:58:14 +02:00
tamasmeszaros
eccab6a6d9 Don't use sla::EncodedRaster in SLAImport, revive opencsg sandbox 2020-08-27 23:14:42 +02:00
tamasmeszaros
1e9eea2cae fix gui artifacts on Windows 2020-01-16 15:38:59 +01:00
tamasmeszaros
588d707805 Fix build issues on Windows 2020-01-16 14:25:01 +01:00
tamasmeszaros
0ef0a6042c Fix algorithm switching 2020-01-15 12:54:30 +01:00
tamasmeszaros
6188cde964 Remove completely redundant code 2020-01-15 12:45:01 +01:00
tamasmeszaros
b6f2364430 Fix scene not being centered 2020-01-15 10:39:07 +01:00
tamasmeszaros
f1fb2d26af further fixes for X window crashes. 2020-01-09 11:22:24 +01:00
tamasmeszaros
d0ae8e15b7 repaint causes crash on linux 2020-01-08 09:39:48 +01:00
tamasmeszaros
8aa7fd7db1 Fix linux assertion 2019-12-20 20:18:23 +01:00
tamasmeszaros
e0ae2f4c85 fix windows widgets while playback 2019-12-20 19:57:34 +01:00
tamasmeszaros
40588fb122 Display switching 2019-12-20 18:30:24 +01:00
tamasmeszaros
00f490ca64 Add boilerplate for shader based csg 2019-12-20 12:25:44 +01:00
tamasmeszaros
bcdc6e5d94 Fix closing while playback 2019-12-20 01:21:25 +01:00
tamasmeszaros
2ee9c3328b Add some comments. 2019-12-19 16:10:34 +01:00
tamasmeszaros
4a82e645ab Save and load window size. Add fps average output. 2019-12-19 15:26:04 +01:00
tamasmeszaros
e4eef4adeb Add command line options. Rename GLScene to Engine 2019-12-19 14:51:38 +01:00
tamasmeszaros
827bc08046 Make it work with mesa sw renderer 2019-12-19 01:55:46 +01:00
tamasmeszaros
7775b2df9a Recording and playback works 2019-12-18 16:24:41 +01:00
tamasmeszaros
2f10a37655 Separate fps counter and remove glut dependency 2019-12-18 12:00:28 +01:00
tamasmeszaros
cb1e371878 Dont use glut for fps measure. 2019-12-17 18:39:01 +01:00
tamasmeszaros
eb956c7ac2 Fix opencsg example on Win32 2019-12-17 16:28:38 +01:00
tamasmeszaros
5fade53269 further simplification 2019-12-17 10:19:46 +01:00
tamasmeszaros
b9e8ada04b Add ctl and fix applying opencsg params on the fly. 2019-12-16 18:49:44 +01:00
tamasmeszaros
eb06cade4d Fix event dispatching to handlers 2019-12-16 15:55:49 +01:00
tamasmeszaros
9789a150df Remove bloat, add some clipping plane functionality. 2019-12-16 15:36:43 +01:00
tamasmeszaros
9436ff9e17 Add convexity to csgsettings. Defer all rendering to Display. 2019-12-16 14:04:26 +01:00
tamasmeszaros
c520c09029 Added opencsg parameter console 2019-12-16 12:36:44 +01:00
tamasmeszaros
fa4a87cd9b Add opencsg demo sandbox 2019-12-16 11:13:20 +01:00