From 643827cd43a0080390be8ad8f1548a87045bc464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Thu, 18 Jun 2020 11:00:08 +0200 Subject: [PATCH] Properly document the Cell_data in TDS_3 (add concept CellData) --- TDS_3/doc/TDS_3/Concepts/CellData.h | 58 +++++++++++++++++++ .../Concepts/TriangulationDataStructure_3.h | 5 ++ TDS_3/doc/TDS_3/PackageDescription.txt | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 TDS_3/doc/TDS_3/Concepts/CellData.h diff --git a/TDS_3/doc/TDS_3/Concepts/CellData.h b/TDS_3/doc/TDS_3/Concepts/CellData.h new file mode 100644 index 00000000000..14ea3808af5 --- /dev/null +++ b/TDS_3/doc/TDS_3/Concepts/CellData.h @@ -0,0 +1,58 @@ + +/*! +\ingroup PkgTDS3Concepts + +\cgalConcept + +The concept `CellData` describes the requirements on the type which +is used to mark some cells during modifications of the 3D triangulation data +structure. + +\sa `TriangulationDataStructure_3` +\sa `TriangulationDSCellBase_3` +*/ + +class CellData +{ +public: + + /*! + Clear all data. + */ + void clear(); + + /*! + Mark the cell as "in conflict". + */ + void mark_in_conflict(); + + /*! + Mark the cell as "on boundary". + */ + void mark_on_boundary(); + + /*! + Mark the cell as processed. + */ + void mark_processed(); + + /*! + Returns `true` if the cell is not marked as "in conflict", "on boundary", or "processed", and `false` otherwise. + */ + void is_clear(); + + /*! + Returns `true` if the cell is marked as "in conflict", `false` otherwise. + */ + void is_in_conflict(); + + /*! + Returns `true` if the cell is marked as "on boundary", `false` otherwise. + */ + void is_on_boundary(); + + /*! + Returns `true` if the cell is marked as processed, `false` otherwise. + */ + bool processed() const; +}; diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h index 175a64c4e20..08f45641cea 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h @@ -90,6 +90,11 @@ typedef unspecified_type Vertex; */ typedef unspecified_type Cell; +/*! +A model of the concept `CellData`. +*/ +typedef unspecified_type Cell_data; + /*! Size type (unsigned integral type) */ diff --git a/TDS_3/doc/TDS_3/PackageDescription.txt b/TDS_3/doc/TDS_3/PackageDescription.txt index 4e043ee26a6..e7954f8f73f 100644 --- a/TDS_3/doc/TDS_3/PackageDescription.txt +++ b/TDS_3/doc/TDS_3/PackageDescription.txt @@ -47,7 +47,7 @@ Section \ref TDS3secintro.) \cgalClassifedRefPages \cgalCRPSection{Concepts} - +- `CellData` - `TriangulationDataStructure_3` - `TriangulationDataStructure_3::Cell` - `TriangulationDataStructure_3::Vertex`