CGAL / cgal

The public CGAL repository, see the README below
https://github.com/CGAL/cgal#readme
Other
4.84k stars 1.37k forks source link

CGAL Lab bugs #6690

Open MaelRL opened 2 years ago

MaelRL commented 2 years ago

Issue Details

Sorted by estimated amount of work / complexity.

### Large
- [ ] make it possible to zoom arbitrarily close
- [ ] when using orthographic projection, zoom is much shorter
- [ ] Selection item's move point regularly crashes: https://gist.github.com/MaelRL/325d0eed9a351de4af244c44eece5937
- [ ] the `delete` in [`Vao()`](https://github.com/CGAL/cgal/blob/master/Three/include/CGAL/Three/Buffer_objects.h#L72) takes a lot of time. See also comment [here](https://github.com/CGAL/cgal/pull/6674#issuecomment-1162820894)
- [ ] Selection (graying) is not visible for faces directly orthogonal to the camera or when using orthographic projection
- [ ] More than one selection item is broken
- [ ] Save / Load scene is broken for C3T3 items
- [ ] Fix some operations wrongly being applicable to every item (AW3, Fast distance, etc.)
- [ ] Alpha transparency is broken
- [ ] C3T3 item transparency slider doesn't work
- [ ] Signed distance visualization is broken
- [ ] [Feature request] Show element IDs in a polygon soup (at least vertex / face IDs)
- [ ] Can't use "Selection > Move Point" if "Scale the scene" is being used
- [ ] Move points on non triangulated meshes is a segfault
### Medium
- [x] [Feature request] Bbox Operation does not exist for different items
- [x] Affine transformation on deleted item = crash (#7472)
- [x] Cut planes in gray image visualization should have a border, for example of the same colors as the balls, to ease visualization
- [x] Affine transformation does not exist for polygon soups (#7472)
- [x] Inflate mesh with multiple selected items = crash
- [ ] Show Edge IDs, move a vertex with a selection item, it now shows Vertices IDs
- [ ] Plane equation parser (`1*x+0*y+0*z-1=0` creates a plane with equation `1*x + 0*y + -4.37114e-08*z + 0 = 0`)
- [ ] *Select Different Colors for Selected Items* should call *Reset Colors* on the selected items. Issue can be observed if *Color Each Connected Components* is called first.
- [ ] Reloading an OFF file recenters the view even if "Visiblity changes recenter" is not checked.
- [ ] Allow "tetrahedra filtering" to filter more than one c3t3_item, and keep valid
- [ ] Erasing a face from the mesh via selection item can purge the whole selection (e.g. select vertices, remove a star incident to a selected vertex, everything gets deselected)
- [ ] Reloading resets simplex ID visibility choices
- [ ] Loading a second C3T3 item messes up the choice (show protecting ball, cut plane, ...) of the first C3T3 item
- [ ] "ctrl+space"-induced recentering due to a visibility change, and "ctrl+R"-induced recentering are not the same recentering
- [ ] Take a mesh, color it, clip it, colors are wrong for the new faces (and you can't change the color...?)
- [ ] Extrude FaceGraph's arrow can go out of the visibility box + performing extrusion does not recompute the scene's bbox
- [ ] Visualization of soups of quads is broken (shows holes)
- [ ] Isolated vertices are badly counted or updated? Maybe specific to opening a .obj file?
- [ ] Adding a path of edges in the selection item (usually) results in a segfault
- [ ] Trying to change an item's color while the scene is rotating makes the window unresponsive
- [ ] loading : https://gist.github.com/MaelRL/d7c1b08326f7d0a122352ca6fb5b6257 is a segfault
- [ ] https://gist.github.com/MaelRL/519cce626bea7f4723faef5e1daba9bb + "zoom to index v2" is a segfault
### Small
- [x] https://github.com/CGAL/cgal/issues/7051
- [x] Corefinement creates an (empty) item even if the operation failed
- [x] "Edge Splitted"
- [x] After a corefnement Boolean operation we should no longer visualize the two input meshes, or as wireframe.
- [x] Fix items statistics producing NaNs (like angle averages)
- [x] Heat Method GUI resets the menu after selecting the vertex sources
- [x] Choice of the initial color map of the display plugin seems unused
- [x] Make it possible to have a multi line entry for tetrahedra (like points or polylines) instead of tedious point-by-point
- [x] Loading "item-0.01.obj" creates an item of name "item-0" (truncating should use the last dot, not the first)
- [x] Gray out the "Smooth Area" button (Meshing Smoothing) in the GUI if Ceres is not available
- [x] Autoref on non triangulated mesh = segfault
- [ ] Join polyhedra -> no visibility arrows
- [ ] Mesh_3 on an open surface is a segfault (it should produce a surface mesh (directly call PMP::'s function ?))
- [ ] Deleting the shortest path item deletes the surface mesh item
- [ ] Create New Group while selecting a group creates a group item that isn't a group
- [ ] Why is PMP::self intersection showing up when one compiles the selection plugin
- [ ] Creating a selection item / clicking the "Edition" tab emits "itemchanged" (surface mesh item)
- [ ] Reloading a C3T3 item does not reset the "Show ..." (e.g. "show protecting spheres" remain checked, but protecting spheres aren't shown)
- [ ] C3T3 item: "show protecting spheres" deselects the C3T3 item
- [ ] Recentering recenters too much for point sets (generate a point set, ctrl+R --> too much)
- [ ] C3T3 / tet soup items: selection of colors for interior tets / exterior faces does not follow user-selected colors
- [ ] Removal of control vertices turn them into ROI vertices (deformation)
- [ ] Clear ROI also clears control (deformation)
- [ ] One cannot hide a model being edited (deformation)
- [ ] Shift clicking vertex selection (e.g. in deformation) conflicts with shift cliking for point location
- [ ] Basic generator's generate grid doesn't work for grids in the YZ plane
- [ ] Clipping bbox "reset" button doesn't work if the box is larger than the initial box
- [ ] calling triangulate faces causes a segfault if there are degenerate simplices
- [ ] Harmonize "border" and "boundary" in operations
- [ ] Loading an .obj without any face is a crash
- [ ] Create Points from a Polylines item is broken and returns 10^-316
MaelRL commented 2 years ago
  1. Generate 2 spheres with the demo's generator. Respective radii 1 and 0.5, 4 iterations of subdivision
  2. Mesh_3 with no sharp features, facet and cell size 0.03
  3. segfault
afabri commented 2 years ago

After a corefnement Boolean operation we should no longer visualize the two input meshes, or as wireframe.

afabri commented 2 years ago

When remeshing a surface the result should be drawn double sided.

afabri commented 2 years ago

Concerning the inflate I changed it to only work if a single polyhedron item is selected. It should be easy to put a loop around. As an inflated mesh has quickly self intersections I am wondering if the proposed inflate distance should not be a fraction of the average edge length and not a fraction of the bbox diagonal. @sloriot any opinion?

afabri commented 2 years ago
  1. Generate 2 spheres with the demo's generator. Respective radii 1 and 0.5, 4 iterations of subdivision

    1. Mesh_3 with no sharp features, facet and cell size 0.03

    2. segfault

Sqrt3 subdivision?

afabri commented 2 years ago

image

afabri commented 2 years ago

works for me,

sloriot commented 2 years ago

Concerning the inflate I changed it to only work if a single polyhedron item is selected. It should be easy to put a loop around. As an inflated mesh has quickly self intersections I am wondering if the proposed inflate distance should not be a fraction of the average edge length and not a fraction of the bbox diagonal. @sloriot any opinion?

If you mean the default value, the bbox makes more sense. If you want to avoid self-intersections then you are interested in the lfs...

afabri commented 1 year ago

The average angle computation is fixed by #7161