mirror of https://github.com/CGAL/cgal
76 lines
2.8 KiB
Plaintext
76 lines
2.8 KiB
Plaintext
namespace CGAL {
|
|
|
|
/*!
|
|
|
|
\page manual Organization of the Manual
|
|
\cgalAutoToc
|
|
\author %CGAL Editorial Board
|
|
|
|
|
|
Organization of the Manual
|
|
==========================
|
|
|
|
This manual is organized in several parts covering the many domains
|
|
of computational geometry. Each part consists of several chapters,
|
|
and each chapter is split into a *User Manual* and a *Reference
|
|
Manual*. The User Manual gives the general idea and comes with examples.
|
|
The Reference Manual presents the \sc{Api} of the various classes
|
|
and functions.
|
|
|
|
The manual has a \ref packages with a short paragraph explaining
|
|
what each package is about, what license
|
|
it has, and on which other packages it depends. It further provides
|
|
links to precompiled demo programs for the Windows platform.
|
|
|
|
The manual further has a class index, as well as a search box in the upper right of
|
|
each page.
|
|
The scope of the search box is the package you currently look at and the
|
|
packages it depends on, or it is the whole manual when you are in
|
|
a top level page such as the package overview.
|
|
|
|
Organization of the Reference Manual
|
|
====================================
|
|
|
|
The \cgal library is a library of class templates. Consequently, we express
|
|
the requirements on template arguments by specifying \em concepts
|
|
and by providing \em models for concepts. See \ref intro_concept "here"
|
|
for an explanation of concept/model.
|
|
|
|
The reference manual has pages for concepts and for models,
|
|
and just as classes can be derived from other classes, concepts
|
|
can \em refine other concepts, by adding requirements.
|
|
|
|
When a class is a model of a concept, its reference manual
|
|
page has a link to the concept, and the API is mainly documented
|
|
on the reference manual page of the concept. As a concept
|
|
may refine another concept, the full API of a class is sometimes
|
|
distributed over the pages of base classes and over the pages
|
|
of several concepts.
|
|
|
|
Let's have a look at the vertex type of 3D triangulations.
|
|
|
|
\cgalFigureBegin{Manual_Fig_concept_model,ConceptModel.svg}
|
|
Models and concepts.
|
|
\cgalFigureEnd
|
|
|
|
The class `CGAL::Triangulation_vertex_base_3` derives from
|
|
the class `CGAL::Triangulation_ds_vertex_base_3`.
|
|
The two classes are models of the concepts `TriangulationVertexBase_3`
|
|
and `TriangulationDSVertexBase_3`, respectively.
|
|
The former concept refines the latter.
|
|
|
|
In the reference manual pages of these concepts and models
|
|
only the methods and types which are not greyed in
|
|
\cgalFigureRef{Manual_Fig_concept_model} are documented.
|
|
Inherited methods are only documented in the base class.
|
|
And methods that must be implemented in order to be a
|
|
model of a concept are only documented in the concept.
|
|
|
|
As pointed out in Section \ref intro_concept "Concepts and Models"
|
|
the notion of a \em concept is about requirements,
|
|
and it can be a required global function or a required traits class.
|
|
|
|
*/
|
|
} /* namespace CGAL */
|
|
|