-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNOTES
78 lines (61 loc) · 2.16 KB
/
NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
,-----
| NOTES
`-----
* Consider:
- Exception source: locate first stack frame in input file?
- Add -Werror=...
- Useful e.g. with serious mesh warnings (e.g. self-intersections,
which can occur with numeric operations).
- Add -Wmesh-operations=...
- Mesh warning flags, test on all operations results. As a construction
progresses, the results of even minor operations tend to be
complex, so that tens or hundreds of costly tests on very
similar meshes are necessary.
- Furthermore most operations should be "safe" so that
e.g. -Wmesh-operations=deform,fair could be used to check only
certain "dangerous" operations.
- Also -Wmesh-operations=pipe,write-stl could be used to test the
output, so that more expensive tests can be done only when
necessary.
- Implement -Wmesh as separate check operations?
- Take advantage of threading.
- use BOUNDARY for bounding volumes?
- e.g. (boundary (bounding-halfspace ...)) -> (bounding-plane ...)
- similarly for other volumes
- Minkowski:
- Glide polylines?
- Probably yes. Need only new Polyline operation, like polygon but yielding Nef_3.
- Minkowski difference?
- Doable for 2D. Tricky or impossible in 3D.
- Sum doesn't work on Nef complement or Nef with hole ("manual complement").
- Deform:
- Support different modes and weights?
,----
| TODO
`----
* Fix loose ends
- Edge selectors:
- CGAL::Polygon_mesh_processing::detect_sharp_edges ?
- by dihedral angle
- by direction
- Face selectors:
- by segmentation
- fix to/from_scheme for bignums.
* Selection
- Add regularization (regularize_face_selection_borders).
* Make Write_operation work with Polyhedron.
* Make load/save use binary formats where possible.
- At least for polyhedra, this should provide a speedup.
* Implement boolean culling.
- See: https://doc.cgal.org/latest/Box_intersection_d/index.html
* Interesting CGAL functions:
- tangential_relaxation
- angle_and_area_smoothing
* Add Measure_operation
- CGAL::Polygon_mesh_processing:
- area
- centroid
- longest_border
- volume
* Add solid primitives:
- Dodecahedron