Skip to content

TODO list for "TDS_3 with indices" #8969

@lrineau

Description

@lrineau

Summary of Changes

Instead of changing the API of TDS, Triangulation, and everything using it, the PR #8909 takes another approach: store indices in the data structures instead of handles, and generate the handles on the fly, which hold a pointer to the TDS and an index.

We also split Triangulation_data_structure_3 in two:

  • a base class which knows about storage and index/vs pointer and provides an API with handles,
  • and a derived class that uses this API with handles, which works for both base classes as in the derived class we do not use pointers or indices directly.

Todo

  • Move code out of the package Surface_mesh as this is currently a dependency we get reported in the CI.
  • Separate the point property from the connectivity property. I am even wondering why the connectivity must be in the vertex and cell classes, and is not just in the storage class. Are there uses cases where one would like to have aother kind of connectivity?
  • Deal with the parallel code.
  • TDS_3 with indices: how to deal with cached circumcenters? (Delaunay_triangulation_cell_base_with_circumcenter_3 and others) #8970
  • Deal with time stamper.
  • Deal with erase counter.
  • Finalize the specialization for the Fast_policy.
  • Find a cleaner solution for Is_CGAL_TDS_3 (only revealed by this PR)
  • Cleanup the move_vertex() inside a for all vertices. Should be forbidden as it can also break with a Compact_container. This is not in the code itself but in the testsuite.

Problems

  • When we copy a triangulation with a cell or vertex that stores a handle, then the tds pointer in the handle must be updated. That concerns for example the hierarchy as it stores handles as up and down to link the hierarchy levels and is done properly.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions