Commit Graph

31 Commits

Author SHA1 Message Date
e185bf58b7 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
8a2a9dba2f 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
58d8ab3dea 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
19e1d877aa Don't use sla::EncodedRaster in SLAImport, revive opencsg sandbox 2020-08-27 23:14:42 +02:00
70ecb634b7 fix gui artifacts on Windows 2020-01-16 15:38:59 +01:00
a1dc7a5c41 Fix build issues on Windows 2020-01-16 14:25:01 +01:00
402ae12db2 Fix algorithm switching 2020-01-15 12:54:30 +01:00
3ab246df6b Remove completely redundant code 2020-01-15 12:45:01 +01:00
a36c7c76cc Fix scene not being centered 2020-01-15 10:39:07 +01:00
e159344ce5 further fixes for X window crashes. 2020-01-09 11:22:24 +01:00
7d55df052f repaint causes crash on linux 2020-01-08 09:39:48 +01:00
451f04b590 Fix linux assertion 2019-12-20 20:18:23 +01:00
3a185d7f57 fix windows widgets while playback 2019-12-20 19:57:34 +01:00
083b557ec2 Display switching 2019-12-20 18:30:24 +01:00
93d0bbd7ef Add boilerplate for shader based csg 2019-12-20 12:25:44 +01:00
4f97a7122f Fix closing while playback 2019-12-20 01:21:25 +01:00
d3925abb13 Add some comments. 2019-12-19 16:10:34 +01:00
bb8a6b898f Save and load window size. Add fps average output. 2019-12-19 15:26:04 +01:00
8126cdd507 Add command line options. Rename GLScene to Engine 2019-12-19 14:51:38 +01:00
bf44da0e37 Make it work with mesa sw renderer 2019-12-19 01:55:46 +01:00
fafc2a3510 Recording and playback works 2019-12-18 16:24:41 +01:00
472c4c885d Separate fps counter and remove glut dependency 2019-12-18 12:00:28 +01:00
acfaff3741 Dont use glut for fps measure. 2019-12-17 18:39:01 +01:00
558529146c Fix opencsg example on Win32 2019-12-17 16:28:38 +01:00
695950b2e6 further simplification 2019-12-17 10:19:46 +01:00
bb3b39016f Add ctl and fix applying opencsg params on the fly. 2019-12-16 18:49:44 +01:00
47ec708c3a Fix event dispatching to handlers 2019-12-16 15:55:49 +01:00
5aaddd82a4 Remove bloat, add some clipping plane functionality. 2019-12-16 15:36:43 +01:00
878f8a8ead Add convexity to csgsettings. Defer all rendering to Display. 2019-12-16 14:04:26 +01:00
b1186e339d Added opencsg parameter console 2019-12-16 12:36:44 +01:00
66759e10e3 Add opencsg demo sandbox 2019-12-16 11:13:20 +01:00