add latex format for \imagei doxygen command

perl -pe 's/^(\s*)\\image\s+html\s+(.*)\s*$/$1\\image html $2\n$1\\image latex $2\n/' -i
This commit is contained in:
Sébastien Loriot 2013-07-25 11:50:53 +02:00
parent 0653914893
commit 143a2181b3
61 changed files with 168 additions and 2 deletions

View File

@ -9,6 +9,7 @@ namespace CGAL {
\author Tran Kai Frank Da
\image html alphashape.png
\image latex alphashape.png
Assume we are given a set \f$ S\f$ of points in 2D or 3D and we'd like to
have something like "the shape formed by these points." This is

View File

@ -8,6 +8,7 @@ namespace CGAL {
\authors Tran Kai Frank Da, Sébastien Loriot, and Mariette Yvinec
\image html alphashape.png
\image latex alphashape.png
Assume we are given a set \f$ S\f$ of points in 2D or 3D and we'd like to
have something like "the shape formed by these points." This is

View File

@ -310,25 +310,31 @@ otherwise it is a finite edge.
<TR>
<TD>
\image html ./apollonius-left_vertex.png
\image latex ./apollonius-left_vertex.png
</TD>
<TD>
\image html ./apollonius-right_vertex.png
\image latex ./apollonius-right_vertex.png
</TD>
</TR>
<TR>
<TD>
\image html ./apollonius-no_conflict.png
\image latex ./apollonius-no_conflict.png
</TD>
<TD>
\image html ./apollonius-entire_edge.png
\image latex ./apollonius-entire_edge.png
</TD>
</TR>
<TR>
<TD>
\image html ./apollonius-interior.png
\image latex ./apollonius-interior.png
</TD>
<TD>
\image html ./apollonius-both_vertices.png
\image latex ./apollonius-both_vertices.png
</TD>
</TR>
</TABLE>

View File

@ -13,6 +13,7 @@ common (see figure below). The removal method performs the reverse
operation.
\image html insert_degree_2.png
\image latex insert_degree_2.png
<center><b>Insertion and removal of degree 2 vertices. Left to right:
The edge `(f,i)` is replaced by two edges by means of inserting a

View File

@ -164,6 +164,7 @@ further explanations and examples.
\subsection Arrangement_on_surface_2ASimpleProgram A Simple Program
\image html triangle.png
\image latex triangle.png
The simple program listed below constructs a planar map of three line
segments forming a triangle. The constructed arrangement is instantiated
@ -525,6 +526,7 @@ figure to the left).</LI>
</OL>
\image html connect_comp.png
\image latex connect_comp.png
The `Arrangement_2` class offers insertion functions named
`insert_in_face_interior()`, `insert_from_left_vertex()`,
@ -700,6 +702,7 @@ by \f$ (\frac{1}{2}, 3)\f$.
\subsection arr_sssecadv_insert Advanced Insertion Functions
\image html pred_around_vertex.png
\image latex pred_around_vertex.png
\cgalAdvancedBegin
Assume that the specialized insertion function
@ -1422,6 +1425,7 @@ end vertices of `e` becomes isolated or redundant after the removal
of the edge, it is removed as well.
\image html h_shape.png
\image latex h_shape.png
The following example demonstrates the usage of the free removal
functions. In creates an arrangement of four line segment forming

View File

@ -177,6 +177,7 @@ following sections.
\subsection Boolean_set_operations_2ASimpleExample A Simple Example
\image html triangles.png
\image latex triangles.png
Testing whether two polygons intersect results with a Boolean value,
and does not require any additional data beyond the provision of the
@ -229,6 +230,7 @@ the closure of the interior of the corresponding ordinary operation as
explained next.
\image html unique.png
\image latex unique.png
Consider, for example, the regular set depicted on the right, which is
the result of the union of three small triangles translated
@ -330,6 +332,7 @@ outputs a range of polygons with holes that represents the complement
of the polygon with holes \f$ P\f$.
\image html symm_diff.png
\image latex symm_diff.png
The following example demonstrates how to compute the symmetric
difference between two sets that contain holes. Each set is a
@ -421,6 +424,7 @@ internal representation for the succeeding operation could be time
consuming.
\image html sequence.png
\image latex sequence.png
The next example performs a sequence of three Boolean set-operations.
First, it computes the union of two simple polygons depicted in
@ -517,6 +521,7 @@ S.join (begin, end);
\section bso_secbso_gen Boolean Set-Operations on General Polygons
\image html general_polygon.png
\image latex general_polygon.png
In previous sections only ordinary (linear) polygons were dealt with. Namely, closed
point sets bounded by piecewise linear curves. The Boolean
@ -543,6 +548,7 @@ edges of a general polygon.
</UL>
\image html general_polygon_with_holes.png
\image latex general_polygon_with_holes.png
The concept `GeneralPolygonWithHoles_2` is defined in an analogous
way to the definition of linear polygons with holes. A model of this
@ -653,6 +659,7 @@ on non-linear objects; yet, it uses only rational arithmetic and is
very efficient as a consequence.
\image html circles_rects.png
\image latex circles_rects.png
The following example uses the `Gps_circle_segment_traits_2` class
to compute the union of four rectangles and four circles. Each circle
@ -720,6 +727,7 @@ typedef CGAL::General_polygon_set_2<Traits_2> General_polygon_set_2;
\endcode
\image html tnr_m_g.png
\image latex tnr_m_g.png
Instantiating the arrangement-traits `Arr_traits_2` above with the
traits class that handle B&eacute;zier curves `Arr_Bezier_curve_traits_2`,
@ -762,6 +770,7 @@ this is not the case, computing the result incrementally may prove
faster.
\image html disks.png
\image latex disks.png
The next example computes the union of eight unit discs whose centers are
placed a unit distance from the origin, as depicted to the right. The example

View File

@ -9,6 +9,7 @@ namespace CGAL {
\authors Kaspar Fischer, Bernd G&auml;rtner, Thomas Herrmann, Michael Hoffmann, and Sven Sch&ouml;nherr
\image html ball.png
\image latex ball.png
This chapter describes algorithms which for a given point set compute
the <i>best</i> circumscribing object from a specific
@ -38,6 +39,7 @@ minimum-volume enclosing ellipsoid with user-specified
approximation ratio (`Approximate_min_ellipsoid_d<Traits>`).
\image html annulus.png
\image latex annulus.png
Bounding volumes can be used to obtain simple approximations of
complicated objects. For example, consider the problem of deciding
@ -79,6 +81,7 @@ planar point set with between two and four minimal boxes
three boxes; the center points are shown in red.
\image html pcenter.png
\image latex pcenter.png
*/
} /* namespace CGAL */

View File

@ -25,6 +25,7 @@ boundary, of course.}, only then the exact answer is computed on the
complicated geometric primitives contained in the boxes.
\image html box_inters.png
\image latex box_inters.png
We provide an efficient algorithm \cite cgal:ze-fsbi-02 for finding all
intersecting pairs for large numbers of iso-oriented boxes, i.e.,

