mirror of https://github.com/CGAL/cgal
Update to master
This commit is contained in:
commit
94541df835
63
.travis.yml
63
.travis.yml
|
|
@ -20,37 +20,38 @@ env:
|
|||
- PACKAGE='Envelope_3 Filtered_kernel Generalized_map '
|
||||
- PACKAGE='Generator Geomview GraphicsView '
|
||||
- PACKAGE='HalfedgeDS Hash_map Heat_method_3 '
|
||||
- PACKAGE='Homogeneous_kernel Inscribed_areas Installation '
|
||||
- PACKAGE='Interpolation Intersections_2 Intersections_3 '
|
||||
- PACKAGE='Interval_skip_list Interval_support Inventor '
|
||||
- PACKAGE='Jet_fitting_3 Kernel_23 Kernel_d '
|
||||
- PACKAGE='LEDA Linear_cell_complex MacOSX '
|
||||
- PACKAGE='Maintenance Matrix_search Mesh_2 '
|
||||
- PACKAGE='Mesh_3 Mesher_level Minkowski_sum_2 '
|
||||
- PACKAGE='Minkowski_sum_3 Modifier Modular_arithmetic '
|
||||
- PACKAGE='Nef_2 Nef_3 Nef_S2 '
|
||||
- PACKAGE='NewKernel_d Number_types OpenNL '
|
||||
- PACKAGE='Optimal_transportation_reconstruction_2 Optimisation_basic Partition_2 '
|
||||
- PACKAGE='Periodic_2_triangulation_2 Periodic_3_mesh_3 Periodic_3_triangulation_3 '
|
||||
- PACKAGE='Point_set_2 Point_set_3 Point_set_processing_3 '
|
||||
- PACKAGE='Point_set_shape_detection_3 Poisson_surface_reconstruction_3 Polygon '
|
||||
- PACKAGE='Polygon_mesh_processing Polyhedron Polyhedron_IO '
|
||||
- PACKAGE='Polyline_simplification_2 Polynomial Polytope_distance_d '
|
||||
- PACKAGE='Principal_component_analysis Principal_component_analysis_LGPL Profiling_tools '
|
||||
- PACKAGE='Property_map QP_solver Random_numbers '
|
||||
- PACKAGE='Ridges_3 Scale_space_reconstruction_3 Scripts '
|
||||
- PACKAGE='SearchStructures Segment_Delaunay_graph_2 Segment_Delaunay_graph_Linf_2 '
|
||||
- PACKAGE='Set_movable_separability_2 Skin_surface_3 Snap_rounding_2 '
|
||||
- PACKAGE='Solver_interface Spatial_searching Spatial_sorting '
|
||||
- PACKAGE='STL_Extension Straight_skeleton_2 Stream_lines_2 '
|
||||
- PACKAGE='Stream_support Subdivision_method_3 Surface_mesh '
|
||||
- PACKAGE='Surface_mesh_approximation Surface_mesh_deformation Surface_mesher '
|
||||
- PACKAGE='Surface_mesh_parameterization Surface_mesh_segmentation Surface_mesh_shortest_path '
|
||||
- PACKAGE='Surface_mesh_simplification Surface_mesh_skeletonization Surface_sweep_2 '
|
||||
- PACKAGE='TDS_2 TDS_3 Testsuite '
|
||||
- PACKAGE='Three Triangulation Triangulation_2 '
|
||||
- PACKAGE='Triangulation_3 Union_find Visibility_2 '
|
||||
- PACKAGE='Voronoi_diagram_2 wininst '
|
||||
- PACKAGE='Homogeneous_kernel Hyperbolic_triangulation_2 Inscribed_areas '
|
||||
- PACKAGE='Installation Interpolation Intersections_2 '
|
||||
- PACKAGE='Intersections_3 Interval_skip_list Interval_support '
|
||||
- PACKAGE='Inventor Jet_fitting_3 Kernel_23 '
|
||||
- PACKAGE='Kernel_d LEDA Linear_cell_complex '
|
||||
- PACKAGE='MacOSX Maintenance Matrix_search '
|
||||
- PACKAGE='Mesh_2 Mesh_3 Mesher_level '
|
||||
- PACKAGE='Minkowski_sum_2 Minkowski_sum_3 Modifier '
|
||||
- PACKAGE='Modular_arithmetic Nef_2 Nef_3 '
|
||||
- PACKAGE='Nef_S2 NewKernel_d Number_types '
|
||||
- PACKAGE='OpenNL Optimal_transportation_reconstruction_2 Optimisation_basic '
|
||||
- PACKAGE='Partition_2 Periodic_2_triangulation_2 Periodic_3_mesh_3 '
|
||||
- PACKAGE='Periodic_3_triangulation_3 Periodic_4_hyperbolic_triangulation_2 Point_set_2 '
|
||||
- PACKAGE='Point_set_3 Point_set_processing_3 Point_set_shape_detection_3 '
|
||||
- PACKAGE='Poisson_surface_reconstruction_3 Polygon Polygon_mesh_processing '
|
||||
- PACKAGE='Polyhedron Polyhedron_IO Polyline_simplification_2 '
|
||||
- PACKAGE='Polynomial Polytope_distance_d Principal_component_analysis '
|
||||
- PACKAGE='Principal_component_analysis_LGPL Profiling_tools Property_map '
|
||||
- PACKAGE='QP_solver Random_numbers Ridges_3 '
|
||||
- PACKAGE='Scale_space_reconstruction_3 Scripts SearchStructures '
|
||||
- PACKAGE='Segment_Delaunay_graph_2 Segment_Delaunay_graph_Linf_2 Set_movable_separability_2 '
|
||||
- PACKAGE='Skin_surface_3 Snap_rounding_2 Solver_interface '
|
||||
- PACKAGE='Spatial_searching Spatial_sorting STL_Extension '
|
||||
- PACKAGE='Straight_skeleton_2 Stream_lines_2 Stream_support '
|
||||
- PACKAGE='Subdivision_method_3 Surface_mesh Surface_mesh_approximation '
|
||||
- PACKAGE='Surface_mesh_deformation Surface_mesher Surface_mesh_parameterization '
|
||||
- PACKAGE='Surface_mesh_segmentation Surface_mesh_shortest_path Surface_mesh_simplification '
|
||||
- PACKAGE='Surface_mesh_skeletonization Surface_sweep_2 TDS_2 '
|
||||
- PACKAGE='TDS_3 Testsuite Three '
|
||||
- PACKAGE='Triangulation Triangulation_2 Triangulation_3 '
|
||||
- PACKAGE='Union_find Visibility_2 Voronoi_diagram_2 '
|
||||
- PACKAGE='wininst '
|
||||
compiler: clang
|
||||
install:
|
||||
- echo "$PWD"
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ HalfedgeDS
|
|||
Hash_map
|
||||
Heat_method_3
|
||||
Homogeneous_kernel
|
||||
Hyperbolic_triangulation_2
|
||||
Inscribed_areas
|
||||
Installation
|
||||
Interpolation
|
||||
|
|
@ -76,6 +77,7 @@ Partition_2
|
|||
Periodic_2_triangulation_2
|
||||
Periodic_3_mesh_3
|
||||
Periodic_3_triangulation_3
|
||||
Periodic_4_hyperbolic_triangulation_2
|
||||
Point_set_2
|
||||
Point_set_3
|
||||
Point_set_processing_3
|
||||
|
|
|
|||
|
|
@ -22,17 +22,17 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `AABBPrimitive`
|
||||
- `AABBPrimitiveWithSharedData`
|
||||
- `AABBTraits`
|
||||
- `AABBGeomTraits`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::AABB_traits<GeomTraits,Primitive>`
|
||||
- `CGAL::AABB_tree<AT>`
|
||||
|
||||
## Primitives ##
|
||||
\cgalCRPSection{Primitives}
|
||||
- `CGAL::AABB_triangle_primitive<GeomTraits, Iterator, CacheDatum>`
|
||||
- `CGAL::AABB_segment_primitive<GeomTraits, Iterator, CacheDatum>`
|
||||
- `CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMapPolyhedron,ExternalPropertyMaps,CacheDatum>`
|
||||
|
|
|
|||
|
|
@ -429,6 +429,12 @@ public:
|
|||
/// that returns `true` in order to skip the primitive.
|
||||
/// Defaults to a functor that always returns `false`.
|
||||
///
|
||||
/// \note `skip` might be given some primitives that are not intersected by `query`
|
||||
/// because the intersection test is done after the skip test. Also note that
|
||||
/// the order the primitives are given to `skip` is not necessarily the
|
||||
/// intersection order with `query`.
|
||||
///
|
||||
///
|
||||
/// `AABBTraits` must be a model of `AABBRayIntersectionTraits` to
|
||||
/// call this member function.
|
||||
template<typename Ray, typename SkipFunctor>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
||||
#include <CGAL/AABB_halfedge_graph_segment_primitive.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Timer.h>
|
||||
|
||||
#include <CGAL/disable_warnings.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -26,9 +26,6 @@
|
|||
#include <fstream>
|
||||
#include <iostream>
|
||||
|
||||
#include <CGAL/Timer.h>
|
||||
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,8 @@
|
|||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <CGAL/Timer.h>
|
||||
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
|
|
|
|||
|
|
@ -28,14 +28,12 @@
|
|||
#include <CGAL/Timer.h>
|
||||
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
#include <CGAL/AABB_traits.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
|
||||
#include <CGAL/spatial_sort.h>
|
||||
|
||||
#include "AABB_test_util.h"
|
||||
|
|
|
|||
|
|
@ -25,13 +25,13 @@ of topological singularities. }
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
|
||||
- `CGAL::Advancing_front_surface_reconstruction`
|
||||
- `CGAL::Advancing_front_surface_reconstruction_vertex_base_3`
|
||||
- `CGAL::Advancing_front_surface_reconstruction_cell_base_3`
|
||||
|
||||
## Functions ##
|
||||
\cgalCRPSection{Functions}
|
||||
|
||||
- `CGAL::advancing_front_surface_reconstruction()`
|
||||
|
||||
|
|
|
|||
|
|
@ -10,10 +10,6 @@ find_package(CGAL QUIET)
|
|||
|
||||
if ( CGAL_FOUND )
|
||||
|
||||
if (MSVC AND ( CMAKE_SIZEOF_VOID_P EQUAL 4 ) )
|
||||
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244")
|
||||
endif()
|
||||
|
||||
# create a target per cppfile
|
||||
file(GLOB cppfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
foreach(cppfile ${cppfiles})
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Algebraic Structures ##
|
||||
\cgalCRPSection{Algebraic Structures}
|
||||
|
||||
### Concepts ###
|
||||
\cgalCRPSubsection{Concepts}
|
||||
|
||||
- `IntegralDomainWithoutDivision`
|
||||
- `IntegralDomain`
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
- `AlgebraicStructureTraits_::KthRoot`
|
||||
- `AlgebraicStructureTraits_::RootOf`
|
||||
|
||||
### Classes ###
|
||||
\cgalCRPSubsection{Classes}
|
||||
|
||||
- `CGAL::Algebraic_structure_traits<T>`
|
||||
- `CGAL::Integral_domain_without_division_tag`
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
- `CGAL::Unique_factorization_domain_tag`
|
||||
- `CGAL::Euclidean_ring_tag`
|
||||
|
||||
### Global Functions ###
|
||||
\cgalCRPSubsection{Global Functions}
|
||||
|
||||
- `CGAL::is_zero()`
|
||||
- `CGAL::is_one()`
|
||||
|
|
@ -82,9 +82,9 @@
|
|||
- `CGAL::kth_root()`
|
||||
- `CGAL::root_of()`
|
||||
|
||||
## Real Embeddable ##
|
||||
\cgalCRPSection{Real Embeddable}
|
||||
|
||||
### Concepts ###
|
||||
\cgalCRPSubsection{Concepts}
|
||||
|
||||
- `RealEmbeddable`
|
||||
|
||||
|
|
@ -98,11 +98,11 @@
|
|||
- `RealEmbeddableTraits_::ToDouble`
|
||||
- `RealEmbeddableTraits_::ToInterval`
|
||||
|
||||
### Classes ###
|
||||
\cgalCRPSubsection{Classes}
|
||||
|
||||
- `CGAL::Real_embeddable_traits<T>`
|
||||
|
||||
### Global Functions ###
|
||||
\cgalCRPSubsection{Global Functions}
|
||||
|
||||
- `CGAL::is_zero()`
|
||||
- `CGAL::abs()`
|
||||
|
|
@ -113,27 +113,27 @@
|
|||
- `CGAL::to_double()`
|
||||
- `CGAL::to_interval()`
|
||||
|
||||
## Real Number Types ##
|
||||
\cgalCRPSection{Real Number Types}
|
||||
|
||||
### Concepts ###
|
||||
\cgalCRPSubsection{Concepts}
|
||||
|
||||
- `RingNumberType`
|
||||
- `FieldNumberType`
|
||||
|
||||
## Interoperability ##
|
||||
\cgalCRPSection{Interoperability}
|
||||
|
||||
### Concepts ###
|
||||
\cgalCRPSubsection{Concepts}
|
||||
|
||||
- `ExplicitInteroperable`
|
||||
- `ImplicitInteroperable`
|
||||
|
||||
### Classes ###
|
||||
\cgalCRPSubsection{Classes}
|
||||
|
||||
- `CGAL::Coercion_traits<A,B>`
|
||||
|
||||
## Fractions ##
|
||||
\cgalCRPSection{Fractions}
|
||||
|
||||
### Concepts ###
|
||||
\cgalCRPSubsection{Concepts}
|
||||
|
||||
- `Fraction`
|
||||
- `FractionTraits`
|
||||
|
|
@ -141,13 +141,13 @@
|
|||
- `FractionTraits_::Compose`
|
||||
- `FractionTraits_::CommonFactor`
|
||||
|
||||
### Classes ###
|
||||
\cgalCRPSubsection{Classes}
|
||||
|
||||
- `CGAL::Fraction_traits<T>`
|
||||
|
||||
## Miscellaneous ##
|
||||
\cgalCRPSection{Miscellaneous}
|
||||
|
||||
### Concepts ###
|
||||
\cgalCRPSubsection{Concepts}
|
||||
- `FromIntConstructible`
|
||||
- `FromDoubleConstructible`
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/IO/io.h>
|
||||
#include <CGAL/Algebraic_structure_traits.h>
|
||||
#include <CGAL/number_utils.h>
|
||||
#include <CGAL/int.h>
|
||||
|
||||
template< typename NT > NT unit_part(const NT& x);
|
||||
template< typename NT >
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Fraction_traits.h>
|
||||
#include <CGAL/IO/io.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Coercion_traits.h>
|
||||
#include <CGAL/Quotient.h>
|
||||
#include <CGAL/Sqrt_extension.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Fraction_traits.h>
|
||||
#include <CGAL/IO/io.h>
|
||||
#include <vector>
|
||||
#include <CGAL/number_utils.h>
|
||||
|
||||
template <class Fraction>
|
||||
std::vector<typename CGAL::Fraction_traits<Fraction>::Numerator_type >
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Coercion_traits.h>
|
||||
#include <CGAL/IO/io.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
|
||||
### Univariate Algebraic %Kernel ###
|
||||
\cgalCRPSubsection{Univariate Algebraic %Kernel}
|
||||
|
||||
- `AlgebraicKernel_d_1`
|
||||
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
- `AlgebraicKernel_d_1::ApproximateAbsolute_1`
|
||||
- `AlgebraicKernel_d_1::ApproximateRelative_1`
|
||||
|
||||
### Bivariate Algebraic %Kernel ###
|
||||
\cgalCRPSubsection{Bivariate Algebraic %Kernel}
|
||||
|
||||
- `AlgebraicKernel_d_2`
|
||||
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
- `AlgebraicKernel_d_2::BoundBetweenX_2`
|
||||
- `AlgebraicKernel_d_2::BoundBetweenY_2`
|
||||
|
||||
## Models ##
|
||||
\cgalCRPSection{Models}
|
||||
|
||||
- `CGAL::Algebraic_kernel_d_1<Coeff>`
|
||||
- `CGAL::Algebraic_kernel_d_2<Coeff>`
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// $URL$
|
||||
// $Id$
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
#ifdef CGAL_USE_MPFI
|
||||
#include <CGAL/Algebraic_kernel_d_1.h>
|
||||
#include <CGAL/Gmpz.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// $URL$
|
||||
// $Id$
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
#ifdef CGAL_USE_MPFI
|
||||
#include <CGAL/Algebraic_kernel_d_1.h>
|
||||
#include <CGAL/Gmpz.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// $URL$
|
||||
// $Id$
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
#ifdef CGAL_USE_MPFI
|
||||
#include <CGAL/Algebraic_kernel_d_1.h>
|
||||
#include <CGAL/Gmpz.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// $URL$
|
||||
// $Id$
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
#ifdef CGAL_USE_MPFI
|
||||
#include <CGAL/Algebraic_kernel_d_1.h>
|
||||
#include <CGAL/Gmpz.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// $URL$
|
||||
// $Id$
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
#ifdef CGAL_USE_MPFI
|
||||
#include <CGAL/Algebraic_kernel_d_1.h>
|
||||
#include <CGAL/Gmpz.h>
|
||||
|
|
|
|||
|
|
@ -216,8 +216,8 @@ namespace CGAL {
|
|||
const FT cz = (p.a()*p.c())/sqbc;
|
||||
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?-1:1),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(cy):(-cy)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?(cz):(-cz)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(cy):FT(-cy)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?(cz):FT(-cz)),delta);
|
||||
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
}
|
||||
|
|
@ -290,14 +290,14 @@ namespace CGAL {
|
|||
const FT cz = (p.c()*p.b())/sqac;
|
||||
|
||||
if(!is_positive(cx)) {
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?(cx):(-cx)),delta);
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?(cx):FT(-cx)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?-1:1),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?(cz):(-cz)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?(cz):FT(-cz)),delta);
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
} else {
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?(-cx):(cx)),delta);
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?FT(-cx):(cx)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?1:-1),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?(-cz):(cz)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?FT(-cz):(cz)),delta);
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
}
|
||||
}
|
||||
|
|
@ -375,25 +375,25 @@ namespace CGAL {
|
|||
const FT cy = (p.c()*p.b())/sqab;
|
||||
|
||||
if(is_negative(cx)) {
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?(cx):(-cx)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(cy):(-cy)),delta);
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?(cx):FT(-cx)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(cy):FT(-cy)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?-1:1),delta);
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
} else if(is_zero(cx)) {
|
||||
if(!is_positive(cy)) {
|
||||
const Root_of_2 x = s.a();
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(cy):(-cy)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(cy):FT(-cy)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?-1:1),delta);
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
} else {
|
||||
const Root_of_2 x = s.a();
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(-cy):(cy)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?FT(-cy):(cy)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?1:-1),delta);
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
}
|
||||
} else {
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?(-cx):(cx)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?(-cy):(cy)),delta);
|
||||
const Root_of_2 x = make_root_of_2(s.a(),FT(i?FT(-cx):(cx)),delta);
|
||||
const Root_of_2 y = make_root_of_2(s.b(),FT(i?FT(-cy):(cy)),delta);
|
||||
const Root_of_2 z = make_root_of_2(s.c(),FT(i?1:-1),delta);
|
||||
return Root_for_spheres_2_3(x,y,z);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,12 +68,12 @@ finite number of different \f$ \alpha\f$-shapes and corresponding
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `AlphaShapeTraits_2`
|
||||
- `AlphaShapeFace_2`
|
||||
- `AlphaShapeVertex_2`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Alpha_shape_2<Dt>`
|
||||
- `CGAL::Weighted_alpha_shape_euclidean_traits_2<K>`
|
||||
- `CGAL::Alpha_shape_vertex_base_2<AlphaShapeTraits_2>`
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Filtered_kernel.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Cartesian_converter.h>
|
||||
|
||||
#include <CGAL/Delaunay_triangulation_2.h>
|
||||
|
|
@ -16,9 +15,8 @@
|
|||
|
||||
typedef double coord_type;
|
||||
|
||||
typedef CGAL::Simple_cartesian<coord_type> SC;
|
||||
typedef CGAL::Filtered_kernel<SC> FK;
|
||||
typedef CGAL::Projection_traits_xy_3<FK> K;
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel Epic;
|
||||
typedef CGAL::Projection_traits_xy_3<Epic> K;
|
||||
|
||||
typedef K::Point_2 Point;
|
||||
typedef K::Segment_2 Segment;
|
||||
|
|
@ -34,10 +32,10 @@ typedef K::Segment_2 Segment;
|
|||
namespace CGAL {
|
||||
|
||||
template < class K2, class C >
|
||||
class Cartesian_converter<FK, K2, C>
|
||||
class Cartesian_converter<Epic, K2, C>
|
||||
{
|
||||
public:
|
||||
typedef CGAL::Projection_traits_xy_3<FK> Source_kernel;
|
||||
typedef CGAL::Projection_traits_xy_3<Epic> Source_kernel;
|
||||
typedef K2 Target_kernel;
|
||||
typedef C Number_type_converter;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Filtered_kernel.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/algorithm.h>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
|
|
@ -15,8 +14,7 @@
|
|||
|
||||
typedef double coord_type;
|
||||
|
||||
typedef CGAL::Simple_cartesian<coord_type> SC;
|
||||
typedef CGAL::Filtered_kernel<SC> K;
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
|
||||
typedef K::Point_2 Point;
|
||||
typedef K::Segment_2 Segment;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@ corresponding to the weighted Alpha Shape.
|
|||
|
||||
************************************************************************/
|
||||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Filtered_kernel.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/Alpha_shape_2.h>
|
||||
#include <CGAL/Alpha_shape_face_base_2.h>
|
||||
|
|
@ -22,8 +21,7 @@ corresponding to the weighted Alpha Shape.
|
|||
|
||||
typedef double coord_type;
|
||||
|
||||
typedef CGAL::Simple_cartesian<coord_type> SC;
|
||||
typedef CGAL::Filtered_kernel<SC> K;
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef K::Point_2 Point;
|
||||
typedef K::Weighted_point_2 Weighted_point;
|
||||
typedef K::Segment_2 Segment;
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ of the alpha complex where singular faces are removed.
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `AlphaShapeTraits_3`
|
||||
- `WeightedAlphaShapeTraits_3`
|
||||
- `AlphaShapeCell_3`
|
||||
|
|
@ -93,7 +93,7 @@ of the alpha complex where singular faces are removed.
|
|||
- `FixedAlphaShapeCell_3`
|
||||
- `FixedAlphaShapeVertex_3`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Alpha_status<NT>`
|
||||
- `CGAL::Alpha_shape_3<Dt,ExactAlphaComparisonTag>`
|
||||
- `CGAL::Alpha_shape_vertex_base_3<Traits,Vb>`
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ aforementioned concepts.
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
|
||||
- `ApolloniusSite_2`
|
||||
- `ApolloniusGraphDataStructure_2`
|
||||
|
|
@ -48,7 +48,7 @@ aforementioned concepts.
|
|||
- `ApolloniusGraphTraits_2`
|
||||
- `ApolloniusGraphHierarchyVertexBase_2`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
|
||||
- `CGAL::Apollonius_graph_2<Gt,Agds>`
|
||||
- `CGAL::Apollonius_site_2<K>`
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
// standard includes
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ typedef CGAL::Filtered_exact<inexact_type,exact_type> number_t;
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#ifndef DONT_USE_FILTERED_EXACT
|
||||
struct Kernel : public CGAL::Simple_cartesian<number_t> {};
|
||||
typedef CGAL::Simple_cartesian<number_t> Kernel;
|
||||
#endif
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
|
@ -30,8 +30,8 @@ typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
|||
#include "./include/test.h"
|
||||
|
||||
|
||||
struct CK : public CGAL::Simple_cartesian<inexact_type> {};
|
||||
struct EK : public CGAL::Simple_cartesian<exact_type> {};
|
||||
typedef CGAL::Simple_cartesian<inexact_type> CK;
|
||||
typedef CGAL::Simple_cartesian<exact_type> EK;
|
||||
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ typedef CGAL::Filtered_exact<inexact_type,exact_type> number_t;
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#ifndef DNOT_USE_FILTERED_EXACT
|
||||
struct Kernel : public CGAL::Simple_cartesian<number_t> {};
|
||||
typedef CGAL::Simple_cartesian<number_t> K;
|
||||
#endif
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
|
@ -31,8 +31,8 @@ typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
|||
#include "./include/test.h"
|
||||
|
||||
|
||||
struct CK : public CGAL::Simple_cartesian<inexact_type> {};
|
||||
struct EK : public CGAL::Simple_cartesian<exact_type> {};
|
||||
typedef CGAL::Simple_cartesian<inexact_type> CK;
|
||||
typedef CGAL::Simple_cartesian<exact_type> EK;
|
||||
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
typedef CGAL::Exact_rational exact_nt;
|
||||
|
||||
struct Rep : public CGAL::Simple_cartesian<exact_nt> {};
|
||||
typedef CGAL::Simple_cartesian<exact_nt> Rep;
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
||||
struct Gt : public CGAL::Apollonius_graph_traits_2<Rep,Method_tag> {};
|
||||
typedef CGAL::Apollonius_graph_traits_2<Rep,Method_tag> Gt;
|
||||
|
||||
typedef CGAL::Apollonius_graph_2<Gt> AG2;
|
||||
typedef AG2::Point_2 Point_2;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cassert>
|
||||
|
|
@ -22,7 +20,7 @@ typedef CGAL::Filtered_exact<inexact_type,exact_type> number_t;
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#ifndef DONT_USE_FILTERED_EXACT
|
||||
struct Kernel : public CGAL::Simple_cartesian<number_t> {};
|
||||
typedef CGAL::Simple_cartesian<number_t> Kernel;
|
||||
#endif
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
|
@ -30,8 +28,8 @@ typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
|||
#include "./include/test.h"
|
||||
|
||||
|
||||
struct CK : public CGAL::Simple_cartesian<double> {};
|
||||
struct EK : public CGAL::Simple_cartesian<CGAL::MP_Float> {};
|
||||
typedef CGAL::Simple_cartesian<double> CK;
|
||||
typedef CGAL::Simple_cartesian<CGAL::MP_Float> EK;
|
||||
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
/*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
class ArrTrimTraits_2 {
|
||||
public:
|
||||
|
||||
typedef ArrTraits::X_monotone_curve_2 X_monotone_curve_2;
|
||||
typedef ArrTraits::Point_2 Point_2;
|
||||
|
||||
/*!
|
||||
returns an \f$ x\f$-monotone trimmed version \f$ x\f$-monotone
|
||||
connecting `p1` and `p2` (i.e., the
|
||||
two input points are its endpoints).
|
||||
*/
|
||||
X_monotone_curve_2 operator() ( X_monotone_curve_2 xcv,
|
||||
Point_2 p1, Point_2 p2);
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -87,18 +87,18 @@ implemented as peripheral classes or as free (global) functions.
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Enumerations ##
|
||||
\cgalCRPSection{Enumerations}
|
||||
|
||||
- `CGAL::Arr_parameter_space`
|
||||
- `CGAL::Arr_curve_end`
|
||||
- `CGAL::Arr_halfedge_direction`
|
||||
|
||||
## Tags ##
|
||||
\cgalCRPSection{Tags}
|
||||
|
||||
- `CGAL::Arr_oblivious_side_tag`
|
||||
- `CGAL::Arr_open_side_tag`
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
|
||||
- `ArrangementDcel`
|
||||
- `ArrangementDcelWithRebind`
|
||||
|
|
@ -119,13 +119,13 @@ implemented as peripheral classes or as free (global) functions.
|
|||
- `ArrangementPointLocation_2`
|
||||
- `ArrangementVerticalRayShoot_2`
|
||||
|
||||
## Geometric Object Concepts ##
|
||||
\cgalCRPSection{Geometric Object Concepts}
|
||||
|
||||
- `ArrTraits::Point_2`
|
||||
- `ArrTraits::XMonotoneCurve_2`
|
||||
- `ArrTraits::Curve_2`
|
||||
|
||||
## Function Object Concepts ##
|
||||
\cgalCRPSection{Function Object Concepts}
|
||||
|
||||
- `ArrTraits::CompareX_2`
|
||||
- `ArrTraits::CompareXy_2`
|
||||
|
|
@ -149,7 +149,7 @@ implemented as peripheral classes or as free (global) functions.
|
|||
- `ArrTraits::Approximate_2`
|
||||
- `ArrTraits::ConstructXMonotoneCurve_2`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
|
||||
- `CGAL::Arrangement_2<Traits,Dcel>`
|
||||
- `CGAL::Arr_accessor<Arrangement>`
|
||||
|
|
@ -188,10 +188,10 @@ implemented as peripheral classes or as free (global) functions.
|
|||
- `CGAL::Arr_face_index_map<Arrangement>`
|
||||
- `CGAL::Arr_point_location_result<Arrangement>`
|
||||
|
||||
## Macros ##
|
||||
\cgalCRPSection{Macros}
|
||||
- \link CGAL_ARR_POINT_LOCATION_VERSION `CGAL_ARR_POINT_LOCATION_VERSION` \endlink
|
||||
|
||||
## Functions ##
|
||||
\cgalCRPSection{Functions}
|
||||
|
||||
- `CGAL::is_valid()`
|
||||
- `CGAL::insert()`
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! \file examples/Arrangement_on_surface_2/Bezier_curves.cpp
|
||||
// Constructing an arrangement of Bezier curves.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
#include <iostream>
|
||||
|
||||
#if (!CGAL_USE_CORE) && (!CGAL_USE_LEDA) && (!(CGAL_USE_GMP && CGAL_USE_MPFI))
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! \file examples/Arrangement_on_surface_2/conic_multiplicities.cpp
|
||||
// Handling intersection points with multiplicity between conic arcs.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
//! \file examples/Arrangement_on_surface_2/conics.cpp
|
||||
// Constructing an arrangement of various conic arcs.
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
//! \file examples/Arrangement_on_surface_2/edge_manipulation.cpp
|
||||
// Using the edge-manipulation functions.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
|
||||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Arr_segment_traits_2.h>
|
||||
#include <CGAL/Arrangement_2.h>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// Constructing a arrangement of Bezier polycurves.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// Constructing an arrangement of polycurves.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// Testing the do_equal function
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! \file examples/Arrangement_2/ex_rational_functions.cpp
|
||||
//! \file examples/Arrangement_2/rational_functions.cpp
|
||||
// Constructing an arrangement of arcs of rational functions.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! \file examples/Arrangement_2/ex_rational_functions.cpp
|
||||
//! \file examples/Arrangement_2/rational_functions_rational_coefficients.cpp
|
||||
// Constructing an arrangement of arcs of rational functions.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! \file examples/Arrangement_2/unbounded_rational_functions.cpp
|
||||
// Constructing an arrangement of unbounded portions of rational functions.
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -558,7 +558,7 @@ Methods to read and write graphs.
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `VertexListGraph`
|
||||
- `EdgeListGraph`
|
||||
- `HalfedgeGraph`
|
||||
|
|
@ -568,14 +568,14 @@ Methods to read and write graphs.
|
|||
- `FaceListGraph`
|
||||
- `MutableFaceGraph`
|
||||
|
||||
## Properties ##
|
||||
\cgalCRPSection{Properties}
|
||||
- `boost::vertex_index_t`
|
||||
- `boost::halfedge_index_t`
|
||||
- `boost::edge_index_t`
|
||||
- `boost::face_index_t`
|
||||
- `boost::vertex_point_t`
|
||||
|
||||
## %CGAL Classes Adapted for the Graph API ##
|
||||
\cgalCRPSection{%CGAL Classes Adapted for the Graph API}
|
||||
|
||||
Different \cgal types have been adapted as graphs for the \sc{Bgl}. All
|
||||
adapted types are listed here. The pages document which concepts they
|
||||
|
|
@ -591,7 +591,7 @@ user might encounter.
|
|||
- \link BGLOMPAK `boost::graph_traits<OpenMesh::PolyMesh_ArrayKernelT<K> >` \endlink
|
||||
- \link BGLOMTMAK `boost::graph_traits<OpenMesh::TriMesh_ArrayKernelT<K> >` \endlink
|
||||
|
||||
## Helper Classes ##
|
||||
\cgalCRPSection{Helper Classes}
|
||||
- `CGAL::Triangulation_vertex_base_with_id_2`
|
||||
- `CGAL::Arr_vertex_index_map`
|
||||
- `CGAL::Arr_face_index_map`
|
||||
|
|
@ -603,7 +603,7 @@ user might encounter.
|
|||
- `CGAL::Linear_cell_complex_bgl_min_items`
|
||||
- `CGAL::Linear_cell_complex_for_bgl_combinatorial_map_helper`
|
||||
|
||||
## Helper Functions ##
|
||||
\cgalCRPSection{Helper Functions}
|
||||
- `CGAL::is_border()`
|
||||
- `CGAL::is_border_edge()`
|
||||
- `CGAL::is_bivalent()`
|
||||
|
|
@ -636,7 +636,7 @@ user might encounter.
|
|||
- `CGAL::clear()`
|
||||
- `CGAL::copy_face_graph()`
|
||||
|
||||
## Iterators ##
|
||||
\cgalCRPSection{Iterators}
|
||||
- `CGAL::Halfedge_around_source_iterator`
|
||||
- `CGAL::Halfedge_around_target_iterator`
|
||||
- `CGAL::Halfedge_around_face_iterator`
|
||||
|
|
@ -652,7 +652,7 @@ user might encounter.
|
|||
- `CGAL::vertices_around_face()`
|
||||
- `CGAL::vertices_around_target()`
|
||||
|
||||
## Circulators ##
|
||||
\cgalCRPSection{Circulators}
|
||||
- `CGAL::Halfedge_around_source_circulator`
|
||||
- `CGAL::Halfedge_around_target_circulator`
|
||||
- `CGAL::Halfedge_around_face_circulator`
|
||||
|
|
@ -660,7 +660,7 @@ user might encounter.
|
|||
- `CGAL::Face_around_target_circulator`
|
||||
- `CGAL::Face_around_face_circulator`
|
||||
|
||||
## Euler Operations ##
|
||||
\cgalCRPSection{Euler Operations}
|
||||
- `CGAL::Euler::add_center_vertex()`
|
||||
- `CGAL::Euler::add_edge()`
|
||||
- `CGAL::Euler::add_face()`
|
||||
|
|
@ -681,7 +681,7 @@ user might encounter.
|
|||
- `CGAL::Euler::split_loop()`
|
||||
- `CGAL::Euler::split_vertex()`
|
||||
|
||||
## Selection ##
|
||||
\cgalCRPSection{Selection}
|
||||
- `CGAL::expand_face_selection()`
|
||||
- `CGAL::reduce_face_selection()`
|
||||
- `CGAL::expand_edge_selection()`
|
||||
|
|
@ -691,21 +691,21 @@ user might encounter.
|
|||
- `CGAL::select_incident_faces()`
|
||||
- `CGAL::expand_face_selection_for_removal()`
|
||||
|
||||
## Conversion Functions ##
|
||||
\cgalCRPSection{Conversion Functions}
|
||||
- `CGAL::split_graph_into_polylines()`
|
||||
|
||||
## Graph Adaptors ##
|
||||
\cgalCRPSection{Graph Adaptors}
|
||||
- `CGAL::Dual`
|
||||
- `CGAL::Face_filtered_graph`
|
||||
- `CGAL::Graph_with_descriptor_with_graph`
|
||||
- `CGAL::Graph_with_descriptor_with_graph_property_map`
|
||||
- `CGAL::Seam_mesh`
|
||||
|
||||
## Partitioning Methods ##
|
||||
\cgalCRPSection{Partitioning Methods}
|
||||
- `CGAL::METIS::partition_graph()`
|
||||
- `CGAL::METIS::partition_dual_graph()`
|
||||
|
||||
## I/O Functions ##
|
||||
\cgalCRPSection{I/O Functions}
|
||||
- \link PkgBGLIOFct CGAL::read_off() \endlink
|
||||
- \link PkgBGLIOFct CGAL::write_off() \endlink
|
||||
- \link PkgBGLIOFct CGAL::write_wrl() \endlink
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/boost/graph/iterator.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> Kernel;
|
||||
typedef CGAL::Linear_cell_complex_traits<3, Kernel> LCC_traits;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,14 +3,12 @@
|
|||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Kernel/global_functions.h>
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
|
||||
typedef CGAL::Cartesian<double> Kernel;
|
||||
typedef Kernel::Point_3 Point;
|
||||
typedef Kernel::Vector_3 Vector;
|
||||
typedef CGAL::Simple_cartesian<double> Kernel;
|
||||
typedef Kernel::Point_3 Point;
|
||||
typedef Kernel::Vector_3 Vector;
|
||||
|
||||
typedef CGAL::Linear_cell_complex_traits<3, Kernel> LCC_traits;
|
||||
typedef CGAL::Linear_cell_complex_for_bgl_combinatorial_map_helper
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Iterator_range.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/boost/graph/iterator.h>
|
||||
#include <fstream>
|
||||
|
||||
#include <CGAL/boost/iterator/transform_iterator.hpp>
|
||||
|
||||
#include <algorithm>
|
||||
#include <fstream>
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> Kernel;
|
||||
typedef CGAL::Linear_cell_complex_traits<3, Kernel> LCC_traits;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <OpenMesh/Core/IO/MeshIO.hh>
|
||||
|
|
@ -9,7 +8,6 @@
|
|||
#include <CGAL/boost/graph/Euler_operations.h>
|
||||
|
||||
#include <CGAL/mesh_segmentation.h>
|
||||
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <iterator>
|
||||
|
||||
#include <boost/unordered_map.hpp>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ typedef boost::graph_traits<Polyhedron>::vertex_descriptor vertex_descriptor;
|
|||
typedef boost::graph_traits<Polyhedron>::vertex_iterator vertex_iterator;
|
||||
|
||||
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
|
||||
Polyhedron P;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/iterator.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> Kernel;
|
||||
typedef CGAL::Polyhedron_3<Kernel> Polyhedron;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,13 @@
|
|||
#include <fstream>
|
||||
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Kernel/global_functions.h>
|
||||
|
||||
// Polyhedron
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
typedef CGAL::Cartesian<double> Kernel;
|
||||
typedef CGAL::Simple_cartesian<double> Kernel;
|
||||
typedef Kernel::Point_3 Point;
|
||||
typedef Kernel::Vector_3 Vector;
|
||||
typedef CGAL::Polyhedron_3<Kernel, CGAL::Polyhedron_items_with_id_3> Polyhedron;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Iterator_range.h>
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include <CGAL/boost/graph/Graph_with_descriptor_with_graph.h>
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
#include <CGAL/boost/graph/Euler_operations.h>
|
||||
|
||||
#include <fstream>
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> K;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/Dual.h>
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
|
||||
#include <CGAL/boost/graph/Face_filtered_graph.h>
|
||||
#include <CGAL/boost/graph/partition.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/io.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@ vertices as a source and target. It is possible to filter border edges
|
|||
using `boost::filtered_graph` as shown in example
|
||||
\ref BGL_surface_mesh/surface_mesh_dual.cpp
|
||||
|
||||
Property forwarding
|
||||
-------------------
|
||||
\cgalHeading{Property Forwarding}
|
||||
\cgalAdvancedBegin
|
||||
Edge properties of the underlying graph are forwarded directly. For
|
||||
faces and vertices only the `face_index` and `vertex_index` properties
|
||||
|
|
|
|||
|
|
@ -650,6 +650,17 @@ degree(typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, HIM
|
|||
return v_deg;
|
||||
}
|
||||
|
||||
template<typename Graph,
|
||||
typename FIMap,
|
||||
typename VIMap,
|
||||
typename HIMap>
|
||||
typename boost::graph_traits<Graph>::degree_size_type
|
||||
degree(typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, HIMap> >::face_descriptor f,
|
||||
const Face_filtered_graph<Graph, FIMap, VIMap, HIMap>& w)
|
||||
{
|
||||
return degree(f, w.graph());
|
||||
}
|
||||
|
||||
template<typename Graph,
|
||||
typename FIMap,
|
||||
typename VIMap,
|
||||
|
|
@ -944,8 +955,7 @@ template<typename Graph,
|
|||
typename FIMap,
|
||||
typename VIMap,
|
||||
typename HIMap>
|
||||
std::pair<typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, HIMap> >::halfedge_iterator,
|
||||
typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, HIMap> >::halfedge_iterator>
|
||||
Iterator_range<typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, HIMap> >::halfedge_iterator>
|
||||
halfedges(const Face_filtered_graph<Graph, FIMap, VIMap, HIMap> & w)
|
||||
{
|
||||
typedef typename boost::graph_traits<Face_filtered_graph<Graph, FIMap, VIMap, HIMap> >::halfedge_iterator halfedge_iterator;
|
||||
|
|
|
|||
|
|
@ -118,8 +118,7 @@ The class `Graph_with_descriptor_with_graph` wraps a graph into another graph in
|
|||
For example, calling `source(edge, graph)` will trigger an assertion if `edge` does not belong to `graph`.
|
||||
It is mainly used for debugging purposes.
|
||||
|
||||
Property forwarding
|
||||
-------------------
|
||||
\cgalHeading{Property Forwarding}
|
||||
All internal properties of the underlying graph are forwarded.
|
||||
|
||||
Property maps can be wrapped with `Graph_with_descriptor_with_graph_property_map`.
|
||||
|
|
|
|||
|
|
@ -22,24 +22,24 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `BarycentricTraits_2`
|
||||
- `BarycentricCoordinates_2`
|
||||
|
||||
## Namespaces ##
|
||||
\cgalCRPSection{Namespaces}
|
||||
- `CGAL::Barycentric_coordinates`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{General Classes}
|
||||
- `CGAL::Barycentric_coordinates::Segment_coordinates_2<Traits>`
|
||||
- `CGAL::Barycentric_coordinates::Triangle_coordinates_2<Traits>`
|
||||
- `CGAL::Barycentric_coordinates::Generalized_barycentric_coordinates_2<Coordinate_2, Traits>`
|
||||
|
||||
## ##
|
||||
\cgalCRPSection{Models of `BarycentricCoordinates_2`}
|
||||
- `CGAL::Barycentric_coordinates::Wachspress_2<Traits>`
|
||||
- `CGAL::Barycentric_coordinates::Mean_value_2<Traits>`
|
||||
- `CGAL::Barycentric_coordinates::Discrete_harmonic_2<Traits>`
|
||||
|
||||
## Enumerations ##
|
||||
\cgalCRPSection{Enumerations}
|
||||
- `CGAL::Barycentric_coordinates::Query_point_location`
|
||||
- `CGAL::Barycentric_coordinates::Type_of_algorithm`
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ containment predicates.
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `GpsTraitsGeneralPolygon_2`
|
||||
- `GpsTraitsGeneralPolygonWithHoles_2`
|
||||
- `GeneralPolygon_2`
|
||||
|
|
@ -43,7 +43,7 @@ containment predicates.
|
|||
- `GeneralPolygonSetDcelFace`
|
||||
- `GeneralPolygonSetDcelHalfedge`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Polygon_set_2<Kernel,Container,Dcel>`
|
||||
- `CGAL::General_polygon_set_2<Traits,Dcel>`
|
||||
- `CGAL::General_polygon_2<ArrTraits>`
|
||||
|
|
@ -53,7 +53,7 @@ containment predicates.
|
|||
- `CGAL::Gps_traits_2<ArrTraits,GeneralPolygon>`
|
||||
- `CGAL::Gps_default_dcel<Traits>`
|
||||
|
||||
## Functions ##
|
||||
\cgalCRPSection{Functions}
|
||||
- \link boolean_complement `CGAL::complement()` \endlink
|
||||
- \link boolean_do_intersect `CGAL::do_intersect()` \endlink
|
||||
- \link boolean_intersection `CGAL::intersection()` \endlink
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* Using the traits adaptor to generate a traits class for Bezier polygons.
|
||||
*/
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* Using the traits adaptor to generate a traits class for Bezier polygons.
|
||||
*/
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* Using the traits adaptor to generate a traits of conics.
|
||||
*/
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/config.h>
|
||||
|
||||
#ifndef CGAL_USE_CORE
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@
|
|||
// $Id$
|
||||
// SPDX-License-Identifier: GPL-3.0+
|
||||
//
|
||||
// Author(s) : Baruch Zukerman <baruchzu@post.tau.ac.il>
|
||||
// Author(s): Baruch Zukerman <baruchzu@post.tau.ac.il>
|
||||
// Efi Fogel <efifogel@gmail.com>
|
||||
|
||||
#ifndef CGAL_GPS_TRAITS_ADAPTOR_H
|
||||
#define CGAL_GPS_TRAITS_ADAPTOR_H
|
||||
|
|
@ -105,76 +106,87 @@ public:
|
|||
friend class Gps_traits_adaptor<Base>;
|
||||
|
||||
public:
|
||||
template <class CurveInputIteraor>
|
||||
Orientation operator()(CurveInputIteraor begin,
|
||||
CurveInputIteraor end) const
|
||||
template <typename CurveInputIteraor>
|
||||
Orientation operator()(CurveInputIteraor begin, CurveInputIteraor end) const
|
||||
{
|
||||
Compare_xy_2 cmp_xy = m_traits.compare_xy_2_object();
|
||||
Compare_y_at_x_right_2 cmp_y_at_x_right =
|
||||
m_traits.compare_y_at_x_right_2_object();
|
||||
Construct_vertex_2 ctr_v = m_traits.construct_vertex_2_object();
|
||||
Compare_endpoints_xy_2 cmp_endpoints_xy =
|
||||
m_traits.compare_endpoints_xy_2_object();
|
||||
|
||||
CurveInputIteraor from_left_most = begin;
|
||||
CurveInputIteraor into_left_most = end;
|
||||
CurveInputIteraor into_leftmost = end;
|
||||
CurveInputIteraor from_leftmost = end;
|
||||
|
||||
Point_2 left_most_v = ctr_v(*from_left_most, 0);
|
||||
CurveInputIteraor into = end;
|
||||
--into;
|
||||
for (CurveInputIteraor ci = begin; ci != end; ++ci) {
|
||||
CurveInputIteraor from = ci;
|
||||
|
||||
--into_left_most;
|
||||
/* We are only concerned with the following case:
|
||||
* o
|
||||
* / <= from or into
|
||||
* /
|
||||
* o
|
||||
* \
|
||||
* \ <= into or from, resp.
|
||||
* o
|
||||
*/
|
||||
Comparison_result res_from = cmp_endpoints_xy(*from);
|
||||
Comparison_result res_into = cmp_endpoints_xy(*into);
|
||||
if ((SMALLER != res_from) || (LARGER != res_into)) {
|
||||
into = from;
|
||||
continue;
|
||||
}
|
||||
|
||||
CurveInputIteraor ci = from_left_most;
|
||||
if (from_leftmost == end) {
|
||||
// First occurance
|
||||
from_leftmost = from;
|
||||
into_leftmost = into;
|
||||
into = from;
|
||||
continue;
|
||||
}
|
||||
|
||||
for (++ci ; ci != end; ++ci) {
|
||||
Comparison_result res_xy = cmp_xy( ctr_v(*ci, 0), left_most_v);
|
||||
if (res_xy == LARGER) continue;
|
||||
const Point_2& v = ctr_v(*from, 0);
|
||||
const Point_2& v_leftmost = ctr_v(*from_leftmost, 0);
|
||||
Comparison_result res_xy = cmp_xy(v, v_leftmost);
|
||||
if (res_xy == LARGER) {
|
||||
into = from;
|
||||
continue;
|
||||
}
|
||||
if (res_xy == SMALLER) {
|
||||
left_most_v = ctr_v(*ci, 0);
|
||||
from_left_most = into_left_most = ci;
|
||||
--into_left_most;
|
||||
from_leftmost = from;
|
||||
into_leftmost = into;
|
||||
into = from;
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
// res_xy == EQUAL
|
||||
CurveInputIteraor tmp_from_left_most = ci;
|
||||
CurveInputIteraor tmp_into_left_most = ci;
|
||||
--tmp_into_left_most;
|
||||
|
||||
Comparison_result res_from = cmp_y_at_x_right(*from_left_most,
|
||||
*tmp_from_left_most,
|
||||
left_most_v);
|
||||
// res_xy == EQUAL
|
||||
Comparison_result res_from_leftmost_into =
|
||||
cmp_y_at_x_right(*from_leftmost, *into, v_leftmost);
|
||||
|
||||
Comparison_result res_to = cmp_y_at_x_right(*into_left_most,
|
||||
*tmp_into_left_most,
|
||||
left_most_v);
|
||||
CGAL_assertion_code
|
||||
(Comparison_result res_into_leftmost_from =
|
||||
cmp_y_at_x_right(*into_leftmost, *from, v_leftmost));
|
||||
CGAL_assertion((res_from_leftmost_into != EQUAL) &&
|
||||
(res_from_leftmost_into != res_into_leftmost_from));
|
||||
Comparison_result res_into_from =
|
||||
cmp_y_at_x_right(*into_leftmost, *from_leftmost, v_leftmost);
|
||||
CGAL_assertion(res_into_from != EQUAL);
|
||||
|
||||
CGAL_assertion(res_from != EQUAL && res_to != EQUAL);
|
||||
if(res_from == LARGER && res_to == SMALLER)
|
||||
{
|
||||
if(cmp_y_at_x_right(*tmp_from_left_most,
|
||||
*into_left_most,
|
||||
left_most_v) == LARGER)
|
||||
{
|
||||
from_left_most = tmp_from_left_most;
|
||||
into_left_most = tmp_into_left_most;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (res_from == SMALLER && res_to == LARGER) {
|
||||
if (cmp_y_at_x_right(*tmp_into_left_most,
|
||||
*from_left_most,
|
||||
left_most_v) == LARGER)
|
||||
{
|
||||
from_left_most = tmp_from_left_most;
|
||||
into_left_most = tmp_into_left_most;
|
||||
}
|
||||
}
|
||||
if (res_into_from == res_from_leftmost_into) {
|
||||
from_leftmost = from;
|
||||
into_leftmost = into;
|
||||
}
|
||||
}// end for
|
||||
Comparison_result res = cmp_y_at_x_right(*into_left_most,
|
||||
*from_left_most,
|
||||
left_most_v);
|
||||
into = from;
|
||||
}
|
||||
|
||||
const Point_2& v_leftmost = ctr_v(*from_leftmost, 0);
|
||||
Comparison_result res =
|
||||
cmp_y_at_x_right(*into_leftmost, *from_leftmost, v_leftmost);
|
||||
CGAL_assertion(res != EQUAL);
|
||||
if(res == SMALLER)
|
||||
return (CLOCKWISE);
|
||||
return (COUNTERCLOCKWISE);
|
||||
return (res == SMALLER) ? CLOCKWISE : COUNTERCLOCKWISE;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -16,10 +16,7 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -16,10 +16,7 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -14,3 +14,4 @@
|
|||
5 1
|
||||
3 1
|
||||
|
||||
0
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
6
|
||||
0 5
|
||||
1 3
|
||||
2 2
|
||||
0 5
|
||||
3 1
|
||||
4 0
|
||||
|
||||
0
|
||||
|
||||
1
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
6
|
||||
2 1
|
||||
3 0
|
||||
5 4
|
||||
2 1
|
||||
1 3
|
||||
0 2
|
||||
0
|
||||
1
|
||||
|
|
@ -15,4 +15,4 @@
|
|||
6 8
|
||||
7 6
|
||||
|
||||
|
||||
0
|
||||
|
|
@ -17,3 +17,5 @@
|
|||
5 5
|
||||
7 5
|
||||
7 4
|
||||
|
||||
0
|
||||
|
|
@ -16,3 +16,5 @@
|
|||
2 6
|
||||
6 6
|
||||
6 2
|
||||
|
||||
0
|
||||
|
|
@ -16,3 +16,5 @@
|
|||
2 6
|
||||
6 6
|
||||
6 2
|
||||
|
||||
0
|
||||
|
|
@ -13,3 +13,5 @@
|
|||
2 6
|
||||
4 6
|
||||
4 0
|
||||
|
||||
0
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
6
|
||||
0 2
|
||||
4 2
|
||||
6 0
|
||||
6 4
|
||||
6 0
|
||||
4 2
|
||||
2 4
|
||||
|
||||
0
|
||||
|
||||
|
||||
|
||||
0
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
6
|
||||
0 2
|
||||
4 2
|
||||
6 4
|
||||
6 0
|
||||
6 4
|
||||
4 2
|
||||
2 4
|
||||
|
||||
0
|
||||
|
||||
|
||||
|
||||
1
|
||||
|
|
@ -17,3 +17,5 @@
|
|||
4 4
|
||||
2 6
|
||||
6 6
|
||||
|
||||
1
|
||||
|
|
@ -17,10 +17,8 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -18,10 +18,7 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -18,10 +18,7 @@
|
|||
//typedef CGAL::Quotient<CGAL::MP_Float> Number_type;
|
||||
typedef int Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Gps_segment_traits_2<Kernel> Traits;
|
||||
typedef CGAL::Polygon_set_2<Kernel> Ps;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
/*test file for polygon validation. Intended for testing the global functions defined at Gps_polygon_validation.h*/
|
||||
/* test file for polygon validation. Intended for testing the global functions
|
||||
* defined at Gps_polygon_validation.h
|
||||
*/
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/assertions_behaviour.h>
|
||||
|
|
@ -7,81 +9,85 @@
|
|||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Gps_segment_traits_2.h>
|
||||
#include <CGAL/Boolean_set_operations_2.h>
|
||||
#include <CGAL/Boolean_set_operations_2/Gps_polygon_validation.h>
|
||||
#include <CGAL/Boolean_set_operations_2/Gps_polygon_validation.h>
|
||||
#include <iterator>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
|
||||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
typedef CGAL::Cartesian<Number_type> Kernel;
|
||||
typedef CGAL::Gps_segment_traits_2<Kernel> Traits_2;
|
||||
typedef Traits_2::Polygon_2 Polygon_2;
|
||||
typedef Traits_2::Polygon_with_holes_2 Polygon_with_holes_2;
|
||||
|
||||
/*test files:
|
||||
/* test files:
|
||||
* 1. test1.dat---invalid polygon with holes. The hole is relatively simple
|
||||
* instead of strictly simple.
|
||||
* 2. test2.dat---invalid polygon with holes. The hole overlaps the outer
|
||||
* boundary (the intersection results in a polygon).
|
||||
* 3. test3.dat---invalid polygon with holes. Two holes intersect (the
|
||||
* intersection results in a polygon).
|
||||
* 4. test4.dat---invalid polygon with holes. Two holes intersect (one
|
||||
* contains the other).
|
||||
* 5. test5.dat---invalid polygon with holes. Two holes share an edge. (non
|
||||
* regularized intersection results in an edge).
|
||||
* 6. test6.dat---invalid polygon with holes. A hole and the outer boundary
|
||||
* share an edge. (non regularized intersection results in an
|
||||
* edge).
|
||||
* 7. test7.dat---invalid polygon with holes. The outer boundary is not
|
||||
* relatively simple because a "crossover" occurs at an
|
||||
* intersection
|
||||
* 8. test8.dat---valid polygon with holes. Outer boundary is relatively
|
||||
* simple, case 1.
|
||||
* 9. test9.dat---valid polygon with holes. Outer Boundary and holes are
|
||||
* pairwise disjoint except on vertices
|
||||
* 10. test10.dat---valid polygon with holes. Outer boundary is relatively
|
||||
* simple, case 2.
|
||||
*
|
||||
* test an input file. is_valid indicates the input polygon is valid. ErrorMsg
|
||||
* is displayed if the validation result does't equal is_valid.
|
||||
*/
|
||||
|
||||
1. val_test1.dat - invalid polygon with holes. The hole is relatively simple instead of strictly simple.
|
||||
2. val_test2.dat - invalid polygon with holes. The hole overlaps the outer boundary (the intersection results in a polygon).
|
||||
3. val_test3.dat - invalid polygon with holes. Two holes intersect (the intersection results in a polygon).
|
||||
4. val_test4.dat - invalid polygon with holes. Two holes intersect (one contains the other).
|
||||
5. val_test5.dat - invalid polygon with holes. Two holes share an edge. (non regularized intersection
|
||||
results in an edge).
|
||||
6. val_test6.dat - invalid polygon with holes. A hole and the outer boundary share an edge. (non regularized intersection
|
||||
results in an edge).
|
||||
7. val_test7.dat - invalid polygon with holes. The outer boundary is not relatively simple because a "crossover" occurs
|
||||
at an intersection
|
||||
8. val_test8.dat - valid polygon with holes. Outer boundary is relatively simple.
|
||||
9. val_test9.dat - valid polygon with holes. Outer Boundary and holes are pairwise disjoint except on vertices
|
||||
*/
|
||||
|
||||
|
||||
/*test an input file. isValid indicates the input polygon is valid. ErrorMsg is displayed if the validation result does't equal isValid */
|
||||
bool testValidationForFile(const char * infilename, std::ofstream & outfile ,
|
||||
bool isValid)
|
||||
bool test(const std::string& filename, std::ofstream& outfile)
|
||||
{
|
||||
std::ifstream input_file (infilename);
|
||||
std::ifstream input_file(filename.c_str());
|
||||
|
||||
if (! input_file.is_open()) {
|
||||
std::cerr << "Failed to open the " << infilename <<std::endl;
|
||||
std::cerr << "Failed to open the " << filename << std::endl;
|
||||
return (false);
|
||||
}
|
||||
// Read a polygon with holes from a file.
|
||||
Polygon_2 outerP;
|
||||
unsigned int num_holes;
|
||||
Polygon_2 outer_pgn;
|
||||
size_t num_holes;
|
||||
bool is_valid;
|
||||
|
||||
input_file >> outerP;
|
||||
input_file >> outer_pgn;
|
||||
input_file >> num_holes;
|
||||
std::vector<Polygon_2> holes(num_holes);
|
||||
for (size_t k = 0; k < num_holes; ++k) input_file >> holes[k];
|
||||
input_file >> is_valid;
|
||||
|
||||
std::vector<Polygon_2> holes (num_holes);
|
||||
unsigned int k;
|
||||
|
||||
for (k = 0; k < num_holes; k++)
|
||||
input_file >> holes[k];
|
||||
Polygon_with_holes_2 P (outerP, holes.begin(), holes.end());
|
||||
Traits_2 tr;
|
||||
bool testValid = CGAL::is_valid_polygon_with_holes(P,tr);
|
||||
Polygon_with_holes_2 P(outer_pgn, holes.begin(), holes.end());
|
||||
Traits_2 tr;
|
||||
bool test_valid = CGAL::is_valid_polygon_with_holes(P, tr);
|
||||
bool res = true;
|
||||
if (testValid != isValid) {
|
||||
res=false;
|
||||
outfile<< "Error validating " << infilename <<std::endl;
|
||||
if (test_valid != is_valid) {
|
||||
res = false;
|
||||
outfile << "Error validating " << filename <<std::endl;
|
||||
//outfile << "P = " ;
|
||||
//print_polygon_with_holes (P);
|
||||
outfile<<std::endl;
|
||||
}
|
||||
outfile << std::endl;
|
||||
}
|
||||
input_file.close();
|
||||
return res;
|
||||
}
|
||||
|
||||
void
|
||||
special_warnings(const char *,
|
||||
const char* expr,
|
||||
const char* file,
|
||||
int line,
|
||||
const char* msg )
|
||||
void special_warnings(const char*, const char* expr, const char* file, int line,
|
||||
const char* msg)
|
||||
{
|
||||
std::cerr << " // CGAL: check violation! THIS MESSAGE IS PROBABLY WANTED." << std::endl
|
||||
std::cerr << " // CGAL: check violation! THIS MESSAGE IS PROBABLY WANTED."
|
||||
<< std::endl
|
||||
<< " // Expression : " << expr << std::endl
|
||||
<< " // File : " << file << std::endl
|
||||
<< " // Line : " << line << std::endl
|
||||
|
|
@ -94,42 +100,35 @@ int main()
|
|||
{
|
||||
std::cerr << "Modify the w-a-r-n-i-n-g-s handler...\n";
|
||||
CGAL::set_warning_handler(special_warnings);
|
||||
std::string testfilePrefix = "data/validation/val_test";
|
||||
std::string testfileSuffix = ".dat";
|
||||
const char* outputfilename = "data/validation/validation_test_output.txt";
|
||||
std::ofstream output_file (outputfilename);
|
||||
std::string testfile_prefix("data/validation/test");
|
||||
std::string testfile_suffix(".dat");
|
||||
const char* output_filename("data/validation/validation_test_output.txt");
|
||||
std::ofstream output_file (output_filename);
|
||||
if (! output_file.is_open()) {
|
||||
std::cerr << "Failed to open the " << outputfilename <<std::endl;
|
||||
std::cerr << "Failed to open the " << output_filename <<std::endl;
|
||||
return (1);
|
||||
}
|
||||
|
||||
int result = 0;
|
||||
for (int i=1;i<10;i++) {
|
||||
|
||||
int result = 0;
|
||||
for (size_t i = 1; i < 11; ++i) {
|
||||
std::stringstream strs;
|
||||
std::string si;
|
||||
strs << i;
|
||||
strs >> si;
|
||||
std::string filename = testfilePrefix + si + testfileSuffix;
|
||||
const char *cfilename = filename.c_str();
|
||||
bool isValidPgn=false;
|
||||
if (i>7)
|
||||
isValidPgn=true;
|
||||
bool res = testValidationForFile(cfilename, output_file, isValidPgn);
|
||||
strs >> si;
|
||||
std::string filename = testfile_prefix + si + testfile_suffix;
|
||||
bool res = test(filename, output_file);
|
||||
if (!res) {
|
||||
std::cout << "test " << i << " failed" << std::endl;
|
||||
result=1;
|
||||
}
|
||||
std::cout << "test " << i << " failed" << std::endl;
|
||||
result = 1;
|
||||
}
|
||||
else {
|
||||
std::cout <<"test " << i << " succeeded" << std::endl;
|
||||
std::cout <<"test " << i << " succeeded" << std::endl;
|
||||
}
|
||||
}
|
||||
if (result == 0)
|
||||
std::cout <<"ALL TESTS SUCCEEDED!" << std::endl;
|
||||
else
|
||||
{
|
||||
std::cout <<"SOME TESTS FAILED" << std::endl;
|
||||
if (result != 0) {
|
||||
std::cout << "SOME TESTS FAILED" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
return (0);
|
||||
std::cout << "ALL TESTS SUCCEEDED!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
\cgalPkgShortInfoEnd
|
||||
\cgalPkgDescriptionEnd
|
||||
|
||||
## Assertions ##
|
||||
\cgalCRPSection{Assertions}
|
||||
|
||||
The optimization code uses infix `OPTIMISATION` in the assertions,
|
||||
e.g. defining the compiler flag
|
||||
|
|
@ -29,7 +29,7 @@ checking off, cf. Section \ref secchecks.
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Bounding Areas and Volumes ##
|
||||
\cgalCRPSection{Bounding Areas and Volumes}
|
||||
|
||||
- `CGAL::Min_circle_2<Traits>`
|
||||
- `CGAL::Min_circle_2_traits_2<K>`
|
||||
|
|
|
|||
|
|
@ -39,16 +39,16 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Concepts ##
|
||||
\cgalCRPSection{Concepts}
|
||||
- `BoxIntersectionBox_d`
|
||||
- `BoxIntersectionTraits_d`
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Box_intersection_d::Box_d<NT,int D,IdPolicy>`
|
||||
- `CGAL::Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy>`
|
||||
- `CGAL::Box_intersection_d::Box_traits_d<BoxHandle>`
|
||||
|
||||
## Functions ##
|
||||
\cgalCRPSection{Functions}
|
||||
- `CGAL::box_intersection_d`
|
||||
- `CGAL::box_self_intersection_d`
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,9 @@ if ( CGAL_FOUND )
|
|||
set(CGAL_IPELETS ${CGAL_IPELETS} circle_pencils)
|
||||
set(CGAL_IPELETS ${CGAL_IPELETS} hyperbolic)
|
||||
set(CGAL_IPELETS ${CGAL_IPELETS} distance)
|
||||
set(CGAL_IPELETS ${CGAL_IPELETS} cone_spanners)
|
||||
if(CGAL_Core_FOUND)
|
||||
set(CGAL_IPELETS ${CGAL_IPELETS} cone_spanners)
|
||||
endif()
|
||||
|
||||
|
||||
if ( IPELET_INSTALL_DIR )
|
||||
|
|
@ -149,7 +151,9 @@ if ( CGAL_FOUND )
|
|||
endif ()
|
||||
cgal_add_compilation_test(CGAL_${IPELET})
|
||||
endforeach(IPELET)
|
||||
target_link_libraries(CGAL_cone_spanners PRIVATE CGAL::CGAL_Core)
|
||||
if(CGAL_Core_FOUND)
|
||||
target_link_libraries(CGAL_cone_spanners PRIVATE CGAL::CGAL_Core)
|
||||
endif()
|
||||
#example in doc not installed
|
||||
add_library(simple_triangulation MODULE simple_triangulation.cpp)
|
||||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS simple_triangulation)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Classes ##
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Ipelet_base<Kernel,int nbf>`
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -66,20 +66,20 @@ namespace CGAL{
|
|||
ipe::TSelect get_selection_type() const { return get_IpePage()->primarySelection()==-1 ? ipe::EPrimarySelected : ipe::ESecondarySelected;}
|
||||
//ipe6 compatibility
|
||||
void transform_selected_objects_(const IpeMatrix& tfm) const {
|
||||
for (int i=0;i<get_IpePage()->count();++i)
|
||||
for (int i=0;i<static_cast<int>(get_IpePage()->count());++i)
|
||||
if (get_IpePage()->select(i)!=ipe::ENotSelected)
|
||||
get_IpePage()->transform(i,tfm);
|
||||
}
|
||||
|
||||
void delete_selected_objects_() const {
|
||||
for (unsigned i=get_IpePage()->count();i>0;--i)
|
||||
for (unsigned i=static_cast<unsigned>(get_IpePage()->count());i>0;--i)
|
||||
if (get_IpePage()->select(i-1)!=ipe::ENotSelected)
|
||||
get_IpePage()->remove(i-1);
|
||||
}
|
||||
|
||||
void group_selected_objects_() const {
|
||||
ipe::Group* grp=new ipe::Group();
|
||||
for (unsigned i=get_IpePage()->count();i>0;--i)
|
||||
for (unsigned i=static_cast<unsigned>(get_IpePage()->count());i>0;--i)
|
||||
if (get_IpePage()->select(i-1)!=ipe::ENotSelected){
|
||||
grp->push_back( get_IpePage()->object(i-1)->clone() );
|
||||
//~ grp->push_back( get_IpePage()->object(i-1) );
|
||||
|
|
@ -276,7 +276,7 @@ public:
|
|||
return Iso_rectangle_2();
|
||||
}
|
||||
|
||||
for (int i=0;i<get_IpePage()->count();++i){
|
||||
for (int i=0;i<static_cast<int>(static_cast<int>(get_IpePage()->count()));++i){
|
||||
if (get_IpePage()->select(i)==ipe::ENotSelected)
|
||||
continue;
|
||||
|
||||
|
|
@ -308,7 +308,7 @@ public:
|
|||
create_polygon_with_holes(bool delete_underlying_polygons=false) const
|
||||
{
|
||||
std::list<ipe::SubPath*> SSPqu;
|
||||
for (int i=0;i<get_IpePage()->count();++i){
|
||||
for (int i=0;i<static_cast<int>(get_IpePage()->count());++i){
|
||||
if (get_IpePage()->select(i)!=ipe::ENotSelected && get_IpePage()->object(i)->asPath()->shape().subPath(0)->closed() ){
|
||||
ipe::SubPath* ssp=new ipe::Curve(*get_IpePage()->object(i)->asPath()->shape().subPath(0)->asCurve());
|
||||
SSPqu.push_back(ssp);
|
||||
|
|
@ -329,7 +329,7 @@ public:
|
|||
{
|
||||
ipe::Vector paper_size=get_paper_size();
|
||||
ipe::Matrix tfm (1,0,0,1,paper_size.x/2.,paper_size.y/2.);
|
||||
for (int i=0;i<get_IpePage()->count();++i)
|
||||
for (int i=0;i<static_cast<int>(get_IpePage()->count());++i)
|
||||
if (get_IpePage()->select(i)!=ipe::ENotSelected )
|
||||
get_IpePage()->transform(i,tfm);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,11 +40,11 @@
|
|||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
## Geometric Concepts ##
|
||||
\cgalCRPSection{Geometric Concepts}
|
||||
|
||||
- `CircularKernel`
|
||||
|
||||
### Functors ###
|
||||
\cgalCRPSubsection{Functors}
|
||||
|
||||
- `CircularKernel::ConstructLine_2`
|
||||
- `CircularKernel::ConstructCircle_2`
|
||||
|
|
@ -80,23 +80,23 @@
|
|||
- `CircularKernel::Split_2`
|
||||
- `CircularKernel::GetEquation`
|
||||
|
||||
## Geometric Kernels and Classes ##
|
||||
\cgalCRPSection{Geometric Kernels and Classes}
|
||||
|
||||
### Kernels ###
|
||||
\cgalCRPSubsection{Kernels}
|
||||
|
||||
- `CGAL::Circular_kernel_2<Kernel,AlgebraicKernelForCircles>`
|
||||
- `CGAL::Exact_circular_kernel_2`
|
||||
|
||||
### Points ###
|
||||
\cgalCRPSubsection{Points}
|
||||
|
||||
- `CGAL::Circular_arc_point_2<CircularKernel>`
|
||||
|
||||
### Arcs ###
|
||||
\cgalCRPSubsection{Arcs}
|
||||
|
||||
- `CGAL::Circular_arc_2<CircularKernel>`
|
||||
- `CGAL::Line_arc_2<CircularKernel>`
|
||||
|
||||
## Geometric Global Functions ##
|
||||
\cgalCRPSection{Geometric Global Functions}
|
||||
|
||||
- \link compare_x_circular_grp `CGAL::compare_x()` \endlink
|
||||
- \link compare_y_circular_grp `CGAL::compare_y()` \endlink
|
||||
|
|
@ -114,11 +114,11 @@
|
|||
- `CGAL::make_x_monotone()`
|
||||
- `CGAL::make_xy_monotone()`
|
||||
|
||||
## Algebraic Concepts ##
|
||||
\cgalCRPSection{Algebraic Concepts}
|
||||
|
||||
- `AlgebraicKernelForCircles`
|
||||
|
||||
### Functors ###
|
||||
\cgalCRPSubsection{Functors}
|
||||
|
||||
|
||||
- `AlgebraicKernelForCircles::ConstructPolynomial_1_2`
|
||||
|
|
@ -131,18 +131,18 @@
|
|||
- `AlgebraicKernelForCircles::YCriticalPoints`
|
||||
- `AlgebraicKernelForCircles::Solve`
|
||||
|
||||
## Algebraic %Kernel and Classes ##
|
||||
\cgalCRPSection{Algebraic %Kernel and Classes}
|
||||
|
||||
### %Kernel ###
|
||||
\cgalCRPSubsection{%Kernel}
|
||||
|
||||
- `CGAL::Algebraic_kernel_for_circles_2_2<RT>`
|
||||
|
||||
### Polynomials ###
|
||||
\cgalCRPSubsection{Polynomials}
|
||||
|
||||
- `CGAL::Polynomial_1_2<RT>`
|
||||
- `CGAL::Polynomial_for_circles_2_2<FT>`
|
||||
|
||||
### Roots of Polynomials ###
|
||||
\cgalCRPSubsection{Roots of Polynomials}
|
||||
|
||||
- `CGAL::Sqrt_extension<NT,ROOT>`
|
||||
- `CGAL::Root_for_circles_2_2<FT>`
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include <CGAL/Exact_circular_kernel_2.h>
|
||||
#include <CGAL/point_generators_2.h>
|
||||
#include <iostream>
|
||||
|
||||
typedef CGAL::Exact_circular_kernel_2 Circular_k;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include <CGAL/Exact_circular_kernel_2.h>
|
||||
#include <CGAL/point_generators_2.h>
|
||||
#include <iostream>
|
||||
|
||||
typedef CGAL::Exact_circular_kernel_2 Circular_k;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,11 +11,13 @@ find_package(CGAL QUIET)
|
|||
if ( CGAL_FOUND )
|
||||
|
||||
include_directories (BEFORE include)
|
||||
|
||||
# The following `include_directories` is used in the git layout
|
||||
include_directories (BEFORE ../../../Kernel_23/test/Kernel_23/include)
|
||||
|
||||
# The following `include_directories` is used in the layout of the
|
||||
# internal releases tarballs
|
||||
include_directories (BEFORE ../Kernel_23/include)
|
||||
include_directories (BEFORE ../Cartesian_kernel/include)
|
||||
include_directories (BEFORE ../Homogeneous_kernel/include)
|
||||
include_directories (BEFORE ../Intersections_2/include)
|
||||
|
||||
create_single_source_cgal_program( "test_Circular_kernel.cpp" )
|
||||
create_single_source_cgal_program( "test_Lazy_circular_kernel.cpp" )
|
||||
|
|
|
|||
|
|
@ -26,11 +26,7 @@
|
|||
|
||||
#include <CGAL/internal/disable_deprecation_warnings_and_errors.h>
|
||||
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Exact_circular_kernel_2.h>
|
||||
#include <CGAL/intersections.h>
|
||||
#include <CGAL/Circular_kernel_intersections.h>
|
||||
#include <iostream>
|
||||
|
||||
typedef CGAL::Exact_circular_kernel_2 CK;
|
||||
|
||||
|
|
|
|||
|
|
@ -32,8 +32,6 @@
|
|||
#include <CGAL/MP_Float.h>
|
||||
#include <CGAL/Quotient.h>
|
||||
#include <CGAL/Filtered_bbox_circular_kernel_2.h>
|
||||
#include <CGAL/intersections.h>
|
||||
#include <iostream>
|
||||
|
||||
typedef CGAL::MP_Float RT;
|
||||
typedef CGAL::Quotient<RT> NT1;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue