really add last missing classified reference manual pages

This commit is contained in:
Sébastien Loriot 2013-03-13 10:57:01 +01:00
parent f79410d763
commit e991fe72ad
47 changed files with 795 additions and 26 deletions

View File

@ -32,4 +32,23 @@ radius, and for insetting a polygon (namely computing its inner
offset). It is possible to compute the exact representation of the
offset (or the inset), or to approximate it with guaranteed error
bounds, in order to speed up the computation time.
\cgalClassifedRefPages
## Functions ##
- `CGAL::minkowski_sum_2()`
- `CGAL::approximated_offset_2()`
- `CGAL::approximated_inset_2()`
- `CGAL::offset_polygon_2()`
- `CGAL::inset_polygon_2()`
## Concepts ##
- `PolygonConvexDecomposition_2`
## Classes ##
- `CGAL::Small_side_angle_bisector_decomposition_2<Kernel,Container>`
- `CGAL::Optimal_convex_decomposition_2<Kernel,Container>`
- `CGAL::Hertel_Mehlhorn_convex_decomposition_2<Kernel,Container>`
- `CGAL::Greene_convex_decomposition_2<Kernel,Container>`
*/

View File

@ -18,5 +18,11 @@
\cgalPkgDemo{Operations on Polyhedra,polyhedron_3.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Functions ##
- `CGAL::minkowski_sum_3()`
*/

View File

@ -17,6 +17,23 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `UniqueHashFunction`
## Classes ##
- `CGAL::Timer`
- `CGAL::Real_timer`
- `CGAL::Memory_sizer`
- `CGAL::Profile_counter`
- `CGAL::Unique_hash_map<Key,Data,UniqueHashFunction>`
- `CGAL::Handle_hash_function`
- `CGAL::Union_find<T,A>`
- `CGAL::Modifier_base<R>`
*/

View File

@ -17,5 +17,17 @@
\cgalPkgLicense{\ref licensesLGPL "LGPL"}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
*/
\cgalClassifedRefPages
## Concepts ##
- `Modularizable`
- `ModularTraits`
- `ModularTraits::ModularImage`
- `ModularTraits::ModularImageRepresentative`
## Types ##
- `CGAL::Residue`
- `CGAL::Modular_traits<T>`
*/

View File

@ -19,5 +19,18 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `ExtendedKernelTraits_2`
## Classes ##
- `CGAL::Extended_cartesian<FT>`
- `CGAL::Extended_homogeneous<RT>`
- `CGAL::Filtered_extended_homogeneous<RT>`
- `CGAL::Nef_polyhedron_2<T>`
- \link CGAL::Nef_polyhedron_2::Explorer `CGAL::Nef_polyhedron_2<T>::Explorer` \endlink
- \link CGAL::Nef_polyhedron_2::Topological_explorer `CGAL::Nef_polyhedron_2<T>::Topological_explorer` \endlink
*/

View File

@ -1,7 +1,7 @@
namespace CGAL {
/*!
\ingroup PkgNef3
\ingroup PkgNef3IOFunctions
This operator reads a Nef polyhedron, which is given in the proprietary file
format written by the input operator <I>in</I> and assigns it to <I>N</I>. It includes the
@ -25,7 +25,7 @@ istream& operator>>( std::istream& in, CGAL::Nef_polyhedron_3<Traits>& N);
/*!
\ingroup PkgNef3
\ingroup PkgNef3IOFunctions
This operator writes the Nef polyhedron `N` to the output stream `out`
using a proprietary file format. It includes the complete incidence

View File

@ -1,7 +1,7 @@
namespace CGAL {
/*!
\ingroup PkgNef3
\ingroup PkgNef3IOFunctions
This function creates a 3D Nef polyhedron from an OFF file which
is read from input stream `in`. The purpose of `OFF_to_nef_3`

View File

@ -1,6 +1,11 @@
/// \defgroup PkgNef3 3D Boolean Operations on Nef Polyhedra Reference
/// \defgroup PkgNef3Concepts Concepts
/// \ingroup PkgNef3
///
/// \defgroup PkgNef3IOFunctions I/O Functions
/// \ingroup PkgNef3
/*!
\addtogroup PkgNef3
\todo check generated documentation
@ -40,5 +45,24 @@ elements and their connectivity. We provide affine (rigid)
tranformations and a point location query operation. We have a custom
file format for storing and reading Nef polyhedra from files. We offer
a simple OpenGL visualization for debugging and illustrations.
\cgalClassifedRefPages
## Classes ##
- `CGAL::Nef_polyhedron_3<Traits>`
- \link CGAL::Nef_polyhedron_3::Vertex `CGAL::Nef_polyhedron_3<Traits>::Vertex` \endlink
- \link CGAL::Nef_polyhedron_3::Halfedge `CGAL::Nef_polyhedron_3<Traits>::Halfedge` \endlink
- \link CGAL::Nef_polyhedron_3::Halffacet `CGAL::Nef_polyhedron_3<Traits>::Halffacet` \endlink
- \link CGAL::Nef_polyhedron_3::Volume `CGAL::Nef_polyhedron_3<Traits>::Volume` \endlink
- \link CGAL::Nef_polyhedron_3::SHalfedge `CGAL::Nef_polyhedron_3<Traits>::SHalfedge` \endlink
- \link CGAL::Nef_polyhedron_3::SHalfloop `CGAL::Nef_polyhedron_3<Traits>::SHalfloop` \endlink
- \link CGAL::Nef_polyhedron_3::SFace `CGAL::Nef_polyhedron_3<Traits>::SFace` \endlink
- \link CGAL::Nef_polyhedron_3::SFace_cycle_iterator `CGAL::Nef_polyhedron_3<Traits>::SFace_cycle_iterator` \endlink
## Functions ##
- `CGAL::OFF_to_nef_3()`
- \link PkgNef3IOFunctions `CGAL::operator<<()` \endlink
- \link PkgNef3IOFunctions `CGAL::operator>>()` \endlink
*/

View File

@ -47,5 +47,7 @@ items are denoted as \em svertex, \em shalfedge and \em sface,
analogous to their counterparts in `CGAL::Nef_polyhedron_2`. Additionally,
there is the <I>shalfloop</I> representing the great circles.
\cgalClassifedRefPages
*/

View File

@ -48,6 +48,8 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Number Type Classes and Concepts ##
- \link int.h `int` \endlink

View File

@ -67,5 +67,39 @@ and validity of the partition (<I>i.e.</I>, the partition polygons are
nonoverlapping and the union of these polygons is the same as the
original polygon).
\cgalClassifedRefPages
## Concepts ##
- `ConvexPartitionIsValidTraits_2`
- `IsYMonotoneTraits_2`
- `OptimalConvexPartitionTraits_2`
- `PartitionTraits_2`
- `PartitionIsValidTraits_2`
- `YMonotonePartitionIsValidTraits_2`
- `YMonotonePartitionTraits_2`
## Function Object Concepts ##
- `PolygonIsValid`
## Classes ##
- `CGAL::Partition_is_valid_traits_2<Traits, PolygonIsValid>`
- `CGAL::Partition_traits_2<R>`
## Function Object Classes ##
- `CGAL::Is_convex_2<Traits>`
- `CGAL::Is_vacuously_valid<Traits>`
- `CGAL::Is_y_monotone_2<Traits>`
## Functions ##
- `CGAL::approx_convex_partition_2()`
- `CGAL::convex_partition_is_valid_2()`
- `CGAL::greene_approx_convex_partition_2()`
- `CGAL::is_y_monotone_2()`
- `CGAL::optimal_convex_partition_2()`
- `CGAL::partition_is_valid_2()`
- `CGAL::y_monotone_partition_2()`
- `CGAL::y_monotone_partition_is_valid_2()`
*/

View File

@ -65,6 +65,8 @@ both inside and outside the original domain we store an additional
offset information in each vertex of a cell. These offsets are models
of the concept `Periodic_3Offset_3`.
\cgalClassifedRefPages
## Concepts ##
- `Periodic_3DelaunayTriangulationTraits_3`

View File

@ -38,6 +38,18 @@ templated by the type of a \cgal Delaunay triangulation and provide
functionality similar to the corresponding member functions of the
point set class.
\cgalClassifedRefPages
## Concepts ##
- `PointSetTraits`
## Classes ##
- `CGAL::Point_set_2`
## Functions ##
- `CGAL::nearest_neighbor()`
- `CGAL::nearest_neighbors()`
- `CGAL::range_search()`
*/

View File

@ -19,7 +19,22 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Functions ##
- `CGAL::read_off_points()`
- `CGAL::read_xyz_points()`
- `CGAL::compute_average_spacing()`
- `CGAL::remove_outliers()`
- `CGAL::grid_simplify_point_set()`
- `CGAL::random_simplify_point_set()`
- `CGAL::jet_smooth_point_set()`
- `CGAL::jet_estimate_normals()`
- `CGAL::pca_estimate_normals()`
- `CGAL::mst_orient_normals()`
- `CGAL::write_off_points()`
- `CGAL::write_xyz_points()`
*/

View File

@ -28,5 +28,28 @@
The assertion flags for the polygons and polygon operations use
`POLYGON` in their names (<I>e.g.</I>, `CGAL_POLYGON_NO_ASSERTIONS`).
\cgalClassifedRefPages
## Concepts ##
- `PolygonTraits_2`
## Classes ##
- `CGAL::Polygon_2<PolygonTraits_2, Container>`
## Global Functions ##
- `CGAL::area_2()`
- `CGAL::bbox_2()`
- `CGAL::bottom_vertex_2()`
- `CGAL::bounded_side_2()`
- `CGAL::is_convex_2()`
- `CGAL::is_simple_2()`
- `CGAL::left_vertex_2()`
- `CGAL::orientation_2()`
- `CGAL::oriented_side_2()`
- `CGAL::polygon_area_2()`
- `CGAL::right_vertex_2()`
- `CGAL::top_vertex_2()`
*/

View File

@ -29,6 +29,8 @@
#include <set>
#include <vector>
/// \cond SKIP_IN_MANUAL
namespace CGAL {
@ -439,3 +441,5 @@ Orientation orientation_2(ForwardIterator first,
}
} //namespace CGAL
/// \endcond

View File

@ -2,6 +2,7 @@ namespace CGAL {
/*!
\relates Polyhedron_3
\ingroup PkgPolyhedronIOFunc
This operator reads a polyhedral surface in Object File Format, OFF,
with file extension <TT>.off</TT>, which is also understood by
@ -35,6 +36,8 @@ std::istream& operator>>( std::istream& in, CGAL::Polyhedron_3<PolyhedronTraits_
/*!
\relates Polyhedron_3
\ingroup PkgPolyhedronIOFunc
This operator writes the polyhedral surface \f$P\f$ to the output
stream out using the Object File Format, OFF, with file extension
<TT>.off</TT>, which is also understood by GeomView \cite cgal:p-gmgv16-96. The

View File

@ -1,6 +1,9 @@
/// \defgroup PkgPolyhedron 3D Polyhedral Surface Reference
/// \defgroup PkgPolyhedronConcepts Concepts
/// \ingroup PkgPolyhedron
/// \defgroup PkgPolyhedronIOFunc I/O Functions
/// \ingroup PkgPolyhedron
/*!
\addtogroup PkgPolyhedron
\todo check generated documentation
@ -37,5 +40,26 @@ design of the halfedge data structure, see the reference for
or \cite k-ugpdd-99, but the default instantiation of the polyhedral
surface can be used without knowing the halfedge data structure.
\cgalClassifedRefPages
## Concepts ##
- `PolyhedronTraits_3`
- `PolyhedronItems_3`
## Classes ##
- `CGAL::Polyhedron_3<Traits>`
- \link CGAL::Polyhedron_3::Vertex `CGAL::Polyhedron_3<Traits>::Vertex` \endlink
- \link CGAL::Polyhedron_3::Halfedge `CGAL::Polyhedron_3<Traits>::Halfedge` \endlink
- \link CGAL::Polyhedron_3::Facet `CGAL::Polyhedron_3<Traits>::Facet` \endlink
- `CGAL::Polyhedron_traits_3<Kernel>`
- `CGAL::Polyhedron_traits_with_normals_3<Kernel>`
- `CGAL::Polyhedron_items_3`
- `CGAL::Polyhedron_min_items_3`
- `CGAL::Polyhedron_incremental_builder_3<HDS>`
## Functions ##
- \link PkgPolyhedronIOFunc `CGAL::operator<<()` \endlink
- \link PkgPolyhedronIOFunc `CGAL::operator>>()` \endlink
*/

View File

@ -24,6 +24,8 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `Polynomial_d`

View File

@ -25,6 +25,8 @@ e.g. defining the compiler flag
`CGAL_OPTIMISATION_NO_PRECONDITIONS` switches precondition
checking off, cf. Section \ref secchecks.
\cgalClassifedRefPages
## All furthest neighbors ##
- `CGAL::all_furthest_neighbors_2`

View File

@ -35,5 +35,13 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
*/
\cgalClassifedRefPages
## Functions ##
- `CGAL::barycenter()`
- `CGAL::bounding_box()`
- `CGAL::centroid()`
- `CGAL::linear_least_squares_fitting_2()`
- `CGAL::linear_least_squares_fitting_3()`
*/

View File

@ -87,6 +87,8 @@ Programs can be written to an output stream in MPSFormat, using one of the follo
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `QuadraticProgram` (for quadratic programs with variable bounds l <= x <= u)
- `LinearProgram` (for linear programs with variable bounds l <= x <= u)

View File

@ -23,5 +23,30 @@
\cgalPkgLicense{\ref licensesGPL "GPL"}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `TriangulatedSurfaceMesh`
- `Vertex2FTPropertyMap`
- `Vertex2VectorPropertyMap`
## Enums ##
- `CGAL::Ridge_type`
- `CGAL::Ridge_order`
- `CGAL::Umbilic_type`
## Classes ##
- `CGAL::Ridge_line<TriangulatedSurfaceMesh>`
- `CGAL::Umbilic<TriangulatedSurfaceMesh>`
- `CGAL::Ridge_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap>`
- `CGAL::Umbilic_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap>`
## Global Functions ##
- `CGAL::compute_max_ridges()`
- `CGAL::compute_min_ridges()`
- `CGAL::compute_crest_ridges()`
- `CGAL::compute_umbilics()`
*/

View File

@ -25,5 +25,94 @@
\cgalPkgLicense{\ref licensesLGPL "LGPL"}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Doubly-Connected List Managing Items in Place ##
- `CGAL::In_place_list<T,bool>`
- `CGAL::In_place_list_base<T>`
## Compact Container ##
- `CGAL::Compact_container<T, Allocator>`
- `CGAL::Compact_container_traits<T>`
- `CGAL::Compact_container_base`
## Multiset with Extended Functionality ##
- `CGAL::Multiset<Type,Compare,Allocator>`
## Generic Algorithms ##
- `CGAL::cpp11::copy_n`
- `CGAL::copy_n`
- `CGAL::min_max_element`
- `CGAL::cpp11::next`
- `CGAL::cpp11::prev`
- `CGAL::predecessor`
- `CGAL::successor`
## Iterators and Iterator/Circulator Adaptors ##
- `CGAL::Dispatch_output_iterator<V,O>`
- `CGAL::Dispatch_or_drop_output_iterator<V,O>`
- `CGAL::Emptyset_iterator`
- `CGAL::Oneset_iterator<T>`
- `CGAL::Insert_iterator<Container>`
- `CGAL::Counting_iterator<Iterator, Value>`
- `CGAL::N_step_adaptor<I,int N>`
- `CGAL::Filter_iterator<Iterator, Predicate>`
- `CGAL::Join_input_iterator_1<Iterator, Creator>`
- `CGAL::Inverse_index<IC>`
- `CGAL::Random_access_adaptor<IC>`
- `CGAL::Random_access_value_adaptor<IC,T>`
## Projection Function Objects ##
- `CGAL::Identity<Value>`
- `CGAL::Dereference<Value>`
- `CGAL::Get_address<Value>`
- `CGAL::Cast_function_object<Arg, Result>`
- `CGAL::Project_vertex<Node>`
- `CGAL::Project_facet<Node>`
- `CGAL::Project_point<Node>`
- `CGAL::Project_normal<Node>`
- `CGAL::Project_plane<Node>`
- `CGAL::Project_next<Node>`
- `CGAL::Project_prev<Node>`
- `CGAL::Project_next_opposite<Node>`
- `CGAL::Project_opposite_prev<Node>`
## Creator Function Objects ##
- `CGAL::Creator_1<Arg, Result>`
- `CGAL::Creator_2<Arg1, Arg2, Result>`
- `CGAL::Creator_3<Arg1, Arg2, Arg3, Result>`
- `CGAL::Creator_4<Arg1, Arg2, Arg3, Arg4, Result>`
- `CGAL::Creator_5<Arg1, Arg2, Arg3, Arg4, Arg5, Result>`
- `CGAL::Creator_uniform_2<Arg, Result>`
- `CGAL::Creator_uniform_3<Arg, Result>`
- `CGAL::Creator_uniform_4<Arg, Result>`
- `CGAL::Creator_uniform_5<Arg, Result>`
- `CGAL::Creator_uniform_6<Arg, Result>`
- `CGAL::Creator_uniform_7<Arg, Result>`
- `CGAL::Creator_uniform_8<Arg, Result>`
- `CGAL::Creator_uniform_9<Arg, Result>`
- `CGAL::Creator_uniform_d<Arg, Result>`
## Utilities ##
- `CGAL::Twotuple<T>`
- `CGAL::Threetuple<T>`
- `CGAL::Fourtuple<T>`
- `CGAL::Sixtuple<T>`
- `CGAL::Triple<T1, T2, T3>`
- `CGAL::Quadruple<T1, T2, T3, T4>`
- `CGAL::Boolean_tag<bool value>`
- `CGAL::Tag_true`
- `CGAL::Tag_false`
- `CGAL::Null_tag`
- `CGAL::Null_functor`
- `CGAL::Uncertain<T>`
- `CGAL::Default`
- `CGAL::Fast`
- `CGAL::Compact`
- `CGAL::Location_policy<Tag>`
- `CGAL::Fast_location`
- `CGAL::Compact_location`
*/

View File

@ -33,6 +33,8 @@ However, the range tree as implemented in \cgal is more flexible than the
\f$ Kd\f$-tree implementation, in that it enables to layer together range trees
and segment trees in the same data structure.
\cgalClassifedRefPages
## Concepts ##
- `RangeSegmentTreeTraits_k`

View File

@ -38,6 +38,8 @@ the class
`CGAL::Triangulation_data_structure_2<Vb,Fb>` is a model of the
`SegmentDelaunayGraphDataStructure_2` concept.
\cgalClassifedRefPages
## Concepts ##
- `SegmentDelaunayGraphSite_2`

View File

@ -15,10 +15,9 @@ the new vertices are moved towards the skin surface.
\tparam Polyhedron must be an instance of `Polyhedron_3`.
*/
void
subdivide_skin_surface_mesh_3<SkinSurface_3,Polyhedron> (const
SkinSurface_3 &skin_surface, Polyhedron &p, int nSubdiv =
1);
template <class SkinSurface_3, class Polyhedron>
void subdivide_skin_surface_mesh_3 (const
SkinSurface_3 &skin_surface, Polyhedron &p, int nSubdiv = 1);
} /* namespace CGAL */

View File

@ -20,6 +20,22 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `SkinSurface_3`
- `SkinSurfaceTraits_3`
## Classes ##
- `CGAL::Skin_surface_3<SkinSurfaceTraits_3>`
- `CGAL::Union_of_balls_3<SkinSurfaceTraits_3>`
- `CGAL::Skin_surface_traits_3<K>`
## Functions ##
- `CGAL::make_skin_surface_mesh_3<Polyhedron_3>()`
- `CGAL::mesh_skin_surface_3<SkinSurface_3, Polyhedron_3>()`
- `CGAL::subdivide_skin_surface_mesh_3<SkinSurface_3, Polyhedron_3>()`
*/

View File

@ -19,5 +19,6 @@
\cgalPkgDemo{2D Snap Rounding,snap_rounding_2.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
*/

View File

@ -53,5 +53,58 @@ supporting
The spatial searching package consists of the following concepts and
classes that are described in the reference pages.
\cgalClassifedRefPages
## Search Classes ##
- `CGAL::K_neighbor_search<Traits, GeneralDistance, Splitter, SpatialTree>`
- `CGAL::Incremental_neighbor_search<Traits, GeneralDistance, Splitter, SpatialTree>`
- `CGAL::Orthogonal_incremental_neighbor_search<Traits, OrthogonalDistance, Splitter, SpatialTree>`
- `CGAL::Orthogonal_k_neighbor_search<Traits, OrthogonalDistance, Splitter, SpatialTree>`
- `CGAL::Kd_tree<Traits, Splitter, UseExtendedNode>`
## Range Query Item Classes ##
- `CGAL::Fuzzy_iso_box<Traits>`
- `CGAL::Fuzzy_sphere<Traits>`
## Search Traits Classes ##
- `CGAL::Search_traits_2<Kernel>`
- `CGAL::Search_traits_3<Kernel>`
- `CGAL::Search_traits_d<Kernel>`
- `CGAL::Search_traits<NT,Point,CartesianIterator,ConstructCartesianIterator,ConstructMinVertex,ConstructMaxVertex>`
- `CGAL::Search_traits_adapter<Key,PointPropertyMap,BaseTraits>`
## Distance Classes ##
- `CGAL::Euclidean_distance<Traits>`
- `CGAL::Euclidean_distance_sphere_point<Traits>`
- `CGAL::Manhattan_distance_iso_box_point<Traits>`
- `CGAL::Weighted_Minkowski_distance<Traits>`
- `CGAL::Distance_for_point_adapter<Key,PointPropertyMap,Base_distance>`
## %Splitter Classes ##
- `CGAL::Sliding_midpoint<Traits, SpatialSeparator>`
- `CGAL::Sliding_fair<Traits, SpatialSeparator>`
- `CGAL::Fair<Traits, SpatialSeparator>`
- `CGAL::Median_of_max_spread<Traits, SpatialSeparator>`
- `CGAL::Median_of_rectangle<Traits, SpatialSeparator>`
- `CGAL::Midpoint_of_max_spread<Traits, SpatialSeparator>`
- `CGAL::Midpoint_of_rectangle<Traits, SpatialSeparator>`
## Advanced Classes ##
- `CGAL::Kd_tree_node<Traits, Splitter, UseExtendedNode>`
- `CGAL::Kd_tree_rectangle<FT>`
- `CGAL::Plane_separator<FT>`
- `CGAL::Point_container<Traits>`
## Concepts ##
- `FuzzyQueryItem`
- `GeneralDistance`
- `OrthogonalDistance`
- `SearchTraits`
- `RangeSearchTraits`
- `SpatialSeparator`
- `SpatialTree`
- `Splitter`
*/

View File

@ -32,5 +32,34 @@
\cgalPkgLicense{\ref licensesLGPL "LGPL"}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Functions ##
- `CGAL::spatial_sort()`
- `CGAL::hilbert_sort()`
## Function Objects ##
- `CGAL::Multiscale_sort<Sort>`
- `CGAL::Hilbert_sort_2<Traits, PolicyTag>`
- `CGAL::Hilbert_sort_3<Traits, PolicyTag>`
- `CGAL::Hilbert_sort_d<Traits, PolicyTag>`
## Traits classes ##
- `CGAL::Spatial_sort_traits_adapter_2<Base_traits,PointPropertyMap>`
- `CGAL::Spatial_sort_traits_adapter_3<Base_traits,PointPropertyMap>`
- `CGAL::Spatial_sort_traits_adapter_d<Base_traits,PointPropertyMap>`
## Concepts ##
- `SpatialSortingTraits_2`
- `SpatialSortingTraits_3`
- `SpatialSortingTraits_d`
## Utilities ##
- `CGAL::Median`
- `CGAL::Middle`
- `CGAL::Hilbert_policy<Tag>`
- `CGAL::Hilbert_sort_median_policy`
- `CGAL::Hilbert_sort_middle_policy`
*/

View File

@ -30,5 +30,39 @@
\cgalPkgDemo{Operations on Polygons,polygon.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `StraightSkeletonVertex_2`
- `StraightSkeletonHalfedge_2`
- `StraightSkeletonFace_2`
- `StraightSkeleton_2`
- `StraightSkeletonBuilder_2_Visitor`
- `StraightSkeletonBuilderTraits_2`
- `StraightSkeletonItemsConverter_2`
- `PolygonOffsetBuilderTraits_2`
- `VertexContainer_2`
## Classes ##
- `CGAL::Straight_skeleton_vertex_base_2<Refs,Point,FT>`
- `CGAL::Straight_skeleton_halfedge_base_2<Refs>`
- `CGAL::Straight_skeleton_face_base_2<Refs>`
- `CGAL::Straight_skeleton_2<Traits,Items,Alloc>`
- `CGAL::create_interior_straight_skeleton_2`
- `CGAL::create_exterior_straight_skeleton_2`
- `CGAL::Straight_skeleton_builder_traits_2<Kernel>`
- `CGAL::Straight_skeleton_builder_2<Gt,Ss,Visitor>`
- `CGAL::Straight_skeleton_items_converter_2<SrcSs, TgtSs, NTConverter>`
- `CGAL::Straight_skeleton_converter_2<SrcSs,TgtSs,ItemsCvt>`
- `CGAL::convert_straight_skeleton_2<TgtSs,SrcSs,ItemsCvt>`
- `CGAL::create_offset_polygons_2`
- `CGAL::arrange_offset_polygons_2`
- `CGAL::create_interior_skeleton_and_offset_polygons_2`
- `CGAL::create_exterior_skeleton_and_offset_polygons_2`
- `CGAL::Polygon_offset_builder_traits_2<Kernel>`
- `CGAL::Polygon_offset_builder_2<Ss,Gt,Container>`
- `CGAL::Dummy_straight_skeleton_builder_2_visitor<Ss>`
*/

View File

@ -49,5 +49,20 @@ operations on them, and should be instantiated by a model of the concept
function object that ensures the numerical integration used to
construct the streamlines, and should be instantiated by a model of the concept
`Integrator_2`.
\cgalClassifedRefPages
## Concepts ##
- `StreamLinesTraits_2`
- `Integrator_2`
- `VectorField_2`
## Classes ##
- `CGAL::Stream_lines_2<VectorField_2,Integrator_2>`
- `CGAL::Euler_integrator_2<VectorField_2>`
- `CGAL::Runge_kutta_integrator_2<VectorField_2>`
- `CGAL::Regular_grid_2<StreamLinesTraits_2>`
- `CGAL::Triangular_field_2<StreamLinesTraits_2>`
*/

View File

@ -256,14 +256,14 @@ The output operator is defined for all classes in the \cgal `Kernel` and for the
\sa `CGAL::is_ascii()`
\sa `CGAL::is_binary()`
\sa `CGAL::is_pretty()`
\sa \ref op_right_shift "CGAL::operator>>"
\sa \ref PkgIOstreams_op_right_shift "CGAL::operator>>"
*/
ostream& operator<<(ostream& os, Class c);
/*!
\ingroup PkgIOstreams
\anchor op_right_shift
\anchor PkgIOstreams_op_right_shift
\brief \cgal defines input operators for classes that are derived
from the class `istream`. This allows to read from istreams

View File

@ -20,5 +20,33 @@ IO streams.
\cgal provides three different printing mode, defined in the enum
`Mode`, as well as different functions to set and get
the printing mode.
\cgalClassifedRefPages
## Enum ##
- `CGAL::Mode`
## Functions ##
- `CGAL::get_mode()`
- `CGAL::is_ascii()`
- `CGAL::is_binary()`
- `CGAL::is_pretty()`
- `CGAL::set_mode()`
- `CGAL::set_ascii_mode()`
- `CGAL::set_binary_mode()`
- `CGAL::set_pretty_mode()`
- \link PkgIOstreams_op_right_shift `CGAL::operator>>()` \endlink
- \link PkgIOstreams_op_left_shift `CGAL::operator<<()` \endlink
- `CGAL::iformat()`
- `CGAL::oformat()`
## Classes ##
- `CGAL::Color`
- `CGAL::Istream_iterator<T,Stream>`
- `CGAL::Ostream_iterator<T,Stream>`
- `CGAL::Verbose_ostream`
- `CGAL::Input_rep<T,F>`
- `CGAL::Output_rep<T,F>`
*/

View File

@ -24,6 +24,20 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `PQQMask_3`
- `PTQMask_3`
- `DQQMask_3`
- `Sqrt3Mask_3`
## Classes ##
- `CGAL::Subdivision_method_3`
- `CGAL::CatmullClark_mask_3<Polyhedron_3>`
- `CGAL::Loop_mask_3<Polyhedron_3>`
- `CGAL::DooSabin_mask_3<Polyhedron_3>`
- `CGAL::Sqrt3_mask_3<Polyhedron_3>`
*/

View File

@ -19,13 +19,125 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
Output
----------------
\cgalClassifedRefPages
## Main Function ##
- `CGAL::parameterize()`
## Concepts ##
- `ParameterizerTraits_3`
- `BorderParameterizer_3`
- `ParameterizationMesh_3`
- `ParameterizationPatchableMesh_3`
- `SparseLinearAlgebraTraits_d`
- `PolyhedronTraitsWithKernel_3`
## Surface Parameterization Methods ##
This \cgal package implements several parameterization methods:
- Fixed border:
- Tutte Barycentric Mapping \cite t-hdg-63.
One-to-one mapping is guaranteed for convex border.
- Floater Mean Value Coordinates \cite cgal:f-mvc-03.
One-to-one mapping is guaranteed for convex border.
- Discrete Conformal Map \cite cgal:eddhls-maam-95.
Conditionally guaranteed if all weights are positive and border is convex.
- Discrete Authalic parameterization \cite cgal:dma-ipsm-02.
Conditionally guaranteed if all weights are positive and border is convex.
- Free border:
- Least Squares Conformal Maps \cite cgal:lprm-lscm-02.
- `CGAL::Parameterizer_traits_3<ParameterizationMesh_3>`
- `CGAL::Fixed_border_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Barycentric_mapping_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Discrete_authalic_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Discrete_conformal_map_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::LSCM_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Mean_value_coordinates_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
## Border Parameterization Methods ##
Border parameterization methods define a
set of constraints (a constraint specifies two (u,v) coordinates for
each instance of a vertex along the border).
This package implements all common border parameterization methods:
- For fixed border methods:
- the user can select a border
parameterization among two common methods: uniform or
arc-length parameterizations.
- one convex shape specified by:
- one shape among a set of standard ones (circle, square).
- For free border methods: at least two constraints (the pinned
vertices).
- `CGAL::Circular_border_arc_length_parameterizer_3<ParameterizationMesh_3>`
- `CGAL::Circular_border_uniform_parameterizer_3<ParameterizationMesh_3>`
- `CGAL::Square_border_arc_length_parameterizer_3<ParameterizationMesh_3>`
- `CGAL::Square_border_uniform_parameterizer_3<ParameterizationMesh_3>`
- `CGAL::Two_vertices_parameterizer_3<ParameterizationMesh_3>`
## Mesh ##
The general definition of input meshes handled directly by `CGAL::parameterize()` is:
- Model of `ParameterizationMesh_3`.
- Triangulated.
- 2-manifold.
- Oriented.
- Homeomorphic to a disc (may have holes).
This package provides a model of the `ParameterizationMesh_3` concept
to access `CGAL::Polyhedron_3<Traits>`:
- `CGAL::Parameterization_polyhedron_adaptor_3<Polyhedron_3_>`
The meshes supported <I>indirectly</I> by the package can be of any genus and
have any number of connected components. If it is not a topological
disc, the input mesh has to come with a description of a cutting path (an oriented list of
vertices) which is the border of a topological disc. If no cutting path is
given as input, we assume that the surface border is the longest border already
in the input mesh (the other borders will be considered as holes).
The `CGAL::Parameterization_mesh_patch_3<ParameterizationPatchableMesh_3>`
class is responsible for <I>virtually</I> cutting
a patch in a `ParameterizationPatchableMesh_3` mesh.
The resulting patch is a topological
disk (if the input cutting path is correct)
and provides a `ParameterizationMesh_3` interface. It can be used as
parameter of `CGAL::parameterize()`.
Note that this way the user is responsible for cutting a closed mesh of
arbitrary genus (even a topological disc with an intricate seam
cut), as long as this condition is fulfilled.
The package provides an interface with `CGAL::Polyhedron_3<Traits>`:
- `CGAL::Parameterization_polyhedron_adaptor_3<Polyhedron_3_>`
## Output ##
A `(u,v)` pair is computed for each inner vertex (i.e. its halfedges share the same `(u,v)` pair), while a `(u,v)` pair is computed for each border halfedge. The user must iterate over the mesh halfedges to get the result.
Checks and Assertions
----------------
## Sparse Linear Algebra ##
Since parameterizing meshes requires
efficient representation of sparse matrices and efficient iterative or
direct linear solvers, we provide an interface to several
sparse linear solvers:
- <span class="textsc">Eigen</span> 3.1 (or greater) is the library recommended by %CGAL solving sparse systems.
- OpenNL (authored by Bruno Lévy) is shipped with %CGAL is the default solver.
- `OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>` in OpenNL package
- `OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>` in OpenNL package
## Helper Classes ##
- `CGAL::Parameterization_mesh_feature_extractor<ParameterizationMesh_3>`
## Checks and Assertions ##
The package performs the next checks:
@ -47,6 +159,7 @@ For <i>free</i> border parameterizations:
Assertions are optional checks. The assertion flags for the package
use `SURFACE_MESH_PARAMETERIZATION` in their names (e.g. `CGAL_SURFACE_MESH_PARAMETERIZATION_NO_ASSERTIONS`).
*/
/// \defgroup PkgSurfaceParameterizationMainFunction Main Function

View File

@ -20,5 +20,29 @@
\cgalPkgDemo{Operations on Polyhedra,polyhedron_3.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Concepts ##
- `EdgeCollapsableMesh`
- `EdgeProfile`
- `StopPredicate`
- `GetCost`
- `GetPlacement`
- `EdgeCollapseSimplificationVisitor`
## Functions ##
- `CGAL::Surface_mesh_simplification::edge_collapse()`
## Classes ##
- `CGAL::Surface_mesh_simplification::Edge_collapse_visitor_base<ECM>`
- `CGAL::Surface_mesh_simplification::Edge_profile<ECM>`
- `CGAL::Surface_mesh_simplification::Count_stop_predicate<ECM>`
- `CGAL::Surface_mesh_simplification::Count_ratio_stop_predicate<ECM>`
- `CGAL::Surface_mesh_simplification::Edge_length_cost<ECM>`
- `CGAL::Surface_mesh_simplification::Midpoint_placement<ECM>`
- `CGAL::Surface_mesh_simplification::LindstromTurk_cost<ECM>`
- `CGAL::Surface_mesh_simplification::LindstromTurk_placement<ECM>`
*/

View File

@ -20,9 +20,7 @@ In case the surface is manifold the triangles can be oriented.
\returns `true` if the surface could be written to the stream.
\relates Surface_mesh_complex_2_in_triangulation_3
\sa `output_surface_facets_to_polyhedron()`
\sa `CGAL::output_surface_facets_to_polyhedron()`
*/
template <class SurfaceMeshComplex_2InTriangulation_3>

View File

@ -18,9 +18,7 @@ converts a manifold surface reconstructed by `make_surface_mesh()` to a `Polyhed
\param c2t3 Input surface.
\param output_polyhedron Output polyhedron.
\relates Surface_mesh_complex_2_in_triangulation_3
\sa `output_surface_facets_to_off()`
\sa `CGAL::output_surface_facets_to_off()`
*/
template<class SurfaceMeshComplex_2InTriangulation_3, class Polyhedron> bool output_surface_facets_to_polyhedron(const SurfaceMeshComplex_2InTriangulation_3& c2t3, Polyhedron& output_polyhedron);

View File

@ -25,7 +25,9 @@ respectively.)
\cgalModels `SurfaceMeshComplex_2InTriangulation_3`
\sa `make_surface_mesh`
\sa `SurfaceMeshTriangulation_3`
\sa `SurfaceMeshTriangulation_3`
\sa `CGAL::output_surface_facets_to_off()`
\sa `CGAL::output_surface_facets_to_polyhedron()`
*/
template< typename Tr, typename Edge_info = void >

View File

@ -30,7 +30,7 @@
\cgalPkgPicture{segmented_head-small.png}
\cgalPkgSummaryBegin
\cgalPkgAuthors{Laurent Rineau and Mariette Yvinec}
\cgalPkgDesc{This package provides functions to generate surface meshes that interpolate smooth surfaces. The meshing algorithm is based on Delaunay refinement and provides some guarantees on the resulting mesh: the user is able to control the size and shape of the mesh elements and the accuracy of the surface approximation. There is no restriction on the topology and number of components of input surfaces. The surface mesh generator may also be used for non smooth surfaces but without guarantee. Currently, implementations are provided for implicit surfaces described as the zero level set of some function and surfaces described as a gray level set in a three-dimensional image.}
\cgalPkgDesc{This package provides functions to generate surface meshes that interpolate smooth surfaces. The meshing algorithm is based on Delaunay refinement and provides some guarantees on the resulting mesh: the user is able to control the size and shape of the mesh elements and the accuracy of the surface approximation. There is no restriction on the topology and number of components of input surfaces. The surface mesh generator may also be used for non smooth surfaces but without guarantee. Currently, implementations are provided for implicit surfaces described as the zero level set of some function and surfaces described as a gray level set in a three-dimensional image.}
\cgalPkgManuals{Chapter_3D_Surface_Mesh_Generation,PkgSurfaceMesher3}
\cgalPkgSummaryEnd
\cgalPkgShortInfoBegin
@ -74,5 +74,37 @@ the type and values of the given criteria.
The behavior of the refinement process can also be influenced through
a tag, which allows for instance to enforce the manifold property
of the output mesh while avoiding an over-refinement of the mesh.
\cgalClassifedRefPages
## Concepts ##
- `SurfaceMeshComplex_2InTriangulation_3`
- `SurfaceMeshTraits_3`
- `SurfaceMeshFacetsCriteria_3`
- `SurfaceMeshCellBase_3`
- `SurfaceMeshVertexBase_3`
- `SurfaceMeshTriangulation_3`
- `ImplicitFunction`
- `ImplicitSurfaceTraits_3`
## Classes ##
- `CGAL::Surface_mesh_complex_2_in_triangulation_3<Tr, Edge_info = void>`
- `CGAL::Surface_mesh_vertex_base_3<Gt,Vb>`
- `CGAL::Surface_mesh_cell_base_3<Gt,Cb>`
- `CGAL::Surface_mesh_default_criteria_3<Tr>`
- `CGAL::Surface_mesh_default_triangulation_3`
- `CGAL::Surface_mesh_traits_generator_3<Surface>`
- `CGAL::Implicit_surface_3<Traits, Function>`
- `CGAL::Gray_level_image_3<FT, Point>`
## Tag Classes ##
- `CGAL::Manifold_tag`
- `CGAL::Manifold_with_boundary_tag`
- `CGAL::Non_manifold_tag`
## Function Templates ##
- `CGAL::make_surface_mesh()`
- `CGAL::output_surface_facets_to_polyhedron()`
*/

View File

@ -17,8 +17,9 @@
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Classes ##
- `CGAL::Poisson_reconstruction_function<GeomTraits>`
*/

View File

@ -47,5 +47,22 @@ class, the parameters have to be instantiated by models of different
refining concepts according to the actual type of the triangulation.
These refining concepts and their models are described in Chapter
\ref Chapter_2D_Triangulations "2D Triangulations".
*/
\cgalClassifedRefPages
## Concepts ##
- `TriangulationDataStructure_2`
- `TriangulationDataStructure_2::Face`
- `TriangulationDataStructure_2::Vertex`
- `TriangulationDSFaceBase_2`
- `TriangulationDSVertexBase_2`
## Classes ##
- `CGAL::Triangulation_data_structure_2<Vb,Fb>`
- `CGAL::Triangulation_ds_face_base_2<Tds>`
- `CGAL::Triangulation_ds_vertex_base_2<Tds>`
- `CGAL::Triangulation_cw_ccw_2`
*/

View File

@ -61,5 +61,53 @@ structure acting as a container for faces and vertices
while taking care of the combinatorial aspects of the triangulation.
The concepts and models relative to the triangulation data structure
are described in Chapter \ref PkgTDS2 "2D Triangulation Data Structure".
\cgalClassifedRefPages
## Concepts ##
- `TriangulationTraits_2`
- `DelaunayTriangulationTraits_2`
- `RegularTriangulationTraits_2`
- `ConstrainedTriangulationTraits_2`
- `ConstrainedDelaunayTriangulationTraits_2`
- `TriangulationFaceBase_2`
- `TriangulationVertexBase_2`
- `ConstrainedTriangulationFaceBase_2`
- `RegularTriangulationFaceBase_2`
- `RegularTriangulationVertexBase_2`
- `TriangulationHierarchyVertexBase_2`
- `TriangulationVertexBaseWithInfo_2`
## Classes ##
- `CGAL::Triangulation_2<Traits,Tds>`
- `CGAL::Delaunay_triangulation_2<Traits,Tds>`
- `CGAL::Regular_triangulation_2<Traits,Tds>`
- `CGAL::Constrained_triangulation_2<Traits,Tds,Itag>`
- `CGAL::Constrained_Delaunay_triangulation_2<Traits,Tds,Itag>`
- `CGAL::Constrained_triangulation_plus_2<Tr>`
- `CGAL::Triangulation_hierarchy_2<Tr>`
- `CGAL::Triangulation_euclidean_traits_2<K>`
- `CGAL::Triangulation_euclidean_traits_xy_3<K>`
- `CGAL::Regular_triangulation_euclidean_traits_2<K,Weight>`
- `CGAL::Regular_triangulation_filtered_traits_2<FK>`
- `CGAL::Triangulation_face_base_2<Traits,Fb>`
- `CGAL::Triangulation_vertex_base_2<Traits,Vb>`
- `CGAL::Regular_triangulation_face_base_2<Traits,Fb>`
- `CGAL::Regular_triangulation_vertex_base_2<Traits,Vb>`
- `CGAL::Constrained_triangulation_face_base_2<Traits,Fb>`
- `CGAL::Triangulation_vertex_base_with_info_2<Info,Traits,Vb>`
- `CGAL::Triangulation_face_base_with_info_2<Info,Traits,Fb>`
- `CGAL::Triangulation_hierarchy_vertex_base_2<Vb>`
- `CGAL::Weighted_point<Pt,Wt>`
- `CGAL::Triangulation_cw_ccw_2`
## Enum ##
- \link CGAL::Triangulation_2::Locate_type `CGAL::Triangulation_2<Traits,Tds>::Locate_type` \endlink
*/

View File

@ -44,6 +44,7 @@ facet of index 3, and 3 edges \f$ (0,1)\f$, \f$ (1,2)\f$ and \f$ (2,0)\f$; in
dimension 1, each cell represents one edge \f$ (0,1)\f$. (See
Section \ref TDS3secintro.)
\cgalClassifedRefPages
## Concepts ##

View File

@ -65,6 +65,8 @@ indexed with 0, 1, 2, 3 in such a way that the neighbor indexed by `i`
is opposite to the vertex with the same index. See
Figure \cgalFigureRef{Triangulation3figorient}.
\cgalClassifedRefPages
## Concepts ##
- `TriangulationTraits_3`