-
Notifications
You must be signed in to change notification settings - Fork 6
/
TODO
63 lines (36 loc) · 2.1 KB
/
TODO
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
BoundingBox for Meshes (and similar) not fully correct since using entire point cloud for checks
(It's possible many points aren't used)
return Option for functions with only one error reason (e.g. IncorrectVertexID)
consider using Vec::get instead of checking index 'by hand'
get_d should have error case (could panic currently)
consider full abstraction over floating point type (huge change)
consider From / Into implementations for Mesh etc. so buffers can be reused
Mesh From Vec<Pos> Vec<usize>, PC From Vec<Pos> ... (done for case where data is used, but not solely to reuse buffer)
octree for voxel image
kdtree for 2d or generic
quadtree
implement FooAssign where possible
IsScalable impl missing for LineSegment (and others?)
some Hash impls might lose precision
many more distance functions (ray, line segments, ...)
rename either the half edge or IsSearchableMesh methods, so the names match
remove / change IsTree trait
some algorithms (e.g. bezier) can be ported to 3d, maybe write them directly generic over the dimension
filter_and_test sometimes fails
similar to distances, add intersections
searchable mesh currently only defined for tri mesh. consider making this generic / rename it
same for HalfEdge (likely that the specific version can be optimized better)
make the tests folder of the exact same structure and file names as src,
this way it becomes very easy to ensure everything is tested
many tests are missing
drop the distances files, once the DistanceTo traits are implemented
make trees referencing via ids
also consider writing wrapper types which e.g. take a PC and parse the tree internally
this way, the tree and pc can never get async
should be possible to generalize the OutlierFilter to nd
octree is missing many query methods
(also implement quad tree once these are implemented)
douglas peucker 3D version (or generic?) also consider rewriting it to not require PC as type
proper docs / cleanup of douglas peucker
bounding box < - > box code duplication
use the for_each_intersecting solution at many more places, since this allows avoiding allocations easily (Trees, unifiy AABBTrees)