mirror of https://github.com/CGAL/cgal
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:
parent
0653914893
commit
143a2181b3
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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é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
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ namespace CGAL {
|
|||
\authors Kaspar Fischer, Bernd Gärtner, Thomas Herrmann, Michael Hoffmann, and Sven Schö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 */
|
||||
|
|
|
|||
|
|
@ -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.,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -204,6 +204,7 @@ Generating 20 grid points in 4D
|
|||
\endverbatim
|
||||
|
||||
\image html hypergrid.png
|
||||
\image latex hypergrid.png
|
||||
|
||||
\section GeneratorExGenCombi Example Generating Combinations
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
*/
|
||||
/// @{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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$.
|
||||
|
||||
|
|
|
|||
|
|
@ -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$.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace CGAL {
|
|||
\author Nico Kruithof
|
||||
|
||||
\image html molecule.png ""
|
||||
\image latex molecule.png ""
|
||||
|
||||
\section sectionSkinSurfaceIntro Introduction
|
||||
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ the geometry masks.
|
|||
`PQQ`, `PTQ`, `DQQ` and `Sqrt3`.
|
||||
|
||||
\image html RefSchemes.png
|
||||
\image latex RefSchemes.png
|
||||
|
||||
\cgalHeading{Example}
|
||||
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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$
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ namespace CGAL {
|
|||
\cgalAutoToc
|
||||
|
||||
\image html segmented_head.png
|
||||
\image latex segmented_head.png
|
||||
|
||||
\section SurfaceMesher_section_intro Introduction
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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>`.
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -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$).
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
||||
/// @{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue