Readme.md 880 Bytes
Newer Older
Philip Trettner's avatar
Philip Trettner committed
1
2
# PolyMesh

Philip Trettner's avatar
Philip Trettner committed
3
A lightweight half-edge data structure.
Philip Trettner's avatar
Philip Trettner committed
4
5
6

Best used with glm and glow.

Philip Trettner's avatar
Philip Trettner committed
7
8
9
10
11
12
## TODO

* Properties
* Algorithms
* Tests
* std::less and std::hash for _index (and maybe _handle)
13
* attribute transformations (also between different types)
Philip Trettner's avatar
Philip Trettner committed
14
* Debug: store compactify generation in handles to check for invalidation
15
16
17
* Debug: insert is_removed assertions into handle access
* Switch primitives and valid_primitives, check if compact flag is inlined
* Test self-adjacent faces
Philip Trettner's avatar
Philip Trettner committed
18
* smart ranges: filter, map
19
* mid-level topo API: edge-rotate-next/prev, edge-split, edge-collapse, halfedge-split, halfedge-collapse, vertex-collapse
20
* vector, set, map -> range
21
22
* opposite edges (from vertex)
* cotangens weights etc.
23
* smoothing
Philip Trettner's avatar
Philip Trettner committed
24
25
* make handle.<primitives>() contain only valid ones and provide an all_<primitives>() version
* _copy versions of topological operations that copy attributes