View File

@ -48,6 +48,7 @@ interface the \cgal 2D Delaunay triangulation with Ipe.
\cgalExample{CGAL_ipelets/simple_triangulation.cpp}
\image html example.png
\image latex example.png
\section CGAL_ipeletsInstallation Installation of the Demo Ipelets

View File

@ -27,6 +27,7 @@ extreme points and subsequences of hull points, such as the lower and
upper hull of a set of points.
\image html saarhull.png
\image latex saarhull.png
\section secconvex_hull_2 Convex Hull

View File

@ -8,6 +8,7 @@
<CENTER>
\image html cgal_small.png
\image latex cgal_small.png
</CENTER>
<CENTER><span class="textsc">Computational Geometry Algorithms Library</span></CENTER>

View File

@ -108,9 +108,11 @@ types:
<TR>
<TD>
\image html compare_over_point.png
\image latex compare_over_point.png
</TD>
<TD>
\image html compare_over_curve.png
\image latex compare_over_curve.png
</TD>
</TR>
<TR align="center"><TD>(a)</TD><TD>(b)</TD></TR>
@ -217,12 +219,15 @@ traits classes is demonstrated in the next section.
<TR>
<TD>
\image html ex_triangles.png
\image latex ex_triangles.png
</TD>
<TD>
\image html ex_tri_le.png
\image latex ex_tri_le.png
</TD>
<TD>
\image html ex_tri_ue.png
\image latex ex_tri_ue.png
</TD>
<TR ALIGN="center"><TD>(a)</TD><TD>(b)</TD><TD>(c)</TD></TR>
</TABLE>

View File

@ -204,6 +204,7 @@ Generating 20 grid points in 4D
\endverbatim
\image html hypergrid.png
\image latex hypergrid.png
\section GeneratorExGenCombi Example Generating Combinations

View File

@ -281,6 +281,7 @@ new diagonal, the old face is to the left. The time is proportional
to the distance from `h` to `g` around the face.
\image html euler_face.png
\image latex euler_face.png
*/
Halfedge_handle split_face( Halfedge_handle h, Halfedge_handle g);
@ -296,6 +297,7 @@ of the face removed and the time to compute `h->prev()`.
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_face.png
\image latex euler_face.png
*/
Halfedge_handle join_face( Halfedge_handle h);
@ -309,6 +311,7 @@ in the orientation towards the new vertex. The time is proportional
to the distance from `h` to `g` around the vertex.
\image html euler_vertex.png
\image latex euler_vertex.png
*/
Halfedge_handle split_vertex( Halfedge_handle h, Halfedge_handle g);
@ -325,6 +328,7 @@ the time to compute `h->prev()` and `h->opposite()->prev()`.
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_vertex.png
\image latex euler_vertex.png
*/
Halfedge_handle join_vertex( Halfedge_handle h);
@ -340,6 +344,7 @@ The time is proportional to the size of the face.
\pre `h` is not a border halfedge.
\image html euler_center.png
\image latex euler_center.png
*/
Halfedge_handle create_center_vertex( Halfedge_handle h);
@ -358,6 +363,7 @@ The time is proportional to the sum of the size of all incident faces.
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_center.png
\image latex euler_center.png
*/
Halfedge_handle erase_center_vertex( Halfedge_handle g);
@ -374,6 +380,7 @@ data structure and form a cycle: i.e., `h->vertex() == i->opposite()->vertex()`,
\f$\ldots\f$ , `j->vertex() == h->opposite()->vertex()`.
\image html euler_loop.png
\image latex euler_loop.png
*/
Halfedge_handle split_loop( Halfedge_handle h,
@ -391,6 +398,7 @@ data structure unchanged.
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_loop.png
\image latex euler_loop.png
*/
Halfedge_handle join_loop( Halfedge_handle h, Halfedge_handle g);

View File

@ -34,6 +34,7 @@ possible for vertices, halfedges, and faces.
\anchor figureOptionalMethods
\image html hds_optional_small.png "The three classes Vertex, Halfedge, and Face of the halfedge data structure. Member functions with shaded background are mandatory. The others are optionally supported."
\image latex hds_optional_small.png "The three classes Vertex, Halfedge, and Face of the halfedge data structure. Member functions with shaded background are mandatory. The others are optionally supported."
A `HalfedgeDS` organizes the internal storage of its items. Examples
are a list-based or a vector-based storage. The `HalfedgeDS` exhibits

View File

@ -22,6 +22,7 @@ halfedges, vertices, and faces.
\anchor figureHalfedgeDSOptionalMethods
\image html hds_optional.png "The three classes Vertex, Halfedge, and Face of the halfedge data structure. Member functions with shaded background are mandatory. The others are optionally supported."
\image latex hds_optional.png "The three classes Vertex, Halfedge, and Face of the halfedge data structure. Member functions with shaded background are mandatory. The others are optionally supported."
For the protection of the integrity of the data structure classes such
as `CGAL::Polyhedron_3` are allowed to redefine the modifying member

View File

@ -23,6 +23,7 @@ information, for example the halfedge pointers in faces or the
storage of faces at all.
\image html halfedge_small.png
\image latex halfedge_small.png
The halfedge data structure is a combinatorial data structure,
geometric interpretation is added by classes built on top of the
@ -141,6 +142,7 @@ type used for the point. The program creates a loop, consisting
of two halfedges, one vertex and two faces, and checks its validity.
\image html loop.png
\image latex loop.png
\cgalExample{HalfedgeDS/hds_prog_default.cpp}

View File

@ -23,6 +23,7 @@ and the largest perimeter triangle (orange, containing the top point)
of a point set are different in general.
\image html max_triangle.png
\image latex max_triangle.png
@ -46,6 +47,7 @@ all iso-rectangles that are inside a given iso-rectangles, and
that do not contain any point of the point set.
\image html largestEmptyRect.png
\image latex largestEmptyRect.png
*/
} /* namespace CGAL */

View File

@ -102,6 +102,7 @@ Point_3<Kernel> vertex(int i) const;
/*!
returns `vertex(i)`, as indicated in the figure below:
\image html IsoCuboid.png
\image latex IsoCuboid.png
*/
Point_3<Kernel> operator[](int i) const;

View File

@ -896,6 +896,7 @@ described below.
\ingroup compare_x_grp
\anchor figcompare_x
\image html compare1.png
\image latex compare1.png
*/
/// @{
@ -1116,6 +1117,7 @@ Comparison_result
\anchor figcomparexaty
\image html compare_x_at_y.png
\image latex compare_x_at_y.png
\sa `compare_xy_grp`
\sa `compare_xyz_grp`
@ -1181,6 +1183,7 @@ const CGAL::Line_2<Kernel> &h2);
\anchor figcompareyatx
\image html compare2.png
\image latex compare2.png
\sa `compare_xy_grp`
\sa `compare_xyz_grp`
@ -1317,6 +1320,7 @@ global function are available.
\anchor figcompare13
\image html compare1.png
\image latex compare1.png
*/
/// @{

View File

@ -1067,6 +1067,7 @@ public:
\anchor fig-compare_x_at_y_2
\image html compare_x_at_y.png
\image latex compare_x_at_y.png
\cgalRefines `AdaptableFunctor` (with three arguments)
@ -1220,6 +1221,7 @@ public:
\anchor fig-compare12
\image html compare1.png
\image latex compare1.png
\cgalRefines `AdaptableFunctor` (with two arguments)
@ -1306,6 +1308,7 @@ public:
\cgalConcept
\image html compare2.png
\image latex compare2.png
\cgalRefines `AdaptableFunctor` (with three arguments)
@ -1426,6 +1429,7 @@ public:
\anchor fig-compare14
\image html compare1.png
\image latex compare1.png
\cgalRefines `AdaptableFunctor` (with two arguments)
@ -6480,6 +6484,7 @@ public:
\cgalConcept
\image html IsoCuboid.png
\image latex IsoCuboid.png
\cgalRefines `AdaptableFunctor` (with two arguments)

View File

@ -414,32 +414,41 @@ visualization support is based on the Coin library http://www.coin3d.org.
<TR>
<TD>
\image html delaunay_0.png
\image latex delaunay_0.png
</TD>
<TD>
\image html delaunay_1.png
\image latex delaunay_1.png
</TD>
<TD>
\image html delaunay_2.png
\image latex delaunay_2.png
</TD>
<TD>
\image html delaunay_3.png
\image latex delaunay_3.png
</TD>
<TD>
\image html delaunay_4.png
\image latex delaunay_4.png
</TD>
</TR>
<TR>
<TD>
\image html delaunay_5.png
\image latex delaunay_5.png
</TD>
<TD>
\image html delaunay_6.png
\image latex delaunay_6.png
</TD>
<TD>
\image html delaunay_7.png
\image latex delaunay_7.png
</TD>
<TD>
\image html delaunay_8.png
\image latex delaunay_8.png
</TD>
</TR>
</TABLE>

View File

