Skip to content

Issues in dD Triangulation #8802

Open
Open
@efifogel

Description

@efifogel

Issues in dD Triangulation

  1. In Triangulation_data_structure.h the function mirror_vertex() has several problems:
    • I believe that the return type should be Vertex_handle.
    • The call s->mirror_vertex(i) is missing the cur_dim second parameter.
    • Also, the const version of mirror_vertex() is missing. As a matter of fact, several const or mutable versions are missing in all constructs in this package.
  2. In Triangulation_data_structure.h, the body of the function collapse_face() defines a Full_face using the default constructor (namely, Full_cell s), but the default constructor is canceled. (There is one that accepts the dimension...)
  3. In the manual of insert_in_tagged_hole(..., OutputIterator oi) please explicitly indicate the type of the dereferenced object *oi.
  4. In the manual of insert_in_hole(ForewardIterator start, ForwardIterator end, ...) the text says, and I quote, "Removes the full cells in the range C=[s, e)". Change s and e to start and end, respectively (or the other way around...)
  5. In both variants of insert_in_hole() and in insert_in_tagged_hole() the input parameter facet should probably be passed as a reference (and not by value).
  6. The manual of Triangulation lists the function collapse_face(), while the code as contract_face(). This function also calls the member contract_face() of Triangulation_data_structure, while the latter has collapse_face().
  7. At least in one case the name of a concept (as opposed to the name of a template parameter) has the suffix _, which is, of course, wrong; it also causes the link to the concept page to be absent. Issue git grep -i "concept [^ ]*_".
  8. The Facet type is is not documented (does not exist in the Reference Manual).
  9. The documentation of the clear() function is missing in Triangulation. (It does exists in TriangulationDataStructure concept.
  10. The description of the function insert_in_hole() of the concept TriangulationDataStructure refers to a point p, but p is not a parameter (as opposed to the function insert_in_hole() of the Triangulation class template.
  11. Three functions (i.e., (insert_in_hole() X 2, insert_in_tagged_hole()) of the concept TriangulationDataStructure accept a parameter of type Facet by value; why don't them accept a const reference? Observe that similar functions of the Triangulation class template do accept const reference.
  12. In the ref. man. of Triangulation_data_structure::insert_in_tagged_hole() it says, and I quote, "A set C of full cells satisfying the same condition as in method Triangulation_data_structure::insert_in_hole().... " It is unclear what is C exactly. As far as I understand, the method Triangulation_data_structure::insert_in_hole() accepts C as input, but Triangulation_data_structure::insert_in_tagged_hole() accepts a facet.
  13. What is so special about is_valid() that it is specified twice: once in the concept TriangulationDataStructure and once in the model Triangulation_data_structure?

Source Code

Environment

  • Operating system (Windows/Mac/Linux, 32/64 bits): All
  • Compiler: All
  • Release or debug mode: Both
  • Specific flags used (if any):
  • CGAL version: Latest
  • Boost version: Irrelevant
  • Other libraries versions if used (Eigen, TBB, etc.):

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions