Commit Graph

21 Commits

Author SHA1 Message Date
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
enricoturri1966
4cfe8c8e1c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
Vojtech Bubnik
9142fcc109 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +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
enricoturri1966
2784ff9a1e Rendering seams (and other options) in preview using batched models on systems not supporting OpenGL 3.3 2021-09-03 15:35:44 +02:00
enricoturri1966
61e5a43ba5 Tech ENABLE_SEAMS_USING_INSTANCED_MODELS merged into tech ENABLE_SEAMS_USING_MODELS 2021-08-27 11:41:34 +02:00
enricoturri1966
23ca3007e7 Fixed conflicts after merge with master 2021-08-26 12:39:28 +02:00
enricoturri1966
4868c42169 ENABLE_SEAMS_USING_INSTANCED_MODELS -> WIP: Render models using glDrawElementsInstanced 2021-08-26 12:37:55 +02:00
enricoturri1966
38c5f9bfa7 Small refactoring into GLModel::render() 2021-08-19 12:12:25 +02:00
enricoturri1966
f1550c051d Added function to generated diamond shaped model 2021-08-04 13:58:44 +02:00
enricoturri1966
ae8e246e2d Fixed compile warning 2021-07-28 15:40:55 +02:00
enricoturri1966
fcf8a4ca63 Tech ENABLE_SINKING_CONTOURS -> Sinking contours shown while dragging Move/Rotate/Scale gizmos and show contours for gizmo cut 2021-07-27 13:02:06 +02:00
enricoturri1966
15c392646b Refactoring in GLModel::render() to simplify client code 2021-07-20 12:36:56 +02:00
enricoturri1966
22cf01f449 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
enricoturri1966
daf230695d Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints 2021-05-11 13:12:25 +02:00
enricoturri1966
ce42c67a2a ENABLE_GCODE_VIEWER -> Completed implementation of new GLModel class 2020-05-27 08:06:02 +02:00
enricoturri1966
9941be7032 Tech ENABLE_GCODE_VIEWER -> Fixed normals in curved arrows model 2020-05-13 11:48:29 +02:00
enricoturri1966
1cd2ffa6fe Tech ENABLE_GCODE_VIEWER -> Selection straight arrows rendered using the new OpenGL model class 2020-05-13 09:07:06 +02:00
enricoturri1966
9d784a4f4a Tech ENABLE_GCODE_VIEWER -> Selection curved arrows rendered using the new OpenGL model class 2020-05-12 16:15:43 +02:00
enricoturri1966
b62ba8a42d Tech ENABLE_GCODE_VIEWER -> Bed axes rendered using the new OpenGL model class 2020-05-12 11:33:50 +02:00
enricoturri1966
eb4a0911a1 GCodeViewer -> Enhanced tool marker + refactoring (added new base class for OpenGL models) 2020-05-11 16:26:35 +02:00