mirror of https://github.com/CGAL/cgal
142 lines
4.0 KiB
TeX
142 lines
4.0 KiB
TeX
% +------------------------------------------------------------------------+
|
|
% | Reference manual page: SurfaceMeshCellBase_3.tex
|
|
% +------------------------------------------------------------------------+
|
|
% | 09.12.2005 Author
|
|
% | Package: Package
|
|
% |
|
|
\RCSdef{\RCSSurfaceMeshCellBaseRev}{$Id$}
|
|
\RCSdefDate{\RCSSurfaceMeshCellBaseDate}{$Date$}
|
|
% |
|
|
%%RefPage: end of header, begin of main body
|
|
% +------------------------------------------------------------------------+
|
|
|
|
|
|
\begin{ccRefConcept}{SurfaceMeshCellBase_3}
|
|
|
|
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
|
%% \ccHtmlIndexC[concept]{} %% add further index entries
|
|
|
|
\ccDefinition
|
|
The concept \ccRefName\ describes the cell base type
|
|
of the three dimensional triangulation used
|
|
to embed the surface mesh.
|
|
|
|
More precisely,
|
|
the first template parameter \ccc{SurfaceMeshC2T3} of the surface mesher
|
|
\ccc{make_surface_mesh}
|
|
is a model of the concept
|
|
\ccc{SurfaceMeshComplex_2InTriangulation_3}
|
|
which describes a data structure to store
|
|
a pure two dimensional complex
|
|
embedded in a three dimensional triangulation.
|
|
In particular, the type \ccc{SurfaceMeshC2T3} is required to provide
|
|
a three dimensional triangulation type
|
|
\ccc{SurfaceMeshC2T3::Triangulation_3}.
|
|
The concept \ccRefName\ describes the cell base type
|
|
required in this triangulation type.
|
|
|
|
\ccGeneralizes
|
|
\ccc{TriangulationCellBase_3}
|
|
|
|
The concept \ccRefName\ adds four markers to mark the facets
|
|
of the triangulation that belong to the two dimensional complex,
|
|
and four markers that are helpers
|
|
used in some operations to mark for instance
|
|
the facets that have been visited.
|
|
|
|
This concept also provides storage for the center of a Delaunay surface
|
|
ball.
|
|
Given a surface and a 3D Delaunay triangulation,
|
|
a Delaunay surface ball
|
|
is a ball circumscribed to a facet of the triangulation
|
|
and centered on the surface and empty of triangulation vertices.
|
|
Such a ball does exist
|
|
when the facet is part of the restriction to the surface
|
|
of a three dimensional triangulation.
|
|
In the following we call \ccc{surface center}
|
|
of a facet, the center of its biggest Delaunay surface ball.
|
|
|
|
\ccTypes
|
|
|
|
\ccNestedType{Point}{The point type, required to match the point type
|
|
of the three dimensional
|
|
triangulation in which the surface mesh is embedded.}
|
|
|
|
\ccCreation
|
|
\ccCreationVariable{cell} %% choose variable name
|
|
|
|
|
|
|
|
\ccOperations
|
|
|
|
\ccMethod
|
|
{bool is_facet_on_surface(int i);}
|
|
{returns \ccc{true}, if \ccc{facet(i)} is in the 2D complex. }
|
|
\ccGlue
|
|
\ccMethod
|
|
{void set_facet_on_surface(int i, bool b );}
|
|
{Sets \ccc{facet(i)} as part of the 2D complex, if \ccc{b} is \ccc{true},
|
|
and \ccc{NOT_IN_COMPLEX}, otherwise.}
|
|
|
|
|
|
\ccMethod
|
|
{bool is_facet_visited (int i);}
|
|
{Returns \ccc{true}, if \ccc{facet(i)} has been visited,
|
|
\ccc{false} otherwise.}
|
|
\ccGlue
|
|
\ccMethod
|
|
{void set_facet_visited (int i, bool b);}
|
|
{Marks \ccc{facet(i)} as visited, if \ccc{b} is \ccc{true},
|
|
and non visited otherwise.}
|
|
|
|
|
|
\ccMethod
|
|
{const Point& get_facet_surface_center(int i);}
|
|
{Returns a const reference to the surface center of \ccc{facet(i)}.}
|
|
\ccGlue
|
|
\ccMethod
|
|
{void set_facet_surface_center (int i, Point p);}
|
|
{Sets point \ccc{p} as the surface center of \ccc{facet(i)}.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\ccHasModels
|
|
|
|
\ccc{Surface_mesh_cell_base_3<Gt,Vb>}
|
|
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccc{SurfaceMeshTriangulation_3} \\
|
|
\ccc{SurfaceMeshComplex_2InTriangulation_3} \\
|
|
\ccc{Surface_mesh_complex_2_in_triangulation_3<Tr>}\\
|
|
\ccc{make_surface_mesh}
|
|
|
|
%\ccExample
|
|
|
|
%A short example program.
|
|
%Instead of a short program fragment, a full running program can be
|
|
%included using the
|
|
%\verb|\ccIncludeExampleCode{Package/SurfaceMeshCellBase_3.C}|
|
|
%macro. The program example would be part of the source code distribution and
|
|
%also part of the automatic test suite.
|
|
|
|
%\begin{ccExampleCode}
|
|
%void your_example_code() {
|
|
%}
|
|
%\end{ccExampleCode}
|
|
|
|
%% \ccIncludeExampleCode{Package/SurfaceMeshCellBase_3.C}
|
|
|
|
\end{ccRefConcept}
|
|
|
|
% +------------------------------------------------------------------------+
|
|
%%RefPage: end of main body, begin of footer
|
|
% EOF
|
|
% +------------------------------------------------------------------------+
|
|
|