@ -308,6 +308,7 @@ Returns a handle on the dart associated with `p0`.
\pre \ref CombinatorialMap::dimension "dimension"\f$ \geq\f$ 2.
\image html make_segment.png "Example of r=lcc.make_segment(p0,p1)."
\image latex make_segment.png "Example of r=lcc.make_segment(p0,p1)."
*/
Dart_handle make_segment(const Point& p0, const Point& p1);
@ -317,6 +318,7 @@ Returns a handle on the dart associated with `p0`.
\pre \ref CombinatorialMap::dimension "dimension"\f$ \geq\f$ 1.
\image html make_triangle.png "Example of r=lcc.make_triangle(p0,p1,p2)."
\image latex make_triangle.png "Example of r=lcc.make_triangle(p0,p1,p2)."
*/
Dart_handle make_triangle(const Point& p0, const Point& p1, const Point& p2);
@ -327,6 +329,7 @@ Returns a handle on the dart associated with `p0`.
\pre \ref CombinatorialMap::dimension "dimension"\f$ \geq\f$ 1.
\image html make_quadrilateral.png "Example of r=lcc.make_quadrangle(p0,p1,p2,p3)."
\image latex make_quadrilateral.png "Example of r=lcc.make_quadrangle(p0,p1,p2,p3)."
*/
Dart_handle make_quadrangle(const Point& p0,const Point& p1,const Point& p2,const Point& p3);
@ -338,6 +341,7 @@ associated with `p0` and belonging to the 2-cell having
\pre \ref CombinatorialMap::dimension "dimension"\f$ \geq\f$ 2.
\image html make_tetrahedron.png "Example of r=lcc.make_tetrahedron(p0,p1,p2,p3)."
\image latex make_tetrahedron.png "Example of r=lcc.make_tetrahedron(p0,p1,p2,p3)."
*/
Dart_handle make_tetrahedron(const Point& p0,const Point& p1,const Point& p2,const Point& p3);
@ -350,6 +354,7 @@ as points.
\pre \ref CombinatorialMap::dimension "dimension" \f$ \geq \f$ 2.
\image html make_hexahedron.png "Example of r=lcc.make_hexahedron(p0,p1,p2,p3,p4,p5,p6,p7)."
\image latex make_hexahedron.png "Example of r=lcc.make_hexahedron(p0,p1,p2,p3,p4,p5,p6,p7)."
*/
Dart_handle make_hexahedron(const Point& p0,const Point& p1,const Point& p2,
const Point& p3,const Point& p4,const Point& p5,

View File

@ -27,6 +27,7 @@ Here a small example:
\endverbatim
\image html import_graph.png "Example of import_graph reading the above file as istream."
\image latex import_graph.png "Example of import_graph reading the above file as istream."
<B>Left</B>: A planar graph embedded in the plane with
<I>P0</I>=(1.0,3.0), <I>P1</I>=(0.0,2.0), <I>P2</I>=(2.0,2.0), <I>P3</I>=(0.0,0.0), <I>P4</I>=(2.0,0.0).

View File

@ -203,12 +203,15 @@ is widely known as <I>offsetting</I> the polygon \f$ P\f$ by a radius \f$ r\f$.
<tr>
<td>
\image html convex_offset.png
\image latex convex_offset.png
</td>
<td>
\image html offset_decomp.png
\image latex offset_decomp.png
</td>
<td>
\image html offset_conv.png
\image latex offset_conv.png
</td>
<tr align="center"><td>(a)</td><td>(b)</td><td>(c)</td></tr>
</table>

View File

@ -682,6 +682,7 @@ segments, rays or lines or are part of the bounding frame.
\anchor extsegs
\image html extsegs.png
\image latex extsegs.png
<center><b>
Extended geometry: standard vertices are marked by S, non-standard
vertices are marked by N. <B>A</B>: The possible embeddings of edges:

View File

@ -264,6 +264,7 @@ public:
\anchor figureNef3FacetIncidences
\image html snc.png
\image latex snc.png
The member function `twin` returns the opposite halffacet, `incident_volume`
returns the incident volume. A Halffacet cycle either consists of consecutive
@ -553,7 +554,8 @@ public:
this shalfedge of opposite orientation.
\anchor figureNef3HalfedgeIncidences
\image html shalfedge.png
\image html shalfedge.png
\image latex shalfedge.png
The `snext()` member function points
to the successor shalfedge around this sface while the `sprev()` member
@ -739,6 +741,7 @@ public:
\anchor figureNef3HalfloopIncidences
\image html shalfloopB.png
\image latex shalfloopB.png
A sphere map having a shalfloop models the neighborhood of a vertex which is
isolated on a facet. That facet is returned by the member function

View File

@ -142,9 +142,11 @@ we define our polyhedron \f$ P := ( h_1 \cap h_2 \cap h_3) - ( h_4 \cap h_5)\f$.
<tr>
<td>
\image html nef_example.png
\image latex nef_example.png
</td>
<td>
\image html nef_pyramids.png
\image latex nef_pyramids.png
</td>
</tr>
</table>
@ -179,6 +181,7 @@ from the three-dimensional elements. See Chapter
for further details.
\image html sphere_map.png
\image latex sphere_map.png
Having sphere maps for all vertices of our polyhedron is a sufficient
but not easily accessible representation of the polyhedron. We enrich
@ -186,6 +189,7 @@ the data structure with more explicit representations of all the faces
and incidences between them.
\image html snc.png
\image latex snc.png
We depart slightly from the definition of faces in a Nef polyhedron;
we represent the connected components of a face individually and do
@ -475,6 +479,7 @@ notion of a shell. It shows a Nef polyhedron with two volumes and
three shells.
\image html shells.png
\image latex shells.png
The first volume is the outer volume and the second volume is the
interior of the cube. The first shell is the whole surface of the left
@ -490,6 +495,7 @@ that is in contact with the cube, all halffacets
oriented inwards, and all halfedges (the same as for the second shell).
\image html closeup.png
\image latex closeup.png
We discuss how sfaces, shalfedges, and sloops belong to the shells
with a closeup view of the situation at the antenna foot. As you can
@ -576,6 +582,7 @@ an QApplication with a main widget of type `Qt_widget_Nef_3` and
how to start the viewer.
\image html visualization_SNC.png
\image latex visualization_SNC.png
\cgalExample{Nef_3/visualization_SNC.cpp}

View File

@ -564,6 +564,7 @@ this shalfedge of opposite orientation.
\anchor figureNefS2SVertexIncidences
\image html shalfedge.png "Incidences of an SHalfedge"
\image latex shalfedge.png "Incidences of an SHalfedge"
The `snext()` member function points
to the successor shalfedge around this sface while the `sprev()` member
@ -708,6 +709,7 @@ depicts the relationship between a shalfloop and sfaces on a sphere map.
\anchor figureNefS2SHalfloopIncidences
\image html shalfloopB.png "Incidences of an SHalfloop "
\image latex shalfloopB.png "Incidences of an SHalfloop "
\cgalHeading{Creation}

View File

@ -39,6 +39,7 @@ a great circle. A binary operation of two halfspheres cuts the great circles
into great arcs.
\image html shalfloopB.png
\image latex shalfloopB.png
The incidence structure of planar Nef polyhedra can be reused. The
items are denoted as \em svertex, \em shalfedge and \em sface,

View File

@ -12,6 +12,7 @@ namespace CGAL {
\author Nico Kruithof
\image html 3pts_unique.png
\image latex 3pts_unique.png
The periodic 2D-triangulation class of \cgal is designed to represent
the triangulation of a set of points in the two-dimensional flat
@ -391,6 +392,7 @@ batch inserted points. The points are uniformly randomly distributed
in the unit rectangle. The tests were done on an Intel i7 @ 2.67GHz.
\image html p2dt2_performance.png
\image latex p2dt2_performance.png
\section P2T2_Design Design and Implementation History

View File

@ -10,6 +10,7 @@ namespace CGAL {
\authors Manuel Caroli and Monique Teillaud
\image html p3Delaunay3.jpg
\image latex p3Delaunay3.jpg
The periodic 3D-triangulation class of \cgal is designed to
represent the triangulations of a set of points in the

View File

@ -8,6 +8,7 @@ namespace CGAL {
represented by two halfedges with opposite orientations.
\image html halfedge.png
\image latex halfedge.png
Vertices represent points in 3d-space. Edges are straight line segments
between two endpoints. Facets are planar polygons without holes
@ -134,6 +135,7 @@ public:
\anchor figurePolyOptionalMethods
\image html poly_optional.png
\image latex poly_optional.png
<center><b>The three classes `Vertex`, `Halfedge`, and `Facet` of the polyhedral surface. Member functions with shaded background are mandatory. The others are optionally supported.</b></center>
The incidences encoded in `Halfedge::opposite()` and `Halfedge::next()` are
@ -1214,6 +1216,7 @@ public:
\pre `h` and `g` are incident to the same facet. `h != g` (no loops). `h->%next() != g` and `g->%next() != h` (no multi-edges).
\image html euler_facet.png
\image latex euler_facet.png
*/
Halfedge_handle split_facet( Halfedge_handle h,
@ -1231,6 +1234,7 @@ public:
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_facet.png
\image latex euler_facet.png
n */
Halfedge_handle join_facet( Halfedge_handle h);
@ -1251,6 +1255,7 @@ n */
\pre `h` and `g` are incident to the same vertex. `h != g` (antennas are not allowed).
\image html euler_vertex.png
\image latex euler_vertex.png
\note
A special application of the split is
@ -1275,6 +1280,7 @@ n */
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_vertex.png
\image latex euler_vertex.png
*/
Halfedge_handle join_vertex( Halfedge_handle h);
@ -1310,6 +1316,7 @@ n */
\pre `h` is not a border halfedge.
\image html euler_center.png
\image latex euler_center.png
*/
Halfedge_handle create_center_vertex( Halfedge_handle h);
@ -1327,6 +1334,7 @@ n */
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_center.png
\image latex euler_center.png
*/
Halfedge_handle erase_center_vertex( Halfedge_handle g);
@ -1346,6 +1354,7 @@ n */
\pre `h`, `i`, `j` denote distinct, consecutive vertices of the polyhedron and form a cycle: i.e., `h->vertex() == i->%opposite()->vertex()`, \f$ \ldots\f$ , `j->vertex() == h->%opposite()->vertex()`. The six facets incident to `(h,i,j)` are all distinct.
\image html euler_loop.png
\image latex euler_loop.png
*/
Halfedge_handle split_loop( Halfedge_handle h,
Halfedge_handle i,
@ -1362,6 +1371,7 @@ n */
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_loop.png
\image latex euler_loop.png
*/
Halfedge_handle join_loop( Halfedge_handle h, Halfedge_handle g);
@ -1400,6 +1410,7 @@ n */
\pre `h->is_border()`, `g->is_border()`, `h != g`, and `g` can be reached along the same hole starting with `h`.
\image html add_facet1.png
\image latex add_facet1.png
*/
Halfedge_handle add_vertex_and_facet_to_border(
Halfedge_handle h, Halfedge_handle g);
@ -1413,6 +1424,7 @@ n */
\pre `h->is_border()`, `g->is_border()`, `h != g`, `h->next() != g`, and `g` can be reached along the same hole starting with `h`.
\image html add_facet2.png
\image latex add_facet2.png
*/
Halfedge_handle add_facet_to_border( Halfedge_handle h,
@ -1434,8 +1446,10 @@ n */
\cgalRequires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`
\image html add_facet1.png
\image latex add_facet1.png
\image html add_facet2.png
\image latex add_facet2.png
*/
void erase_facet( Halfedge_handle h);

View File

@ -18,6 +18,7 @@ boundary. If the surface is closed we call it a <I>polyhedron</I>, for
example, see the following model of a hammerhead:
\image html shark.png
\image latex shark.png
The polyhedral surface is realized as a container class that manages
vertices, halfedges, facets with their incidences, and that maintains
@ -37,6 +38,7 @@ halfedges with opposite orientations. The incidences stored with a
halfedge are illustrated in the following figure:
\image html halfedge_small.png
\image latex halfedge_small.png
Vertices represent points in space. Edges are straight line segments
between two endpoints. Facets are planar polygons without
@ -269,6 +271,7 @@ Figure shows six selected steps from the creation sequence. These steps
are also marked in the program code.
\image html make_cube.png
\image latex make_cube.png
\cgalExample{Polyhedron/polyhedron_prog_cube.cpp}
@ -510,6 +513,7 @@ added to the end of the sequences. The program needs additional
processing memory only for the smoothing step of the old vertices.
\image html subdiv_small.png
\image latex subdiv_small.png
The above figure shows three example objects, each
subdivided four times. The initial object for the left sequence is

View File

@ -495,6 +495,7 @@ For a sequence \f$ I:=(a_0,\ldots,a_n)\f$ of real numbers with \f$ a_0\neq 0\f$,
where \f$ s\f$ is the number of subsequences of \f$ I\f$ of the form
\image html underbrace.png
\image latex underbrace.png
with \f$ a\neq 0,b\neq 0, k\geq 0\f$.
@ -546,6 +547,7 @@ For a sequence \f$ I:=(a_0,\ldots,a_n)\f$ of real numbers with \f$ a_0\neq 0\f$,
where \f$ s\f$ is the number of subsequences of \f$ I\f$ of the form
\image html underbrace.png
\image latex underbrace.png
with \f$ a\neq 0,b\neq 0, k\geq 0\f$.

View File

@ -14,6 +14,7 @@ is the outermost variable.
The \f$ i\f$-th subresultant (with \f$ i=0,\ldots,\min\{n,m\}\f$) is defined by
\image html subresultant_def.png
\image latex subresultant_def.png
where \f$ p_i\f$ and \f$ q_i\f$ are set to zero if \f$ i<0\f$.
In the case that \f$ n=m\f$, \f$ \mathrm{Sres_n}\f$ is set to \f$ q\f$.

View File

@ -18,6 +18,7 @@ where
The resultant of \f$ f\f$ and \f$ g\f$ is defined as the determinant of the <I>Sylvester matrix</I>:
\image html sylvester_matrix.png
\image latex sylvester_matrix.png
Note that this is a \f$ (n+m)\times(n+m)\f$ matrix as there are \f$ n\f$ rows for \f$ f\f$
and \f$ m\f$ rows that are used for \f$ g\f$. The blank spaces are supposed to be

View File

@ -18,6 +18,7 @@ For \f$ k\in\{0,\ldots,n\}\f$, the <I>\f$ k\f$-th Sturm-Habicht polynomial</I>
of \f$ f\f$ is defined as:
\image html sturm_habicht_def.png
\image latex sturm_habicht_def.png
where \f$ \mathrm{Sres}_k(f,f')\f$ is defined
as in the concept `PolynomialTraits_d::PolynomialSubresultants`.

View File

@ -14,6 +14,7 @@ hulls of two given point sets in \f$ d\f$-dimensional Euclidean space
compute the width of a point set in three dimensions (`Width_3<Traits>`).
\image html polydist.png
\image latex polydist.png
The obvious application is collision detection between convex bodies
in space. In the spirit of the bounding volume application above, it

View File

@ -17,6 +17,7 @@ The following figures show a number of rectangles and a 2-dimensional
segment tree built on them.
\image html segment_ex2.png "Two dimensional interval data and the corresponding segment tree."
\image latex segment_ex2.png "Two dimensional interval data and the corresponding segment tree."
*/
template< typename Data, typename Window >
class Tree_anchor : public Tree_base {

View File

@ -18,6 +18,7 @@ reverses the action of the other.
\anchor figsdgdssplitjoin
\image html sdg-join_split.png
\image latex sdg-join_split.png
<center><b>
The join and split operations. Left to right: The vertex `v` is split
into \f$ v_1\f$ and \f$ v_2\f$. The faces \f$ f\f$ and \f$ g\f$ are

View File

@ -15,6 +15,7 @@ namespace CGAL {
\author Nico Kruithof
\image html molecule.png ""
\image latex molecule.png ""
\section sectionSkinSurfaceIntro Introduction

View File

@ -15,6 +15,7 @@ Catmull-Clark subdivision on a `CGAL::Polyhedron_3<Cartesian>`.
instantiated with a %Cartesian kernel, which defines the `Point_3` for the vertices.
\image html CCBorderMask.png
\image latex CCBorderMask.png
\cgalModels `PQQMask_3`
@ -88,6 +89,7 @@ Doo-Sabin subdivision on a `Polyhedron_3<Cartesian>`.
instantiated with a %Cartesian kernel, which defines the `Point_3` for the vertices.
\image html DSCornerMask.png
\image latex DSCornerMask.png
\cgalModels `DQQMask_3`
@ -140,6 +142,7 @@ Loop subdivision on a triangulated `Polyhedron_3<Cartesian>`.
instantiated with a %Cartesian kernel, which defines the `Point_3` for the vertices.
\image html LoopBorderMask.png
\image latex LoopBorderMask.png
\cgalModels `PTQMask_3`

View File

@ -37,6 +37,7 @@ the geometry masks.
`PQQ`, `PTQ`, `DQQ` and `Sqrt3`.
\image html RefSchemes.png
\image latex RefSchemes.png
\cgalHeading{Example}

View File

@ -8,6 +8,7 @@ policy concept of geometric computations is used in
`CGAL::Subdivision_method_3::DQQ<Polyhedron_3, Mask>`.
\image html DSCornerMask.png
\image latex DSCornerMask.png
\cgalHasModel `CGAL::DooSabin_mask_3<Polyhedron_3>`

View File

@ -8,6 +8,7 @@ policy concept of geometric computations is used in
`CGAL::Subdivision_method_3::PQQ<Polyhedron_3, Mask>`.
\image html CCBorderMask.png
\image latex CCBorderMask.png
\cgalHasModel `CGAL::CatmullClark_mask_3<Polyhedron_3>`

View File

@ -7,6 +7,7 @@ policy concept of geometric computations is used in
`CGAL::Subdivision_method_3::PTQ<Polyhedron_3, Mask>`.
\image html LoopBorderMask.png
\image latex LoopBorderMask.png
\cgalHasModel `CGAL::Loop_mask_3<Polyhedron_3>`

View File

@ -9,6 +9,7 @@ namespace CGAL {
\author Le-Jeng Andy Shiue
\image html subdivision-teaser.jpg
\image latex subdivision-teaser.jpg
\section sectionSubIntro Introduction
@ -67,6 +68,7 @@ DQQ indicates the <I>D</I>ual <I>Q</I>uadtrateral <I>Q</I>uadrisection.
the subdivision surface.
\image html RefSchemes.png
\image latex RefSchemes.png
The figure demonstrates these four refinement patterns on
the 1-disk of a valence-5 vertex/facet.
@ -86,6 +88,7 @@ top row indicate the corresponding stencils of the refined nodes
in red.
\image html PQQStencil.png
\image latex PQQStencil.png
Stencils with weights are called <I>geometry masks</I>.
A subdivision method defines a geometry mask for each stencil, and
@ -96,6 +99,7 @@ The geometry masks of Catmull-Clark subdivision are shown
below.
\image html cc_mask.png
\image latex cc_mask.png
The weights shown here are unnormalized, and \f$ n\f$ is the valence
of the vertex. The generated point, in red, is computed by a summation
@ -319,6 +323,7 @@ Respectively, they are used by Catmull-Clark, Loop, Doo-Sabin
and \f$ \sqrt{3}\f$ subdivision.
\image html RefSchemes.png
\image latex RefSchemes.png
\code{.cpp}
@ -396,6 +401,7 @@ The function collects the vertex neighbors of the primitive handle
based on the neighbors and the mask (i.e.\ the stencil weights).
\image html cc_mask.png
\image latex cc_mask.png
This figure shows the geometry masks of
Catmull-Clark subdivision. The weights shown here are unnormalized,

View File

@ -41,13 +41,16 @@ Let `vgone` be the removed vertex and `vkept` be the remaining vertex.
The function returns vertex `vkept` (which can be either `v0` or `v1`).
\image html general_collapse.png
\image latex general_collapse.png
<center><b>
General case. The following mesh elements are removed: triangles (\f$ v0,v1,vL\f$) and (\f$ v1,v0,vR\f$), edges \f$ (e,e')\f$, \f$ (ep,epo)\f$ and \f$ (ep',epo')\f$, and vertex \f$ v0\f$.
</b></center>
\image html border_collapse3.png "When the collapsing edge is not itself a border, but is incident upon a border edge that is removed, the operation is the same as in the general case."
\image latex border_collapse3.png "When the collapsing edge is not itself a border, but is incident upon a border edge that is removed, the operation is the same as in the general case."
\image html border_collapse2.png
\image latex border_collapse2.png
<center><b>
When the collapsing edge is not itself a border, but is incident upon
a border edge that is <I>not</I> removed, the operation is still the
@ -55,6 +58,7 @@ same as in the general case.
</b></center>
\image html border_collapse1.png
\image latex border_collapse1.png
<center><b>
When the collapsing edge is itself a border, only 1 triangle is
removed. Thus, even if \f$ (ep',epo')\f$ exists, it's not removed.
@ -62,6 +66,7 @@ removed. Thus, even if \f$ (ep',epo')\f$ exists, it's not removed.
\anchor CollapseFigure5
\image html border_collapse4.png
\image latex border_collapse4.png
<center><b>
This figure illustrates the single exceptional case when removing \f$
(v0,v1)\f$ neccesarily implies removing \f$ (v1)\f$, thus \f$ (v0)\f$

View File

@ -9,6 +9,7 @@ namespace CGAL {
\authors Fernando Cacciola
\image html Illustration-Simplification-ALL.jpg
\image latex Illustration-Simplification-ALL.jpg
\section Surface_mesh_simplificationIntroduction Introduction

View File

@ -9,6 +9,7 @@ namespace CGAL {
\cgalAutoToc
\image html segmented_head.png
\image latex segmented_head.png
\section SurfaceMesher_section_intro Introduction

View File

@ -27,9 +27,11 @@ guarantee the combinatorial validity of the resulting data structure.
\anchor figtdssplitjoin
\image html join_split.png "The join and split operations."
\image latex join_split.png "The join and split operations."
\anchor figtdsirdeg2
\image html tds-insert_degree_2.png "Insertion and removal of degree 2 vertices. "
\image latex tds-insert_degree_2.png "Insertion and removal of degree 2 vertices. "
*/
template< typename Vb, typename Fb >
class Triangulation_data_structure_2 {

View File

@ -449,6 +449,7 @@ exchanges the edge incident to
diagonal of the quadrilateral formed by `f` and `f->neighbor(i)`.
\image html Flip.png "Flip"
\image latex Flip.png "Flip"
*/
void flip(Face_handle f, int i);
@ -499,6 +500,7 @@ and will be the modified face.
\pre %Vertex `v` is a finite vertex with degree 3 and, if specified, face `f` is incident to `v`.
\image html Three.png "Insertion"
\image latex Three.png "Insertion"
*/
void remove_degree_3(Vertex_handle v, Face_handle f = Face_handle());
@ -534,6 +536,7 @@ augmented with the vertex `v` itself; this one is placed on the edge `(f, i)`
\anchor figtdsdim_down_2
\image html tds-dim_down.png "From a two-dimensional data structure to a one-dimensional data structure."
\image latex tds-dim_down.png "From a two-dimensional data structure to a one-dimensional data structure."
*/
void dim_down(Face_handle f, int i);

View File

@ -76,6 +76,7 @@ Section \ref Section_2D_Triangulations_Constrained_Plus.
</UL>
\image html constraints.png
\image latex constraints.png
\tparam Traits is a geometric traits class and must be a model

View File

@ -28,6 +28,7 @@ boundary of the convex hull are simpler to deal with.
\anchor Triangulation_ref_Fig_infinite_vertex
\image html infinite_vertex.png "The infinite vertex."
\image latex infinite_vertex.png "The infinite vertex."
The class `Triangulation_2` implements this point of view
and therefore considers the triangulation of the set of points
@ -69,6 +70,7 @@ of `f` (see Figure \ref Triangulation_ref_Fig_neighbors).
\anchor Triangulation_ref_Fig_neighbors
\image html neighbors.png "Vertices and neighbors."
\image latex neighbors.png "Vertices and neighbors."
\tparam Traits is the geometric traits which must be
a model of the concept `TriangulationTraits_2`.
@ -614,13 +616,17 @@ triangulation.
\anchor Triangulation_ref_Fig_inser1t
\image html insert1.png "Insertion of a point on an edge."
\image latex insert1.png "Insertion of a point on an edge."
\anchor Triangulation_ref_Fig_insert2
\image html insert2.png "Insertion in a face."
\image latex insert2.png "Insertion in a face."
\anchor Triangulation_ref_Fig_insert3
\image html insert3.png "Insertion outside the convex hull."
\image latex insert3.png "Insertion outside the convex hull."
\anchor Triangulation_ref_Fig_remove
\image html remove.png "Removal."
\image latex remove.png "Removal."
*/
/// @{
@ -917,6 +923,7 @@ are not enumerated.
\anchor Triangulation_ref_Fig_Line_face_circulator
\image html walk.png "The line face circulator. A line face circulator is invalidated if the face the circulator refers to is changed."
\image latex walk.png "The line face circulator. A line face circulator is invalidated if the face the circulator refers to is changed."
*/
/// @{
@ -1169,6 +1176,7 @@ turning clockwise around vertex `i`
of `f`.
\image html neighbors.png "Vertices and neighbors."
\image latex neighbors.png "Vertices and neighbors."
\sa `CGAL::Triangulation_2`
\sa `TriangulationDSFaceBase_2`

View File

@ -8,6 +8,7 @@ namespace CGAL {
\author Mariette Yvinec
\image html tr1dt1.png
\image latex tr1dt1.png
This chapter describes the two dimensional triangulations
of \cgal.
@ -834,6 +835,7 @@ section \ref Section_2D_Triangulations_Constrained_Plus.
</UL>
\image html constraints.png
\image latex constraints.png
A constrained triangulation is represented in the \cgal library as an
object of the class `Constrained_triangulation_2<Traits,Tds,Itag>`.

View File

@ -9,6 +9,7 @@ and neighbors within a cell.
\anchor Triangulation3figutils
\image html utils.png "Operations on indices."
\image latex utils.png "Operations on indices."
*/

View File

@ -438,6 +438,7 @@ shaded.
\anchor TDS3figflips
\image html flips.png "Flips."
\image latex flips.png "Flips."
The following methods guarantee the validity of the resulting 3D
combinatorial triangulation. Moreover the flip operations do not
@ -566,6 +567,7 @@ A handle to `v` is returned.
\anchor TDS3figtopoinsert_outside_affine_hull
\image html topo-insert_outside_affine_hull.png "insert_increase_dimension (1-dimensional case)."
\image latex topo-insert_outside_affine_hull.png "insert_increase_dimension (1-dimensional case)."
*/
Vertex_handle
@ -638,6 +640,7 @@ augmented with the vertex `v` itself, for \f$ d\f$==2,3; this one is placed on t
\anchor TDS3dim_down
\image html tds-dim_down.png
\image latex tds-dim_down.png
<center><b>From an \f$ S^d\f$ data structure to an \f$ S^{d-1}\f$ data
structure (top: \f$ d==2\f$, bottom: \f$ d==3\f$).

View File

@ -219,7 +219,8 @@ int remove(InputIterator first, InputIterator beyond);
Let us remark that \f$ \Pi({p}^{(w)}-{z}^{(w)}) > 0 \f$ is equivalent to `p` lies outside the sphere with center `z` and radius \f$ \sqrt{w_p^2+w_z^2}\f$. This remark helps provide an intuition about the following predicates.
\anchor Triangulation3figsidedim2
\image html sidedim2.png side_of_power_circle
\image html sidedim2.png side_of_power_circle
\image latex sidedim2.png side_of_power_circle
*/
/// @{

View File

@ -742,6 +742,7 @@ in convex position.
\anchor Triangulation3figflips
\image html flips.png "Flips"
\image latex flips.png "Flips"
The following methods guarantee the validity of the resulting 3D
triangulation. Flips for a 2d triangulation are not implemented yet.
@ -916,6 +917,7 @@ Figure \ref Triangulation3figinsert_outside_convex_hull.
\anchor Triangulation3figinsert_outside_convex_hull
\image html insert_outside_convex_hull.png "insert_outside_convex_hull() (2-dimensional case)"
\image latex insert_outside_convex_hull.png "insert_outside_convex_hull() (2-dimensional case)"
*/
Vertex_handle insert_outside_convex_hull(const Point & p,
Cell_handle c);
@ -932,6 +934,7 @@ triangulation.
\anchor Triangulation3figinsert_outside_affine_hull
\image html insert_outside_affine_hull.png "insert_outside_affine_hull() (2-dimensional case)"
\image latex insert_outside_affine_hull.png "insert_outside_affine_hull() (2-dimensional case)"
*/
Vertex_handle insert_outside_affine_hull(const Point & p);

View File

@ -9,6 +9,7 @@ namespace CGAL {
\authors Sylvain Pion and Monique Teillaud
\image html triangulation3.png
\image latex triangulation3.png
The basic 3D-triangulation class of \cgal is primarily designed to
represent the triangulations of a set of points \f$ A\f$ in \f$ \mathbb{R}^3\f$. It is