Merge branch 'master' into CGAL-GlobalCMakeListsForEachPackage-jtournois

This commit is contained in:
Laurent Rineau 2024-09-11 17:10:28 +02:00 committed by GitHub
commit 2601f1332f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
825 changed files with 8491 additions and 4412 deletions

View File

@ -12,15 +12,15 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: REUSE version - name: REUSE version
uses: fsfe/reuse-action@v3 uses: fsfe/reuse-action@v4
with: with:
args: --version args: --version
- name: REUSE lint - name: REUSE lint
uses: fsfe/reuse-action@v3 uses: fsfe/reuse-action@v4
with: with:
args: --include-submodules lint args: --include-submodules lint
- name: REUSE SPDX SBOM - name: REUSE SPDX SBOM
uses: fsfe/reuse-action@v3 uses: fsfe/reuse-action@v4
with: with:
args: spdx args: spdx
- name: install dependencies - name: install dependencies
@ -30,6 +30,6 @@ jobs:
mkdir -p ./release mkdir -p ./release
cmake -DDESTINATION=./release -DCGAL_VERSION=9.9 -P ./Scripts/developer_scripts/cgal_create_release_with_cmake.cmake cmake -DDESTINATION=./release -DCGAL_VERSION=9.9 -P ./Scripts/developer_scripts/cgal_create_release_with_cmake.cmake
- name: REUSE lint release tarball - name: REUSE lint release tarball
uses: fsfe/reuse-action@v3 uses: fsfe/reuse-action@v4
with: with:
args: --root ./release/CGAL-9.9 --include-submodules lint args: --root ./release/CGAL-9.9 --include-submodules lint

View File

@ -1,12 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: CGAL
Upstream-Contact: CGAL Editorial Board <info@cgal.org>
Source: https://github.com/CGAL/cgal
Files: .* *.cmake *.md .github/* Maintenance/* */TODO */doc/* */deb/* */applications/* */doc_html/* */scripts/* */developer_scripts/* */demo/* */examples/* */src/* */test/* */benchmarks/* */benchmark/* */package_info/* */data/* */cmake/*
Copyright: 1995-2023 The CGAL Project
License: CC0-1.0
Files: CMakeLists.txt GraphicsView/include/CGAL/Qt/ImageInterface.ui GraphicsView/include/CGAL/Qt/resources/qglviewer-icon.xpm Installation/AUTHORS Installation/CMakeLists.txt Installation/README Installation/auxiliary/cgal_create_cmake_script.1 Installation/auxiliary/gmp/README Installation/include/CGAL/license/gpl_package_list.txt MacOSX/auxiliary/cgal_app.icns copyright
Copyright: 1995-2023 The CGAL Project
License: CC0-1.0

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(AABB_traits_benchmark) project(AABB_traits_benchmark)
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core)

View File

@ -1,6 +1,6 @@
# This is the CMake script for compiling the AABB tree demo. # This is the CMake script for compiling the AABB tree demo.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(AABB_tree_Demo) project(AABB_tree_Demo)
# Find includes in corresponding build directories # Find includes in corresponding build directories

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(AABB_tree_Examples) project(AABB_tree_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(AABB_tree_Tests) project(AABB_tree_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Advancing_front_surface_reconstruction_Examples) project(Advancing_front_surface_reconstruction_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -126,7 +126,7 @@ int main (int argc, char* argv[])
Efficient_ransac ransac; Efficient_ransac ransac;
ransac.set_input(points); ransac.set_input(points);
ransac.add_shape_factory<Plane>(); // Only planes are useful for stucturing ransac.add_shape_factory<Plane>(); // Only planes are useful for structuring
// Default RANSAC parameters // Default RANSAC parameters
Efficient_ransac::Parameters op; Efficient_ransac::Parameters op;

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Advancing_front_surface_reconstruction_Tests) project(Advancing_front_surface_reconstruction_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Algebraic_foundations_Examples) project(Algebraic_foundations_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -426,7 +426,7 @@ void test_algebraic_structure_intern(
//commutative //commutative
assert(a+b+c==c+b+a); assert(a+b+c==c+b+a);
assert(a*b*c==c*b*a); assert(a*b*c==c*b*a);
//distributiv //distributive
assert((a-b)*c==a*c-b*c); assert((a-b)*c==a*c-b*c);
assert((a+b)*c==a*c+b*c); assert((a+b)*c==a*c+b*c);
//binom //binom

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Algebraic_foundations_Tests) project(Algebraic_foundations_Tests)
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Algebraic_kernel_d_Examples) project(Algebraic_kernel_d_Examples)
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)

View File

@ -1811,7 +1811,7 @@ public:
* An x-critical point (x,y) of \c f (or its induced curve) * An x-critical point (x,y) of \c f (or its induced curve)
* satisfies f(x,y) = f_y(x,y) = 0, * satisfies f(x,y) = f_y(x,y) = 0,
* where f_y means the derivative w.r.t. y. * where f_y means the derivative w.r.t. y.
* In pariticular, each singular point is x-critical. * In particular, each singular point is x-critical.
*/ */
class X_critical_points_2 : class X_critical_points_2 :
public CGAL::cpp98::binary_function< Curve_analysis_2, public CGAL::cpp98::binary_function< Curve_analysis_2,
@ -1890,7 +1890,7 @@ public:
* An y-critical point (x,y) of \c f (or its induced curve) * An y-critical point (x,y) of \c f (or its induced curve)
* satisfies f(x,y) = f_x(x,y) = 0, * satisfies f(x,y) = f_x(x,y) = 0,
* where f_x means the derivative w.r.t. x. * where f_x means the derivative w.r.t. x.
* In pariticular, each singular point is y-critical. * In particular, each singular point is y-critical.
*/ */
class Y_critical_points_2 : class Y_critical_points_2 :
public CGAL::cpp98::binary_function< Curve_analysis_2, public CGAL::cpp98::binary_function< Curve_analysis_2,

View File

@ -1153,7 +1153,7 @@ public:
/*! /*!
* \brief Constructor for a polynomial \c f * \brief Constructor for a polynomial \c f
* *
* See the documentation of the constrctor * See the documentation of the constructor
* with \c Square_free_descartes_tag * with \c Square_free_descartes_tag
*/ */
Bitstream_descartes(Polynomial f, Bitstream_descartes(Polynomial f,

View File

@ -135,7 +135,7 @@ public:
//! curve has vertical line at this x-coordinate //! curve has vertical line at this x-coordinate
mutable bool _m_vertical_line; mutable bool _m_vertical_line;
//! decsribes an event //! describes an event
mutable bool _m_event; mutable bool _m_event;
//! number of arcs running down the pole //! number of arcs running down the pole

View File

@ -268,7 +268,7 @@ void algebraic_number_test()
//simplify //simplify
{ {
// just a synatx check // just a syntax check
Algebraic_real_d_1(P_s2510,1,2).simplify(); Algebraic_real_d_1(P_s2510,1,2).simplify();
} }
} }

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Algebraic_kernel_d_Tests) project(Algebraic_kernel_d_Tests)
# CGAL and its components # CGAL and its components

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Algebraic_kernel_for_circles_Tests) project(Algebraic_kernel_for_circles_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Algebraic_kernel_for_spheres_Tests) project(Algebraic_kernel_for_spheres_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_shapes_2_Examples) project(Alpha_shapes_2_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_shapes_2_Tests) project(Alpha_shapes_2_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_shapes_3_Demo) project(Alpha_shapes_3_Demo)
# Find includes in corresponding build directories # Find includes in corresponding build directories

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_shapes_3_Examples) project(Alpha_shapes_3_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_shapes_3_Tests) project(Alpha_shapes_3_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_wrap_3_Benchmark) project(Alpha_wrap_3_Benchmark)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_wrap_3_Examples) project(Alpha_wrap_3_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1191,7 +1191,7 @@ private:
if(refining) if(refining)
{ {
// If we are re-using the triangulation, change the label of the extra elements // If we are reusing the triangulation, change the label of the extra elements
// that we have added to ensure a manifold result back to external ("manifold" -> "outside") // that we have added to ensure a manifold result back to external ("manifold" -> "outside")
reset_manifold_labels(); reset_manifold_labels();

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Alpha_wrap_3_Tests) project(Alpha_wrap_3_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Apollonius_graph_2_Examples) project(Apollonius_graph_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)

View File

@ -31,7 +31,7 @@ namespace ApolloniusGraph_2 {
//-------------------------------------------------------------------- //--------------------------------------------------------------------
// help functions for the compulation of various quantites // help functions for the compulation of various quantities
template < class FT > template < class FT >
inline FT inline FT

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Apollonius_graph_2_Tests) project(Apollonius_graph_2_Tests)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Arithmetic_kernel_Tests) project(Arithmetic_kernel_Tests)
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)

View File

@ -4,7 +4,7 @@
another chapter on "2D Arrangements on General Surfaces". another chapter on "2D Arrangements on General Surfaces".
This chapter can be much shorter, as all you can do with arrangements was This chapter can be much shorter, as all you can do with arrangements was
explained and demonstrated in the "2D Arrangements" chapter. We should explained and demonstrated in the "2D Arrangements" chapter. We should
however intorduce the concept of TopologyTraits, and re-interpret the however introduce the concept of TopologyTraits, and re-interpret the
functionality of the GeometryTraits. functionality of the GeometryTraits.
- Incoorporate: - Incoorporate:
@ -98,7 +98,7 @@
- The "planar" zone visitor is also used here. I believe this should work, - The "planar" zone visitor is also used here. I believe this should work,
as it is generic enough (I hope). as it is generic enough (I hope).
Can you test it by trying to incrementally insert curves to an Can you test it by trying to incrementally insert curves to an
arrrangement on a sphere. arrangement on a sphere.
- We can think of adding a test for the spherical topology, similar to the - We can think of adding a test for the spherical topology, similar to the
construction test developed by Baruch: Namely read n curves from a file, construction test developed by Baruch: Namely read n curves from a file,

View File

@ -30,7 +30,7 @@ int main (int argc, char *argv[])
std::cerr << "Usage: " << argv[0] << " <file name> <method>" std::cerr << "Usage: " << argv[0] << " <file name> <method>"
<< std::endl << std::endl
<< "method is either:" << std::endl << "method is either:" << std::endl
<< " -a for aggragated insertion;" << std::endl << " -a for aggregated insertion;" << std::endl
<< " -n for incremental insertion with naive point-location;" << " -n for incremental insertion with naive point-location;"
<< std::endl << std::endl
<< " -w for incremental insertion with walk point-location." << " -w for incremental insertion with walk point-location."

View File

@ -2,7 +2,7 @@
// of line segments it reads from a file. // of line segments it reads from a file.
// //
// Usage: seg_arr <-a | -n | -w> <input file> // Usage: seg_arr <-a | -n | -w> <input file>
// Where: -a -- Use aggragated insertion (sweep-line); // Where: -a -- Use aggregated insertion (sweep-line);
// -n -- Use incremental insertion with naive point-location; // -n -- Use incremental insertion with naive point-location;
// -w -- Use incremental insertion with walk point-location. // -w -- Use incremental insertion with walk point-location.
// //
@ -70,7 +70,7 @@ int main (int argc, char **argv)
std::cerr << "Usage: " << argv[0] << " <file name> <method> [format]" std::cerr << "Usage: " << argv[0] << " <file name> <method> [format]"
<< std::endl << std::endl
<< "method is either:" << std::endl << "method is either:" << std::endl
<< " -a for aggragated insertion;" << std::endl << " -a for aggregated insertion;" << std::endl
<< " -n for incremental insertion with naive point-location;" << " -n for incremental insertion with naive point-location;"
<< std::endl << std::endl
<< " -w for incremental insertion with walk point-location." << " -w for incremental insertion with walk point-location."

View File

@ -2,7 +2,7 @@
// of line segments it reads from a file. // of line segments it reads from a file.
// //
// Usage: seg_arr <-a | -n | -w> <input file> // Usage: seg_arr <-a | -n | -w> <input file>
// Where: -a -- Use aggragated insertion (sweep-line); // Where: -a -- Use aggregated insertion (sweep-line);
// -n -- Use incremental insertion with naive point-location; // -n -- Use incremental insertion with naive point-location;
// -w -- Use incremental insertion with walk point-location. // -w -- Use incremental insertion with walk point-location.
// //
@ -70,7 +70,7 @@ int main (int argc, char **argv)
std::cerr << "Usage: " << argv[0] << " <file name> <method> [format]" std::cerr << "Usage: " << argv[0] << " <file name> <method> [format]"
<< std::endl << std::endl
<< "method is either:" << std::endl << "method is either:" << std::endl
<< " -a for aggragated insertion;" << std::endl << " -a for aggregated insertion;" << std::endl
<< " -n for incremental insertion with naive point-location;" << " -n for incremental insertion with naive point-location;"
<< std::endl << std::endl
<< " -s for incremental insertion with simple point-location;" << " -s for incremental insertion with simple point-location;"

View File

@ -38,7 +38,6 @@ namespace Qt
{ {
class Callback; class Callback;
class ArrangementGraphicsItemBase; class ArrangementGraphicsItemBase;
class ArrangementGraphicsItemBase;
class GraphicsViewCurveInputBase; class GraphicsViewCurveInputBase;
class GraphicsViewNavigation; class GraphicsViewNavigation;
enum class CurveType; enum class CurveType;

View File

@ -1,6 +1,6 @@
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Arrangement_on_surface_2_Demo) project(Arrangement_on_surface_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) if(NOT POLICY CMP0070 AND POLICY CMP0053)

View File

@ -111,13 +111,10 @@ void CurveInputMethod::beginInput_()
static inline void clearPainterPath(QPainterPath& ppath) static inline void clearPainterPath(QPainterPath& ppath)
{ {
#if (QT_VERSION >= QT_VERSION_CHECK(5, 13, 0))
ppath.clear(); ppath.clear();
#else
ppath = {};
#endif
} }
void CurveInputMethod::reset() void CurveInputMethod::reset()
{ {
this->resetInput(); this->resetInput();

View File

@ -67,11 +67,7 @@ void GridGraphicsItem::setSpacing(int spacing_)
static inline qreal static inline qreal
horizontalAdvance(const QFontMetrics& fm, const QString& text) horizontalAdvance(const QFontMetrics& fm, const QString& text)
{ {
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
return fm.horizontalAdvance(text); return fm.horizontalAdvance(text);
#else
return fm.boundingRect(text).width();
#endif
} }
void GridGraphicsItem::paint( void GridGraphicsItem::paint(

View File

@ -21,7 +21,7 @@
class QGraphicsScene; class QGraphicsScene;
// Genereic `Arr_compute_y_at_x_2` // Generic `Arr_compute_y_at_x_2`
template <typename Traits_> template <typename Traits_>
class Arr_compute_y_at_x_2 : public GraphicsSceneMixin { class Arr_compute_y_at_x_2 : public GraphicsSceneMixin {
public: public:

View File

@ -30,7 +30,7 @@
using json = nlohmann::ordered_json; using json = nlohmann::ordered_json;
namespace { namespace {
// use this traits everytime you construct an arrangment! // use this traits every time you construct an arrangement!
static Geom_traits s_traits; static Geom_traits s_traits;
// Extended DCEL & Arrangement // Extended DCEL & Arrangement
@ -726,7 +726,7 @@ void Aos::save_arr(Kml::Placemarks& placemarks, const std::string& file_name) {
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// CURVES // CURVES
// define a map from each curve to its position in the arrangment // define a map from each curve to its position in the arrangement
auto& js_curves = js["curves"] = json::array(); auto& js_curves = js["curves"] = json::array();
using Ext_curve = Ext_aos::X_monotone_curve_2; using Ext_curve = Ext_aos::X_monotone_curve_2;
std::map<Ext_curve*, std::size_t> curve_pos_map; std::map<Ext_curve*, std::size_t> curve_pos_map;
@ -909,7 +909,7 @@ void Aos::save_arr(Kml::Placemarks& placemarks, const std::string& file_name) {
} }
std::cout << "total num half-edges = " << total_num_half_edges << std::endl; std::cout << "total num half-edges = " << total_num_half_edges << std::endl;
// save the arrangment // save the arrangement
std::ofstream ofile(file_name); std::ofstream ofile(file_name);
ofile << js.dump(2); ofile << js.dump(2);
ofile.close(); ofile.close();

View File

@ -36,7 +36,7 @@ using json = nlohmann::ordered_json;
namespace { namespace {
// use this traits everytime you construct an arrangment! // use this traits every time you construct an arrangement!
static Geom_traits s_traits; static Geom_traits s_traits;
using Dir3 = Kernel::Direction_3; using Dir3 = Kernel::Direction_3;
using Approximate_number_type = Geom_traits::Approximate_number_type; using Approximate_number_type = Geom_traits::Approximate_number_type;
@ -71,7 +71,7 @@ std::vector<QVector3D> Aos_triangulator::get_all(Aos::Arr_handle arrh) {
// COMPUTE THE CENTROID OF ALL FACE-POINTS // COMPUTE THE CENTROID OF ALL FACE-POINTS
std::vector<QVector3D> face_points; std::vector<QVector3D> face_points;
// loop on the egdes of the current outer-ccb // loop on the edges of the current outer-ccb
auto first = fh->outer_ccb(); auto first = fh->outer_ccb();
auto curr = first; auto curr = first;
do { do {
@ -225,7 +225,7 @@ Aos_triangulator::get_by_country(Aos::Arr_handle arrh, float error,
if (0 == fh->number_of_outer_ccbs()) continue; if (0 == fh->number_of_outer_ccbs()) continue;
std::vector<QVector3D> face_points; std::vector<QVector3D> face_points;
// Loop on the egdes of the current outer-ccb // Loop on the edges of the current outer-ccb
auto first = fh->outer_ccb(); auto first = fh->outer_ccb();
auto curr = first; auto curr = first;
do { do {

View File

@ -1,6 +1,6 @@
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Arrangement_on_surface_2_earth_Demo) project(Arrangement_on_surface_2_earth_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) if(NOT POLICY CMP0070 AND POLICY CMP0053)

View File

@ -73,7 +73,7 @@ protected:
// This is called when the required approximation of the arcs is below the // This is called when the required approximation of the arcs is below the
// currently required one defined by the zoom level and window size. If you // currently required one defined by the zoom level and window size. If you
// zoom-in or increase the window-size this can be called. But once a minimum // zoom-in or increase the window-size this can be called. But once a minimum
// approximation error is needed, it will stay there until futher change. // approximation error is needed, it will stay there until further change.
// SEE the definition of "m_current_approx_error" member variable below! // SEE the definition of "m_current_approx_error" member variable below!
float compute_backprojected_error(float pixel_error); float compute_backprojected_error(float pixel_error);
@ -124,7 +124,7 @@ private:
// After zooming in or making the viewport larger, the approximation-error // After zooming in or making the viewport larger, the approximation-error
// needs to be updated and checked against the old value. If a lower approxi- // needs to be updated and checked against the old value. If a lower approxi-
// mation error is needed the necessary graphics-side updates need to be made // mation error is needed the necessary graphics-side updates need to be made
// INSIDE the paintGL (or whereever the OpenGL context is active)! // INSIDE the paintGL (or wherever the OpenGL context is active)!
bool m_update_approx_error = false; bool m_update_approx_error = false;
float m_current_approx_error; float m_current_approx_error;
std::size_t m_num_uniform_points; std::size_t m_num_uniform_points;

View File

@ -74,7 +74,7 @@ protected:
// This is called when the required approximation of the arcs is below the // This is called when the required approximation of the arcs is below the
// currently required one defined by the zoom level and window size. If you // currently required one defined by the zoom level and window size. If you
// zoom-in or increase the window-size this can be called. But once a minimum // zoom-in or increase the window-size this can be called. But once a minimum
// approximation error is needed, it will stay there until futher change. // approximation error is needed, it will stay there until further change.
// SEE the definition of "m_current_approx_error" member variable below! // SEE the definition of "m_current_approx_error" member variable below!
float compute_backprojected_error(float pixel_error); float compute_backprojected_error(float pixel_error);
@ -139,7 +139,7 @@ private:
// After zooming in or making the viewport larger, the approximation-error // After zooming in or making the viewport larger, the approximation-error
// needs to be updated and checked against the old value. If a lower approxi- // needs to be updated and checked against the old value. If a lower approxi-
// mation error is needed the necessary graphics-side updates need to be made // mation error is needed the necessary graphics-side updates need to be made
// INSIDE the paintGL (or whereever the OpenGL context is active)! // INSIDE the paintGL (or wherever the OpenGL context is active)!
bool m_update_approx_error = false; bool m_update_approx_error = false;
float m_current_approx_error; float m_current_approx_error;

View File

@ -20,7 +20,7 @@
class Verification { class Verification {
public: public:
// Use this to find the approximate of the true minimum projected error. // Use this to find the approximate of the true minimum projected error.
// we are ot using this complicated method, but provide it for completeness. // we are not using this complicated method, but provide it for completeness.
static void find_minimum_projected_error_on_sphere(float we, Camera& cam, static void find_minimum_projected_error_on_sphere(float we, Camera& cam,
int vp_width, int vp_width,
int vp_height); int vp_height);

View File

@ -5,7 +5,7 @@ namespace CGAL {
* The \dcel class used by the `Arrangement_2`, * The \dcel class used by the `Arrangement_2`,
* `Arr_bounded_planar_topology_traits_2`, `Arr_unb_planar_topology_traits_2` * `Arr_bounded_planar_topology_traits_2`, `Arr_unb_planar_topology_traits_2`
* class templates and other templates. It is parameterized by a geometry * class templates and other templates. It is parameterized by a geometry
* traits type and optionaly by a vertex, halfedge, or face types. By default, * traits type and optionally by a vertex, halfedge, or face types. By default,
* the `Arr_dcel` class template uses the \link * the `Arr_dcel` class template uses the \link
* ArrangementBasicTraits_2::Point_2 `Point_2`\endlink and \link * ArrangementBasicTraits_2::Point_2 `Point_2`\endlink and \link
* ArrangementBasicTraits_2::X_monotone_curve_2 `X_monotone_curve_2`\endlink * ArrangementBasicTraits_2::X_monotone_curve_2 `X_monotone_curve_2`\endlink
@ -13,7 +13,7 @@ namespace CGAL {
* types, respectively. Thus, by default the \dcel only stores the topological * types, respectively. Thus, by default the \dcel only stores the topological
* incidence relations and the geometric data attached to vertices and * incidence relations and the geometric data attached to vertices and
* edges. Any one of the vertex, halfedge, or face types can be * edges. Any one of the vertex, halfedge, or face types can be
* overriden. Notice that if the vertex and halfedge types are overriden, the * overridden. Notice that if the vertex and halfedge types are overridden, the
* traits type is ignored. * traits type is ignored.
* *
* \cgalModels{ArrangementDcelWithRebind} * \cgalModels{ArrangementDcelWithRebind}

View File

@ -109,7 +109,7 @@ namespace CGAL {
* polycurve. * polycurve.
* *
* This functor constructs general polycurve. Its `operator()` is * This functor constructs general polycurve. Its `operator()` is
* oveloaded to support various input types. * overloaded to support various input types.
* *
* Note that the composing subcurves, depending on the `SubcurveTraits_2`, * Note that the composing subcurves, depending on the `SubcurveTraits_2`,
* might not be \f$x\f$-monotone. * might not be \f$x\f$-monotone.

View File

@ -209,7 +209,7 @@ public:
* polyline. * polyline.
* *
* This functor constructs general polylines. Its `operator()` is * This functor constructs general polylines. Its `operator()` is
* oveloaded to support various input types. * overloaded to support various input types.
* *
* Note that the composing segments, depending on the `SegmentTraits_2`, * Note that the composing segments, depending on the `SegmentTraits_2`,
* might not be \f$x\f$-monotone. * might not be \f$x\f$-monotone.

View File

@ -118,7 +118,7 @@ public:
void cleanup_cache() const; void cleanup_cache() const;
/*! /*!
Returns a pointer to the used algerbaic kernel object. Returns a pointer to the used algebraic kernel object.
*/ */
const Algebraic_kernel_d_1* algebraic_kernel_d_1() const; const Algebraic_kernel_d_1* algebraic_kernel_d_1() const;

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Arrangement_on_surface_2_Examples) project(Arrangement_on_surface_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt6) find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt6)

View File

@ -519,12 +519,12 @@ public:
*/ */
virtual void after_move_isolated_vertex(Vertex_handle /* v */) {} virtual void after_move_isolated_vertex(Vertex_handle /* v */) {}
/*! Notificaion before the removal of a vertex. /*! Notification before the removal of a vertex.
* \param v A handle to the vertex to be deleted. * \param v A handle to the vertex to be deleted.
*/ */
virtual void before_remove_vertex(Vertex_handle /* v */) {} virtual void before_remove_vertex(Vertex_handle /* v */) {}
/*! Notificaion after the removal of a vertex. */ /*! Notification after the removal of a vertex. */
virtual void after_remove_vertex() {} virtual void after_remove_vertex() {}
/*! Notification before the removal of an edge. /*! Notification before the removal of an edge.
@ -532,7 +532,7 @@ public:
*/ */
virtual void before_remove_edge(Halfedge_handle /* e */) {} virtual void before_remove_edge(Halfedge_handle /* e */) {}
/*! Notificaion after the removal of an edge. */ /*! Notification after the removal of an edge. */
virtual void after_remove_edge() {} virtual void after_remove_edge() {}
/*! Notification before the removal of an outer CCB. /*! Notification before the removal of an outer CCB.
@ -543,7 +543,7 @@ public:
Ccb_halfedge_circulator /* h */) Ccb_halfedge_circulator /* h */)
{} {}
/*! Notificaion after the removal of an outer CCB. /*! Notification after the removal of an outer CCB.
* \param f The face that used to own the outer CCB. * \param f The face that used to own the outer CCB.
*/ */
virtual void after_remove_outer_ccb(Face_handle /* f */) {} virtual void after_remove_outer_ccb(Face_handle /* f */) {}
@ -556,7 +556,7 @@ public:
Ccb_halfedge_circulator /* h */) Ccb_halfedge_circulator /* h */)
{} {}
/*! Notificaion after the removal of an inner CCB. /*! Notification after the removal of an inner CCB.
* \param f The face that used to contain the inner CCB. * \param f The face that used to contain the inner CCB.
*/ */
virtual void after_remove_inner_ccb(Face_handle /* f */) {} virtual void after_remove_inner_ccb(Face_handle /* f */) {}

View File

@ -1107,7 +1107,7 @@ public:
return false; return false;
} }
/*! Intersect the supporing conic curves of this arc and the given arc. /*! Intersect the supporting conic curves of this arc and the given arc.
* \param arc The arc to intersect with. * \param arc The arc to intersect with.
* \param inter_list The list of intersection points. * \param inter_list The list of intersection points.
*/ */
@ -1133,7 +1133,7 @@ public:
if (xcv2.is_special_segment()) { if (xcv2.is_special_segment()) {
// The second arc is a special segment (a*x + b*y + c = 0). // The second arc is a special segment (a*x + b*y + c = 0).
if (xcv1.is_special_segment()) { if (xcv1.is_special_segment()) {
// Both arc are sepcial segment, so they have at most one intersection // Both arc are special segments, so they have at most one intersection
// point. // point.
const auto* extra_data1 = xcv1.extra_data(); const auto* extra_data1 = xcv1.extra_data();
const auto* extra_data2 = xcv2.extra_data(); const auto* extra_data2 = xcv2.extra_data();
@ -1724,7 +1724,7 @@ public:
* r·𝑥^2 + s·𝑦^2 + t·𝑥·𝑦 + u·𝑥 + v·𝑦 + w = 0 * r·𝑥^2 + s·𝑦^2 + t·𝑥·𝑦 + u·𝑥 + v·𝑦 + w = 0
* where 4·r·st^2 > 0 * where 4·r·st^2 > 0
* We eliminate t so that the x·y term vanishes, applying an inverse * We eliminate t so that the x·y term vanishes, applying an inverse
* rotation. Then, we compute the radi and the center. Finaly, we rotate * rotation. Then, we compute the radi and the center. Finally, we rotate
* back. The angle of rotation is given by: * back. The angle of rotation is given by:
* 𝑡𝑎𝑛(2𝜃) = 𝐵 / (𝐴𝐶) * 𝑡𝑎𝑛(2𝜃) = 𝐵 / (𝐴𝐶)
* Then * Then
@ -2260,7 +2260,7 @@ public:
const Rational& u, const Rational& v, const Rational& w, const Rational& u, const Rational& v, const Rational& w,
Orientation orient, Orientation orient,
const Point_2& source, const Point_2& target) const { const Point_2& source, const Point_2& target) const {
// Make sure that the source and the taget are not the same. // Make sure that the source and the target are not the same.
const auto alg_kernel = m_traits.m_alg_kernel; const auto alg_kernel = m_traits.m_alg_kernel;
CGAL_precondition_code(auto eq = alg_kernel->compare_xy_2_object()); CGAL_precondition_code(auto eq = alg_kernel->compare_xy_2_object());
CGAL_precondition(eq(source, target) != EQUAL); CGAL_precondition(eq(source, target) != EQUAL);
@ -2297,7 +2297,7 @@ public:
Point_2 target(nt_traits->convert(x3), nt_traits->convert(y3)); Point_2 target(nt_traits->convert(x3), nt_traits->convert(y3));
arc.set_endpoints(source, target); arc.set_endpoints(source, target);
// Make sure that the source and the taget are not the same. // Make sure that the source and the target are not the same.
CGAL_precondition_code(auto cmp_xy = alg_kernel->compare_xy_2_object()); CGAL_precondition_code(auto cmp_xy = alg_kernel->compare_xy_2_object());
CGAL_precondition(cmp_xy(source, target) != EQUAL); CGAL_precondition(cmp_xy(source, target) != EQUAL);
@ -2324,7 +2324,7 @@ public:
const bool points_collinear = (CGAL::sign(D) == ZERO); const bool points_collinear = (CGAL::sign(D) == ZERO);
if (points_collinear) { if (points_collinear) {
arc.reset_flags(); // inavlid arc arc.reset_flags(); // invalid arc
return arc; return arc;
} }
@ -2381,7 +2381,7 @@ public:
orient_f(p3, p4, p5) == COLLINEAR); orient_f(p3, p4, p5) == COLLINEAR);
if (point_collinear) { if (point_collinear) {
arc.reset_flags(); // inavlid arc arc.reset_flags(); // invalid arc
return arc; return arc;
} }
@ -2439,7 +2439,7 @@ public:
! m_traits.is_strictly_between_endpoints(arc, mp3) || ! m_traits.is_strictly_between_endpoints(arc, mp3) ||
! m_traits.is_strictly_between_endpoints(arc, mp4)) ! m_traits.is_strictly_between_endpoints(arc, mp4))
{ {
arc.reset_flags(); // inavlid arc arc.reset_flags(); // invalid arc
return arc; return arc;
} }
return arc; return arc;
@ -2589,7 +2589,7 @@ public:
} }
if (! found) { if (! found) {
arc.reset_flags(); // inavlid arc arc.reset_flags(); // invalid arc
return arc; return arc;
} }
} }
@ -2597,7 +2597,7 @@ public:
// Make sure that the source and the target are not the same. // Make sure that the source and the target are not the same.
auto cmp_xy = m_traits.m_alg_kernel->compare_xy_2_object(); auto cmp_xy = m_traits.m_alg_kernel->compare_xy_2_object();
if (cmp_xy(arc.source(), arc.target()) == EQUAL) { if (cmp_xy(arc.source(), arc.target()) == EQUAL) {
arc.reset_flags(); // inavlid arc arc.reset_flags(); // invalid arc
return arc; return arc;
} }
@ -2646,7 +2646,7 @@ public:
cv.set_source(Point_2(nt_traits->convert(x1), nt_traits->convert(y1))); cv.set_source(Point_2(nt_traits->convert(x1), nt_traits->convert(y1)));
cv.set_target(Point_2(nt_traits->convert(x2), nt_traits->convert(y2))); cv.set_target(Point_2(nt_traits->convert(x2), nt_traits->convert(y2)));
// Make sure that the source and the taget are not the same. // Make sure that the source and the target are not the same.
CGAL_precondition_code(auto cmp_xy = rat_kernel->compare_xy_2_object()); CGAL_precondition_code(auto cmp_xy = rat_kernel->compare_xy_2_object());
CGAL_precondition(cmp_xy(source, target) != EQUAL); CGAL_precondition(cmp_xy(source, target) != EQUAL);
@ -2695,7 +2695,7 @@ public:
Rational y0 = center.y(); Rational y0 = center.y();
Rational r_sqr = rat_kernel->compute_squared_radius_2_object()(circ); Rational r_sqr = rat_kernel->compute_squared_radius_2_object()(circ);
// Produce the correponding conic: if the circle center is (x0,y0) // Produce the corresponding conic: if the circle center is (x0,y0)
// and its squared radius is R^2, that its equation is: // and its squared radius is R^2, that its equation is:
// x^2 + y^2 - 2*x0*x - 2*y0*y + (x0^2 + y0^2 - R^2) = 0 // x^2 + y^2 - 2*x0*x - 2*y0*y + (x0^2 + y0^2 - R^2) = 0
// Note that this equation describes a curve with a negative (clockwise) // Note that this equation describes a curve with a negative (clockwise)
@ -2726,7 +2726,7 @@ public:
*/ */
Curve_2 operator()(const Rat_circle_2& circ, Orientation orient, Curve_2 operator()(const Rat_circle_2& circ, Orientation orient,
const Point_2& source, const Point_2& target) const { const Point_2& source, const Point_2& target) const {
// Make sure that the source and the taget are not the same. // Make sure that the source and the target are not the same.
CGAL_precondition_code(auto cmp_xy = CGAL_precondition_code(auto cmp_xy =
m_traits.m_alg_kernel->compare_xy_2_object()); m_traits.m_alg_kernel->compare_xy_2_object());
CGAL_precondition(cmp_xy(source, target) != EQUAL); CGAL_precondition(cmp_xy(source, target) != EQUAL);
@ -2743,7 +2743,7 @@ public:
Rational y0 = center.y(); Rational y0 = center.y();
Rational r_sqr = rat_kernel->compute_squared_radius_2_object()(circ); Rational r_sqr = rat_kernel->compute_squared_radius_2_object()(circ);
// Produce the correponding conic: if the circle center is (x0,y0) // Produce the corresponding conic: if the circle center is (x0,y0)
// and it squared radius is R^2, that its equation is: // and it squared radius is R^2, that its equation is:
// x^2 + y^2 - 2*x0*x - 2*y0*y + (x0^2 + y0^2 - R^2) = 0 // x^2 + y^2 - 2*x0*x - 2*y0*y + (x0^2 + y0^2 - R^2) = 0
// Since this equation describes a curve with a negative (clockwise) // Since this equation describes a curve with a negative (clockwise)
@ -2853,7 +2853,7 @@ public:
m_traits.compare_y_at_x_2_object()); m_traits.compare_y_at_x_2_object());
CGAL_precondition_code(Equal_2 equal_2 = m_traits.equal_2_object()); CGAL_precondition_code(Equal_2 equal_2 = m_traits.equal_2_object());
Compare_x_2 compare_x_2 = m_traits.compare_x_2_object(); Compare_x_2 compare_x_2 = m_traits.compare_x_2_object();
// Check whether source and taget are two distinct points and they lie // Check whether source and target are two distinct points and they lie
// on the line. // on the line.
CGAL_precondition(compare_y_at_x_2(src, xcv) == EQUAL); CGAL_precondition(compare_y_at_x_2(src, xcv) == EQUAL);
CGAL_precondition(compare_y_at_x_2(tgt, xcv) == EQUAL); CGAL_precondition(compare_y_at_x_2(tgt, xcv) == EQUAL);
@ -2983,7 +2983,7 @@ public:
} }
} }
else { else {
// Use the source and target to initialize the exterme points. // Use the source and target to initialize the extreme points.
bool source_left = bool source_left =
CGAL::to_double(xcv.source().x()) < CGAL::to_double(xcv.target().x()); CGAL::to_double(xcv.source().x()) < CGAL::to_double(xcv.target().x());
x_min = (source_left) ? x_min = (source_left) ?
@ -3077,7 +3077,7 @@ public:
if (! is_on_supporting_conic(cv, source) || if (! is_on_supporting_conic(cv, source) ||
! is_on_supporting_conic(cv, target)) ! is_on_supporting_conic(cv, target))
{ {
cv.reset_flags(); // inavlid arc cv.reset_flags(); // invalid arc
return; return;
} }
@ -3098,7 +3098,7 @@ public:
m_nt_traits->convert(v)) * p_mid.y() + m_nt_traits->convert(v)) * p_mid.y() +
m_nt_traits->convert(w)) != ZERO) m_nt_traits->convert(w)) != ZERO)
{ {
cv.reset_flags(); // inavlid arc cv.reset_flags(); // invalid arc
return; return;
} }
@ -3109,7 +3109,7 @@ public:
} }
else { else {
// The sign of (4rs - t^2) detetmines the conic type: // The sign of (4rs - t^2) detetmines the conic type:
// - if it is possitive, the conic is an ellipse, // - if it is positive, the conic is an ellipse,
// - if it is negative, the conic is a hyperbola, // - if it is negative, the conic is a hyperbola,
// - if it is zero, the conic is a parabola. // - if it is zero, the conic is a parabola.
CGAL::Sign sign_conic = CGAL::sign(4*r*s - t*t); CGAL::Sign sign_conic = CGAL::sign(4*r*s - t*t);
@ -3126,7 +3126,7 @@ public:
bool finite_at_x = (points_at_x(cv, p_mid, ps) > 0); bool finite_at_x = (points_at_x(cv, p_mid, ps) > 0);
bool finite_at_y = (points_at_y(cv, p_mid, ps) > 0); bool finite_at_y = (points_at_y(cv, p_mid, ps) > 0);
if (! finite_at_x && ! finite_at_y) { if (! finite_at_x && ! finite_at_y) {
cv.reset_flags(); // inavlid arc cv.reset_flags(); // invalid arc
return; return;
} }
} }
@ -3192,7 +3192,7 @@ public:
cv.set_flag(Curve_2::IS_VALID); cv.set_flag(Curve_2::IS_VALID);
cv.set_flag(Curve_2::IS_FULL_CONIC); cv.set_flag(Curve_2::IS_FULL_CONIC);
} }
else cv.reset_flags(); // inavlid arc else cv.reset_flags(); // invalid arc
} }
/*! Check whether the given point lies on the supporting conic of the arc. /*! Check whether the given point lies on the supporting conic of the arc.
@ -3300,7 +3300,7 @@ public:
return (orient_f(source, p, target) == RIGHT_TURN); return (orient_f(source, p, target) == RIGHT_TURN);
} }
/*! Build the data for hyperbolic arc, contaning the characterization of the /*! Build the data for hyperbolic arc, containing the characterization of the
* hyperbolic branch the arc is placed on. * hyperbolic branch the arc is placed on.
*/ */
void build_hyperbolic_arc_data(Curve_2& cv) const { void build_hyperbolic_arc_data(Curve_2& cv) const {
@ -3680,7 +3680,7 @@ public:
// Check whether the conic is facing up or facing down: // Check whether the conic is facing up or facing down:
// Check whether the arc (which is x-monotone of degree 2) lies above or // Check whether the arc (which is x-monotone of degree 2) lies above or
// below the segement that connects its two end-points (x1,y1) and (x2,y2). // below the segment that connects its two end-points (x1,y1) and (x2,y2).
// To do that, we find the y coordinate of a point on the arc whose x // To do that, we find the y coordinate of a point on the arc whose x
// coordinate is (x1+x2)/2 and compare it to (y1+y2)/2. // coordinate is (x1+x2)/2 and compare it to (y1+y2)/2.
auto cmp_y = m_alg_kernel->compare_y_2_object(); auto cmp_y = m_alg_kernel->compare_y_2_object();
@ -3753,7 +3753,7 @@ public:
} }
/*! Check whether the given point lies on the arc. /*! Check whether the given point lies on the arc.
* \param p The qury point. * \param p The query point.
* \param (true) if p lies on the arc; (false) otherwise. * \param (true) if p lies on the arc; (false) otherwise.
*/ */
bool contains_point(const X_monotone_curve_2& xcv, const Point_2& p) const { bool contains_point(const X_monotone_curve_2& xcv, const Point_2& p) const {
@ -3778,7 +3778,7 @@ public:
return is_between_endpoints(xcv, p); return is_between_endpoints(xcv, p);
} }
/*! Find the vertical tangency points of the undelying conic. /*! Find the vertical tangency points of the underlying conic.
* \param ps The output points of vertical tangency. * \param ps The output points of vertical tangency.
* This area must be allocated at the size of 2. * This area must be allocated at the size of 2.
* \return The number of vertical tangency points. * \return The number of vertical tangency points.
@ -3876,7 +3876,7 @@ public:
return m; return m;
} }
/*! Find the horizontal tangency points of the undelying conic. /*! Find the horizontal tangency points of the underlying conic.
* \param ps The output points of horizontal tangency. * \param ps The output points of horizontal tangency.
* This area must be allocated at the size of 2. * This area must be allocated at the size of 2.
* \return The number of horizontal tangency points. * \return The number of horizontal tangency points.

View File

@ -79,10 +79,10 @@ public:
typedef typename internal::Arr_complete_right_side_category<Base_traits_2>:: typedef typename internal::Arr_complete_right_side_category<Base_traits_2>::
Category Right_side_category; Category Right_side_category;
// Representation of a curve with an additonal data field: // Representation of a curve with an additional data field:
typedef _Curve_data_ex<Base_curve_2, Curve_data> Curve_2; typedef _Curve_data_ex<Base_curve_2, Curve_data> Curve_2;
// Representation of an x-monotone curve with an additonal data field: // Representation of an x-monotone curve with an additional data field:
typedef _Curve_data_ex<Base_x_monotone_curve_2, X_monotone_curve_data> typedef _Curve_data_ex<Base_x_monotone_curve_2, X_monotone_curve_data>
X_monotone_curve_2; X_monotone_curve_2;

View File

@ -22,7 +22,7 @@
* The partition traits class for geodesic arcs on the sphere enables * The partition traits class for geodesic arcs on the sphere enables
* the partition of geodesic polygons to convex polygons. It models the * the partition of geodesic polygons to convex polygons. It models the
* concept YMonotonePartitionTraits_2. * concept YMonotonePartitionTraits_2.
* This partition of geodesic polygons is garenteed to work only for polygons * This partition of geodesic polygons is guaranteed to work only for polygons
* that are contained in a hemisphere and that do not intersect one of the * that are contained in a hemisphere and that do not intersect one of the
* boundaries. * boundaries.
* For larger polygons there is a chance that at least one steiner point may * For larger polygons there is a chance that at least one steiner point may
@ -329,7 +329,7 @@ public:
* The partition traits class for geodesic arcs on the sphere enables * The partition traits class for geodesic arcs on the sphere enables
* the partition of geodesic polygons to convex polygons. It models the * the partition of geodesic polygons to convex polygons. It models the
* concept YMonotonePartitionTraits_2. * concept YMonotonePartitionTraits_2.
* This partition of geodesic polygons is garenteed to work only for polygons * This partition of geodesic polygons is guaranteed to work only for polygons
* that are contained in a hemisphere and that do not intersect one of the * that are contained in a hemisphere and that do not intersect one of the
* boundaries. * boundaries.
* For larger polygons there is a chance that at least one steiner point may * For larger polygons there is a chance that at least one steiner point may

View File

@ -641,8 +641,7 @@ public:
* \param[in] plane the containing plane. * \param[in] plane the containing plane.
* \param[in] source the source-point direction. * \param[in] source the source-point direction.
* \param[in] target the target-point direction. * \param[in] target the target-point direction.
* \pre Both endpoint lie on the given plane. * \pre Both endpoints lie on the given plane.
* \pre Both endpoint lie on the given plane.
*/ */
X_monotone_curve_2 operator()(const Point_2& source, const Point_2& target, X_monotone_curve_2 operator()(const Point_2& source, const Point_2& target,
const Direction_3& normal) const const Direction_3& normal) const
@ -3113,7 +3112,7 @@ public:
* \param is_directed_right is the arc directed from left to right? * \param is_directed_right is the arc directed from left to right?
* \param is_full is the arc a full circle? * \param is_full is the arc a full circle?
* \param is_degenerate is the arc degenerate (single point)? * \param is_degenerate is the arc degenerate (single point)?
* \pre Both endpoint lie on the given plane. * \pre Both endpoints lie on the given plane.
*/ */
Arr_x_monotone_geodesic_arc_on_sphere_3 Arr_x_monotone_geodesic_arc_on_sphere_3
(const Arr_extended_direction_3& src, (const Arr_extended_direction_3& src,
@ -3312,8 +3311,7 @@ public:
* \param plane the containing plane. * \param plane the containing plane.
* \param source the source-point direction. * \param source the source-point direction.
* \param target the target-point direction. * \param target the target-point direction.
* \pre Both endpoint lie on the given plane. * \pre Both endpoints lie on the given plane.
* \pre Both endpoint lie on the given plane.
*/ */
Arr_x_monotone_geodesic_arc_on_sphere_3 Arr_x_monotone_geodesic_arc_on_sphere_3
(const Arr_extended_direction_3& source, (const Arr_extended_direction_3& source,

View File

@ -588,7 +588,7 @@ bool _Bezier_cache<NtTraits>::_intersection_params
Integer coeff; Integer coeff;
int k; int k;
// Consruct the bivariate polynomial that corresponds to Equation I. // Construct the bivariate polynomial that corresponds to Equation I.
// Note that we represent a bivariate polynomial as a vector of univariate // Note that we represent a bivariate polynomial as a vector of univariate
// polynomials, whose i'th entry corresponds to the coefficient of t^i, // polynomials, whose i'th entry corresponds to the coefficient of t^i,
// which is in turn a polynomial it s. // which is in turn a polynomial it s.
@ -602,7 +602,7 @@ bool _Bezier_cache<NtTraits>::_intersection_params
} }
coeffsX_st[0] = coeffsX_st[0] - nt_traits.scale (polyX_1, normX_2); coeffsX_st[0] = coeffsX_st[0] - nt_traits.scale (polyX_1, normX_2);
// Consruct the bivariate polynomial that corresponds to Equation II. // Construct the bivariate polynomial that corresponds to Equation II.
const int degY_2 = nt_traits.degree (polyY_2); const int degY_2 = nt_traits.degree (polyY_2);
std::vector<Polynomial> coeffsY_st (degY_2 < 0 ? 1 : (degY_2 + 1)); std::vector<Polynomial> coeffsY_st (degY_2 < 0 ? 1 : (degY_2 + 1));
@ -655,7 +655,7 @@ void _Bezier_cache<NtTraits>::_self_intersection_params
Integer *coeffs; Integer *coeffs;
int i; int i;
// Consruct the bivariate polynomial that corresponds to Equation I. // Construct the bivariate polynomial that corresponds to Equation I.
// Note that we represent a bivariate polynomial as a vector of univariate // Note that we represent a bivariate polynomial as a vector of univariate
// polynomials, whose i'th entry corresponds to the coefficient of t^i, // polynomials, whose i'th entry corresponds to the coefficient of t^i,
// which is in turn a polynomial it s. // which is in turn a polynomial it s.
@ -675,7 +675,7 @@ void _Bezier_cache<NtTraits>::_self_intersection_params
delete[] coeffs; delete[] coeffs;
// Consruct the bivariate polynomial that corresponds to Equation II. // Construct the bivariate polynomial that corresponds to Equation II.
const int degY = nt_traits.degree (polyY); const int degY = nt_traits.degree (polyY);
CGAL_assertion(degY > 0); CGAL_assertion(degY > 0);
if (degY <= 0) return; //no self intersection if Y is constant if (degY <= 0) return; //no self intersection if Y is constant

View File

@ -800,7 +800,7 @@ typename _Bezier_curve_2<RatKer, AlgKer, NtTrt, BndTrt>::Rat_point_2
_Bezier_curve_2<RatKer, AlgKer, NtTrt, BndTrt>::operator() _Bezier_curve_2<RatKer, AlgKer, NtTrt, BndTrt>::operator()
(const Rational& t) const (const Rational& t) const
{ {
// Check for extermal t values (either 0 or 1). // Check for external t values (either 0 or 1).
const CGAL::Sign sign_t = CGAL::sign (t); const CGAL::Sign sign_t = CGAL::sign (t);
CGAL_precondition (sign_t != NEGATIVE); CGAL_precondition (sign_t != NEGATIVE);
@ -851,7 +851,7 @@ typename _Bezier_curve_2<RatKer, AlgKer, NtTrt, BndTrt>::Alg_point_2
_Bezier_curve_2<RatKer, AlgKer, NtTrt, BndTrt>::operator() _Bezier_curve_2<RatKer, AlgKer, NtTrt, BndTrt>::operator()
(const Algebraic& t) const (const Algebraic& t) const
{ {
// Check for extermal t values (either 0 or 1). // Check for external t values (either 0 or 1).
Nt_traits nt_traits; Nt_traits nt_traits;
const CGAL::Sign sign_t = CGAL::sign (t); const CGAL::Sign sign_t = CGAL::sign (t);

View File

@ -2138,7 +2138,7 @@ _intersect(const Self& cv,
else { else {
// Approximate the intersection points and store them in the map. // Approximate the intersection points and store them in the map.
// Note that we do not store approximated self-intersections in the map, // Note that we do not store approximated self-intersections in the map,
// as they realte only to the pecific x-monotone curves, and not to the // as they relate only to the specific x-monotone curves, and not to the
// entire curve. // entire curve.
app_ok = _approximate_intersection_points(cv, inter_pts); app_ok = _approximate_intersection_points(cv, inter_pts);

View File

@ -392,7 +392,7 @@ public:
const bool points_collinear = (CGAL::sign(D) == ZERO); const bool points_collinear = (CGAL::sign(D) == ZERO);
if (points_collinear) { if (points_collinear) {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
@ -453,7 +453,7 @@ public:
orient_f (p3, p4, p5) == COLLINEAR); orient_f (p3, p4, p5) == COLLINEAR);
if (point_collinear) { if (point_collinear) {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
@ -511,7 +511,7 @@ public:
! _is_strictly_between_endpoints(mp3) || ! _is_strictly_between_endpoints(mp3) ||
! _is_strictly_between_endpoints(mp4)) ! _is_strictly_between_endpoints(mp4))
{ {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
} }
} }
@ -669,14 +669,14 @@ public:
} }
if (! found) { if (! found) {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
} }
// Make sure that the source and the target are not the same. // Make sure that the source and the target are not the same.
if (Alg_kernel().compare_xy_2_object()(m_source, m_target) == EQUAL) { if (Alg_kernel().compare_xy_2_object()(m_source, m_target) == EQUAL) {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
@ -724,7 +724,7 @@ public:
} }
} }
else { else {
// Use the source and target to initialize the exterme points. // Use the source and target to initialize the extreme points.
bool source_left = bool source_left =
CGAL::to_double(m_source.x()) < CGAL::to_double(m_target.x()); CGAL::to_double(m_source.x()) < CGAL::to_double(m_target.x());
x_min = source_left ? x_min = source_left ?
@ -892,7 +892,7 @@ protected:
} }
} }
/*! Find the vertical tangency points of the undelying conic. /*! Find the vertical tangency points of the underlying conic.
* \param ps The output points of vertical tangency. * \param ps The output points of vertical tangency.
* This area must be allocated at the size of 2. * This area must be allocated at the size of 2.
* \return The number of vertical tangency points. * \return The number of vertical tangency points.
@ -970,7 +970,7 @@ protected:
return n; return n;
} }
/*! Find the horizontal tangency points of the undelying conic. /*! Find the horizontal tangency points of the underlying conic.
* \param ps The output points of horizontal tangency. * \param ps The output points of horizontal tangency.
* This area must be allocated at the size of 2. * This area must be allocated at the size of 2.
* \return The number of horizontal tangency points. * \return The number of horizontal tangency points.
@ -1071,7 +1071,7 @@ protected:
set_flag(IS_VALID); set_flag(IS_VALID);
set_flag(IS_FULL_CONIC); set_flag(IS_FULL_CONIC);
} }
else reset_flags(); // inavlid arc else reset_flags(); // invalid arc
} }
/*! Check whether the given point lies on the supporting conic of the arc. /*! Check whether the given point lies on the supporting conic of the arc.
@ -1093,7 +1093,7 @@ protected:
return (CGAL::sign(val) == ZERO); return (CGAL::sign(val) == ZERO);
} }
/*! Build the data for hyperbolic arc, contaning the characterization of the /*! Build the data for hyperbolic arc, containing the characterization of the
* hyperbolic branch the arc is placed on. * hyperbolic branch the arc is placed on.
*/ */
CGAL_DEPRECATED void _build_hyperbolic_arc_data() { CGAL_DEPRECATED void _build_hyperbolic_arc_data() {
@ -1372,7 +1372,7 @@ protected:
if (! _is_on_supporting_conic(m_source) || if (! _is_on_supporting_conic(m_source) ||
! _is_on_supporting_conic(m_target)) ! _is_on_supporting_conic(m_target))
{ {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
@ -1394,7 +1394,7 @@ protected:
nt_traits.convert(m_v)) * p_mid.y() + nt_traits.convert(m_v)) * p_mid.y() +
nt_traits.convert(m_w)) != ZERO) nt_traits.convert(m_w)) != ZERO)
{ {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
@ -1419,7 +1419,7 @@ protected:
} }
else { else {
// The sign of (4rs - t^2) detetmines the conic type: // The sign of (4rs - t^2) detetmines the conic type:
// - if it is possitive, the conic is an ellipse, // - if it is positive, the conic is an ellipse,
// - if it is negative, the conic is a hyperbola, // - if it is negative, the conic is a hyperbola,
// - if it is zero, the conic is a parabola. // - if it is zero, the conic is a parabola.
CGAL::Sign sign_conic = CGAL::sign(4*m_r*m_s - m_t*m_t); CGAL::Sign sign_conic = CGAL::sign(4*m_r*m_s - m_t*m_t);
@ -1438,7 +1438,7 @@ protected:
bool finite_at_y = (_points_at_y(p_mid, ps) > 0); bool finite_at_y = (_points_at_y(p_mid, ps) > 0);
if (! finite_at_x && ! finite_at_y) { if (! finite_at_x && ! finite_at_y) {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
} }
@ -1515,7 +1515,7 @@ public:
/// \name Get the arc properties. /// \name Get the arc properties.
//@{ //@{
/*! Determine wheather the arc is valid. /*! Determine whether the arc is valid.
*/ */
bool is_valid() const { return test_flag(IS_VALID); } bool is_valid() const { return test_flag(IS_VALID); }
@ -1600,7 +1600,7 @@ protected:
public: public:
/// \name Modifying functions (setters); /// \name Modifying functions (setters);
// only friends have the priviledge to use. // only friends have the privilege to use.
//@{ //@{
/*! Set the source point of the conic arc. /*! Set the source point of the conic arc.

View File

@ -82,10 +82,10 @@ public:
/*! Default constructors. */ /*! Default constructors. */
Conic_point_2() : Base() {} Conic_point_2() : Base() {}
/*! Constrcutor from the base class. */ /*! Constructor from the base class. */
Conic_point_2(const Base& p) : Base(p) {} Conic_point_2(const Base& p) : Base(p) {}
/*! Constructor with homegeneous coordinates. */ /*! Constructor with homogeneous coordinates. */
Conic_point_2(const Algebraic& hx, const Algebraic& hy, const Algebraic& hz) : Conic_point_2(const Algebraic& hx, const Algebraic& hy, const Algebraic& hz) :
Base(hx, hy, hz) Base(hx, hy, hz)
{} {}

View File

@ -163,7 +163,7 @@ public:
// Set the basic properties and clear the _info bits. // Set the basic properties and clear the _info bits.
this->set_endpoints(source, target); this->set_endpoints(source, target);
this->set_orientation(COLLINEAR); this->set_orientation(COLLINEAR);
this->reset_flags(); // inavlid arc this->reset_flags(); // invalid arc
// Check if the arc is directed right (the target is lexicographically // Check if the arc is directed right (the target is lexicographically
// greater than the source point), or to the left. // greater than the source point), or to the left.
@ -180,7 +180,7 @@ public:
res = ker.compare_y_2_object()(source, target); res = ker.compare_y_2_object()(source, target);
CGAL_precondition(res != EQUAL); CGAL_precondition(res != EQUAL);
if (res == EQUAL) { if (res == EQUAL) {
reset_flags(); // inavlid arc reset_flags(); // invalid arc
return; return;
} }
} }
@ -290,7 +290,7 @@ private:
// Check whether the conic is facing up or facing down: // Check whether the conic is facing up or facing down:
// Check whether the arc (which is x-monotone of degree 2) lies above or // Check whether the arc (which is x-monotone of degree 2) lies above or
// below the segement that contects its two end-points (x1,y1) and (x2,y2). // below the segment that contects its two end-points (x1,y1) and (x2,y2).
// To do that, we find the y coordinate of a point on the arc whose x // To do that, we find the y coordinate of a point on the arc whose x
// coordinate is (x1+x2)/2 and compare it to (y1+y2)/2. // coordinate is (x1+x2)/2 and compare it to (y1+y2)/2.
Comparison_result res = ker.compare_y_2_object()(p_arc_mid, p_mid); Comparison_result res = ker.compare_y_2_object()(p_arc_mid, p_mid);
@ -301,7 +301,7 @@ private:
} }
public: public:
/// \name Public constrcutors, assignment operators, and destructors. /// \name Public constructors, assignment operators, and destructors.
//@{ //@{
/*! Default constructor. /*! Default constructor.
@ -350,7 +350,7 @@ public:
private: private:
template <typename, typename, typename> friend class Arr_conic_traits_2; template <typename, typename, typename> friend class Arr_conic_traits_2;
/// \name private constrcutors to be used only by the traits class template. /// \name private constructors to be used only by the traits class template.
//@{ //@{
/*! Construct an x-monotone arc from a conic arc. /*! Construct an x-monotone arc from a conic arc.
@ -421,7 +421,7 @@ public:
bool is_lower() const { return this->test_flag(FACING_DOWN); } bool is_lower() const { return this->test_flag(FACING_DOWN); }
/*! Check whether the arc is a special segment connecting two algebraic /*! Check whether the arc is a special segment connecting two algebraic
* endpoints (and has no undelying integer conic coefficients). * endpoints (and has no underlying integer conic coefficients).
*/ */
bool is_special_segment() const { return this->test_flag(IS_SPECIAL_SEGMENT); } bool is_special_segment() const { return this->test_flag(IS_SPECIAL_SEGMENT); }
@ -447,7 +447,7 @@ public:
Conic_id id() const { return m_id; } Conic_id id() const { return m_id; }
/*! Check whether the given point lies on the arc. /*! Check whether the given point lies on the arc.
* \param p The qury point. * \param p The query point.
* \param (true) if p lies on the arc; (false) otherwise. * \param (true) if p lies on the arc; (false) otherwise.
*/ */
CGAL_DEPRECATED CGAL_DEPRECATED
@ -660,7 +660,7 @@ public:
//@{ //@{
/*! Flip the arc. /*! Flip the arc.
* \return An arc with swapped source and target and a reverse orienation. * \return An arc with swapped source and target and a reverse orientation.
*/ */
Self flip() const { Self flip() const {
// Make a copy of the current arc. // Make a copy of the current arc.
@ -1316,7 +1316,7 @@ private:
if (CGAL::compare(slope1_numer*slope2_denom, slope2_numer*slope1_denom) != if (CGAL::compare(slope1_numer*slope2_denom, slope2_numer*slope1_denom) !=
EQUAL) { EQUAL) {
// Different slopes at p - the mutiplicity of p is 1: // Different slopes at p - the multiplicity of p is 1:
return 1; return 1;
} }
@ -1337,7 +1337,7 @@ private:
if (CGAL::compare(slope1_numer*slope2_denom, if (CGAL::compare(slope1_numer*slope2_denom,
slope2_numer*slope1_denom) != EQUAL) slope2_numer*slope1_denom) != EQUAL)
{ {
// Different curvatures at p - the mutiplicity of p is 2: // Different curvatures at p - the multiplicity of p is 2:
return 2; return 2;
} }

View File

@ -409,7 +409,7 @@ public:
// and check if it lies next to a pole. // and check if it lies next to a pole.
if (CGAL::sign (nt_traits.evaluate_at (_denom, x_s)) != CGAL::ZERO) if (CGAL::sign (nt_traits.evaluate_at (_denom, x_s)) != CGAL::ZERO)
{ {
// We have a nomral endpoint. // We have a normal endpoint.
_ps = Point_2 (x_s, nt_traits.evaluate_at (_numer, x_s) / _ps = Point_2 (x_s, nt_traits.evaluate_at (_numer, x_s) /
nt_traits.evaluate_at (_denom, x_s)); nt_traits.evaluate_at (_denom, x_s));
} }
@ -499,7 +499,7 @@ public:
// Set the source point and check if it lies next to a pole. // Set the source point and check if it lies next to a pole.
if (CGAL::sign (nt_traits.evaluate_at (_denom, x_s)) != CGAL::ZERO) if (CGAL::sign (nt_traits.evaluate_at (_denom, x_s)) != CGAL::ZERO)
{ {
// We have a nomral endpoint. // We have a normal endpoint.
_ps = Point_2 (x_s, nt_traits.evaluate_at (_numer, x_s) / _ps = Point_2 (x_s, nt_traits.evaluate_at (_numer, x_s) /
nt_traits.evaluate_at (_denom, x_s)); nt_traits.evaluate_at (_denom, x_s));
} }
@ -521,7 +521,7 @@ public:
// Set the target point and check if it lies next to a pole. // Set the target point and check if it lies next to a pole.
if (CGAL::sign (nt_traits.evaluate_at (_denom, x_t)) != CGAL::ZERO) if (CGAL::sign (nt_traits.evaluate_at (_denom, x_t)) != CGAL::ZERO)
{ {
// We have a nomral endpoint. // We have a normal endpoint.
_pt = Point_2 (x_t, nt_traits.evaluate_at (_numer, x_t) / _pt = Point_2 (x_t, nt_traits.evaluate_at (_numer, x_t) /
nt_traits.evaluate_at (_denom, x_t)); nt_traits.evaluate_at (_denom, x_t));
} }
@ -1026,7 +1026,7 @@ public:
* intersection point. * intersection point.
* \param cv The given arc. * \param cv The given arc.
* \param p The intersection point. * \param p The intersection point.
* \param mult Output: The mutiplicity of the intersection point. * \param mult Output: The multiplicity of the intersection point.
* \return SMALLER if (*this) slope is less than cv's; * \return SMALLER if (*this) slope is less than cv's;
* EQUAL if the two slopes are equal; * EQUAL if the two slopes are equal;
* LARGER if (*this) slope is greater than cv's. * LARGER if (*this) slope is greater than cv's.

View File

@ -35,7 +35,7 @@ namespace CGAL {
/*! \class Arr_landmarks_point_location /*! \class Arr_landmarks_point_location
* A class that answers point-location queries on an arrangement using the * A class that answers point-location queries on an arrangement using the
* landmarks algorithm, namely by locating the (approximately) nearest * landmarks algorithm, namely by locating the (approximately) nearest
* landmark point to the qury point and walking from it toward the query * landmark point to the query point and walking from it toward the query
* point. * point.
* This class-template has two parameters: * This class-template has two parameters:
* Arrangement corresponds to an arrangement-on-surface instantiation. * Arrangement corresponds to an arrangement-on-surface instantiation.

View File

@ -364,7 +364,7 @@ public:
} }
} }
/*! Notificaion after the removal of a vertex. */ /*! Notification after the removal of a vertex. */
virtual void after_remove_vertex() override { virtual void after_remove_vertex() override {
if (! m_ignore_notifications && ! m_ignore_remove_edge) { if (! m_ignore_notifications && ! m_ignore_remove_edge) {
clear_landmark_set(); clear_landmark_set();
@ -381,7 +381,7 @@ public:
m_ignore_remove_edge = false; m_ignore_remove_edge = false;
} }
/*! Notificaion after the removal of an outer CCB. */ /*! Notification after the removal of an outer CCB. */
virtual void after_remove_outer_ccb(Face_handle) override { virtual void after_remove_outer_ccb(Face_handle) override {
if (! m_ignore_notifications && ! m_ignore_remove_edge) { if (! m_ignore_notifications && ! m_ignore_remove_edge) {
clear_landmark_set(); clear_landmark_set();
@ -389,7 +389,7 @@ public:
} }
} }
/*! Notificaion after the removal of an inner CCB. */ /*! Notification after the removal of an inner CCB. */
virtual void after_remove_inner_ccb(Face_handle) override { virtual void after_remove_inner_ccb(Face_handle) override {
if (! m_ignore_notifications && ! m_ignore_remove_edge) { if (! m_ignore_notifications && ! m_ignore_remove_edge) {
clear_landmark_set(); clear_landmark_set();

View File

@ -113,7 +113,7 @@ Arr_walk_along_line_point_location<Arrangement>::locate(const Point_2& p) const
face = closest_he->twin()->face(); face = closest_he->twin()->face();
// Perform a vertical walk along the faces of the hole until locating // Perform a vertical walk along the faces of the hole until locating
// a face that contains the qeury point. // a face that contains the query point.
do { do {
CGAL_assertion_code CGAL_assertion_code
(Halfedge_const_handle old_closest_he = closest_he); (Halfedge_const_handle old_closest_he = closest_he);
@ -256,7 +256,7 @@ _vertical_ray_shoot(const Point_2& p, bool shoot_up) const
face = closest_he->twin()->face(); face = closest_he->twin()->face();
// Perform a vertical walk along the faces of the hole until locating // Perform a vertical walk along the faces of the hole until locating
// a face that contains the qeury point. // a face that contains the query point.
do { do {
CGAL_assertion_code ( CGAL_assertion_code (
Halfedge_const_handle old_closest_he = closest_he; Halfedge_const_handle old_closest_he = closest_he;

View File

@ -2636,7 +2636,7 @@ merge_edge(Halfedge_const_handle he1,
Td_map_item rightp_item = locate(rightmost, lt2); Td_map_item rightp_item = locate(rightmost, lt2);
Td_map_item mrgp_item = locate(ce, lt); Td_map_item mrgp_item = locate(ce, lt);
//varifying that all trapezoids are not nullptr and are of type POINT //verifying that all trapezoids are not nullptr and are of type POINT
CGAL_warning(std::visit(dag_node_visitor(), leftp_item) != nullptr); CGAL_warning(std::visit(dag_node_visitor(), leftp_item) != nullptr);
CGAL_warning(std::visit(dag_node_visitor(), rightp_item)!= nullptr); CGAL_warning(std::visit(dag_node_visitor(), rightp_item)!= nullptr);
CGAL_warning(std::visit(dag_node_visitor(), mrgp_item) != nullptr); CGAL_warning(std::visit(dag_node_visitor(), mrgp_item) != nullptr);

View File

@ -543,7 +543,7 @@ public:
//check if the source point lies next to a pole. //check if the source point lies next to a pole.
if (typename Algebraic_kernel::Sign_at_1()(Q, x_s) != CGAL::ZERO) if (typename Algebraic_kernel::Sign_at_1()(Q, x_s) != CGAL::ZERO)
{ {
// We have a nomral endpoint. // We have a normal endpoint.
//nothing to do.... //nothing to do....
} }
else else
@ -644,7 +644,7 @@ public:
//check if source point lies next to a pole. //check if source point lies next to a pole.
if (typename Algebraic_kernel::Sign_at_1()(Q,x_s) != CGAL::ZERO) if (typename Algebraic_kernel::Sign_at_1()(Q,x_s) != CGAL::ZERO)
{ {
// We have a nomral endpoint. // We have a normal endpoint.
//nothing to do .. //nothing to do ..
} }
else else
@ -666,7 +666,7 @@ public:
//check if target point lies next to a pole. //check if target point lies next to a pole.
if (typename Algebraic_kernel::Sign_at_1()(Q,x_t) != CGAL::ZERO) if (typename Algebraic_kernel::Sign_at_1()(Q,x_t) != CGAL::ZERO)
{ {
// We have a nomral endpoint. // We have a normal endpoint.
//nothing to do .. //nothing to do ..
} }
else else
@ -1206,7 +1206,7 @@ public:
// at their given intersection point. // at their given intersection point.
// param cv The given arc. // param cv The given arc.
// param p The intersection point. // param p The intersection point.
// param mult Output: The mutiplicity of the intersection point. // param mult Output: The multiplicity of the intersection point.
// return SMALLER if (*this) slope is less than cv's; // return SMALLER if (*this) slope is less than cv's;
// EQUAL if the two slopes are equal; // EQUAL if the two slopes are equal;
// LARGER if (*this) slope is greater than cv's. // LARGER if (*this) slope is greater than cv's.

View File

@ -53,7 +53,7 @@ void Arr_transform_on_sphere(Arrangement & arr,
Arr_accessor<Arrangement> m_arr_access(arr); Arr_accessor<Arrangement> m_arr_access(arr);
// Preprocessing loop - merge all the edges that were splited // Preprocessing loop - merge all the edges that were split
// (meaning have a common endpoint that lies on the boundary and their degree // (meaning have a common endpoint that lies on the boundary and their degree
// is 2) on the identification curve. // is 2) on the identification curve.
for (auto vi1 = arr.vertices_begin(); vi1 != arr.vertices_end(); ) { for (auto vi1 = arr.vertices_begin(); vi1 != arr.vertices_end(); ) {
@ -151,7 +151,7 @@ void Arr_transform_on_sphere(Arrangement & arr,
// If the curve is not x-monotone - split it into 2 x_monotone parts. // If the curve is not x-monotone - split it into 2 x_monotone parts.
// Since the curves were x_monotone before , can assume that it will be // Since the curves were x_monotone before , can assume that it will be
// splited into 2 parts max. // split into 2 parts max.
if (objects.size() == 2) { if (objects.size() == 2) {
auto it = objects.begin(); auto it = objects.begin();

View File

@ -314,7 +314,7 @@ public:
// defining a type that inherits from the template we need to alias. However, // defining a type that inherits from the template we need to alias. However,
// the non-C++11 code requires the (re)definition of all constructors of the // the non-C++11 code requires the (re)definition of all constructors of the
// derived class. The non-C++11 code follows the commented out C++11 code. // derived class. The non-C++11 code follows the commented out C++11 code.
// When we move to C++11 we can use the more elgant code. // When we move to C++11 we can use the more elegant code.
// Type definition for the construction surface-sweep visitor. // Type definition for the construction surface-sweep visitor.
template <typename Evt, typename Crv> template <typename Evt, typename Crv>
struct Construction_helper : struct Construction_helper :

View File

@ -261,7 +261,7 @@ is_in_face(const Face* f, const Point_2& p, const Vertex* v) const
// Ignore vertical curves: // Ignore vertical curves:
if (is_vertical(curr->curve())) { if (is_vertical(curr->curve())) {
/* If this outer ccb chain contains the north pole, and our point /* If this outer ccb chain contains the north pole, and our point
* lies horizontaly between the two vertical curves that meet at * lies horizontally between the two vertical curves that meet at
* the north pole, increase the intersection counter * the north pole, increase the intersection counter
*/ */
if (curr->direction() == ARR_LEFT_TO_RIGHT) { if (curr->direction() == ARR_LEFT_TO_RIGHT) {
@ -486,7 +486,7 @@ are_equal(const Vertex* v,
CGAL_assertion(ps_x != ARR_INTERIOR); CGAL_assertion(ps_x != ARR_INTERIOR);
/* Both vertices have the same x boundary conditions => /* Both vertices have the same x boundary conditions =>
* comapare their y-position. * compare their y-position.
*/ */
const Point_2& p1 = v->point(); const Point_2& p1 = v->point();
const Point_2& p2 = (ind == ARR_MIN_END) ? const Point_2& p2 = (ind == ARR_MIN_END) ?

View File

@ -280,7 +280,7 @@ public:
} }
} }
/*! Notificaion before the removal of a vertex. /*! Notification before the removal of a vertex.
* \param v (in) A handle to the vertex to be deleted. * \param v (in) A handle to the vertex to be deleted.
*/ */
virtual void after_remove_vertex() override { virtual void after_remove_vertex() override {
@ -331,7 +331,7 @@ public:
} }
} }
/*! Notificaion after the removal of an inner CCB. /*! Notification after the removal of an inner CCB.
* \param f (in) The face that used to contain the inner CCB. * \param f (in) The face that used to contain the inner CCB.
*/ */
virtual void after_remove_inner_ccb(Face_handle /* f */) override { virtual void after_remove_inner_ccb(Face_handle /* f */) override {

View File

@ -112,7 +112,7 @@ assign(const Self& arr)
} }
// Go over the list of halfedges in our arrangement. The curves associated // Go over the list of halfedges in our arrangement. The curves associated
// with these edges sotre pointers to the curves in the original // with these edges store pointers to the curves in the original
// arrangement, so we now have to modify these pointers, according to the // arrangement, so we now have to modify these pointers, according to the
// mapping we have just created. While doing so, we also construct the set // mapping we have just created. While doing so, we also construct the set
// of edges associated with each (duplicated) curve in our arrangement. // of edges associated with each (duplicated) curve in our arrangement.

View File

@ -312,8 +312,8 @@ public:
} }
/*! 6. Implementation of the operator in case the left and right sides have /*! 6. Implementation of the operator in case the left and right sides have
* boundary conditions (but they are nopt identified) and the bottom and top * boundary conditions (but they are not identified) and the bottom and top
* sides are identied. * sides are identified.
*/ */
Comparison_result compare_y_at_x(const Point_2& p, Comparison_result compare_y_at_x(const Point_2& p,
const X_monotone_curve_2& xcv, const X_monotone_curve_2& xcv,
@ -397,7 +397,7 @@ public:
/*! 8. Implementation of the operator in case the left and right sides are /*! 8. Implementation of the operator in case the left and right sides are
* identified, and the bottom and top sides have boundary conditions (but * identified, and the bottom and top sides have boundary conditions (but
* they are not identied). * they are not identified).
*/ */
Comparison_result compare_y_at_x(const Point_2& p, Comparison_result compare_y_at_x(const Point_2& p,
const X_monotone_curve_2& xcv, const X_monotone_curve_2& xcv,

View File

@ -2534,7 +2534,7 @@ _insert_at_vertices(DHalfedge* he_to,
// EBEB 2012-07-26 the following code enables optimizations: // EBEB 2012-07-26 the following code enables optimizations:
// - avoid length-test // - avoid length-test
// - search only local minima to find leftmost vertex // - search only local minima to find leftmost vertex
// - re-use of signs of ccbs // - reuse of signs of ccbs
// signs1/2 are only used when hole1 == hole2, // signs1/2 are only used when hole1 == hole2,
// thus we have to init them now // thus we have to init them now
Arr_halfedge_direction cv_dir1 = cv_dir; Arr_halfedge_direction cv_dir1 = cv_dir;

View File

@ -1176,7 +1176,7 @@ _zone_in_face(Face_handle face, bool on_boundary) {
m_left_he = (m_right_he->direction() == ARR_LEFT_TO_RIGHT) ? m_left_he = (m_right_he->direction() == ARR_LEFT_TO_RIGHT) ?
inserted_he : m_right_he; inserted_he : m_right_he;
else { else {
// Mutliplicity is unknown: // Multiplicity is unknown:
m_left_he = m_invalid_he; m_left_he = m_invalid_he;
} }
} }

View File

@ -271,7 +271,7 @@ public:
class Halfedge; class Halfedge;
class Face; class Face;
// Definition of the halfedge data-structure itereators and circulators: // Definition of the halfedge data-structure iterators and circulators:
typedef I_Filtered_iterator<DVertex_iter, _Is_concrete_vertex, typedef I_Filtered_iterator<DVertex_iter, _Is_concrete_vertex,
Vertex, DDifference, DIterator_category> Vertex, DDifference, DIterator_category>
Vertex_iterator; Vertex_iterator;

View File

@ -2015,7 +2015,7 @@ protected:
* boundary implies equality * boundary implies equality
* *
* \param p first endpoint * \param p first endpoint
* \param q second endpint * \param q second endpoint
* \param equal_x \c true indicates to skip the comparison by x * \param equal_x \c true indicates to skip the comparison by x
* \param only_x \c true indicates to report only the comparison by x * \param only_x \c true indicates to report only the comparison by x
* \returns the result of the queried comparison * \returns the result of the queried comparison

View File

@ -65,7 +65,7 @@ struct Curve_interval_arcno_cache {
//! type of second argument //! type of second argument
typedef bool second_argument_type; typedef bool second_argument_type;
//! type of third arguent //! type of third argument
typedef int third_argument_type; typedef int third_argument_type;
//! the result type //! the result type

View File

@ -32,7 +32,7 @@
// whether to use exact rational arithmetic // whether to use exact rational arithmetic
#define CGAL_CKVA_USE_RATIONAL_ARITHMETIC #define CGAL_CKVA_USE_RATIONAL_ARITHMETIC
// this turns on a signleton curve renderer // this turns on a singleton curve renderer
// (not recommended for multi-threaded applications) // (not recommended for multi-threaded applications)
//#define CGAL_CKVA_USE_STATIC_RENDERER //#define CGAL_CKVA_USE_STATIC_RENDERER

View File

@ -221,7 +221,7 @@ private:
//! returns \c true when the precision limit for a specified number type is //! returns \c true when the precision limit for a specified number type is
//! reached //! reached
typename Renderer_traits::Precision_limit limit; typename Renderer_traits::Precision_limit limit;
//! maximum level of subdivision dependending on specified number type //! maximum level of subdivision depending on specified number type
static const unsigned MAX_SUBDIVISION_LEVEL = static const unsigned MAX_SUBDIVISION_LEVEL =
Renderer_traits::MAX_SUBDIVISION_LEVEL; Renderer_traits::MAX_SUBDIVISION_LEVEL;

View File

@ -130,7 +130,7 @@ struct Transform {
/*!\brief /*!\brief
* class template \c Curve_renderer_traits * class template \c Curve_renderer_traits
* *
* this traits class prodives various number type conversions for the * this traits class provides various number type conversions for the
* curve renderer * curve renderer
*/ */

View File

@ -1237,7 +1237,7 @@ public:
//! \brief checks whether curve has only finitely many self-intersection //! \brief checks whether curve has only finitely many self-intersection
//! points, i.e., it has no self-overlapped continuous parts //! points, i.e., it has no self-overlapped continuous parts
//! //!
//! for algerbaic curves this means that supporting polynomial is //! for algebraic curves this means that supporting polynomial is
//! square-free //! square-free
struct Has_finite_number_of_self_intersections_2 : struct Has_finite_number_of_self_intersections_2 :
public CGAL::cpp98::unary_function< Polynomial_2, bool > { public CGAL::cpp98::unary_function< Polynomial_2, bool > {
@ -1252,7 +1252,7 @@ public:
//! \brief checks whether a curve pair has finitely many intersections, //! \brief checks whether a curve pair has finitely many intersections,
//! in other words, whether two curves have no continuous common part //! in other words, whether two curves have no continuous common part
//! //!
//! in case of algerbaic curves: checks whether supporting polynomials are //! in case of algebraic curves: checks whether supporting polynomials are
//! coprime //! coprime
struct Has_finite_number_of_intersections_2 : struct Has_finite_number_of_intersections_2 :
public CGAL::cpp98::binary_function< Curve_analysis_2, Curve_analysis_2, bool > { public CGAL::cpp98::binary_function< Curve_analysis_2, Curve_analysis_2, bool > {

View File

@ -317,7 +317,7 @@ namespace CGAL {
} }
/*! /*!
* Read a circular boundary of a conncted component. * Read a circular boundary of a connected component.
* \param formatter The formatter. * \param formatter The formatter.
* \param boundary_size The number of halfedges along the boundary. * \param boundary_size The number of halfedges along the boundary.
* \param p_outer The outer CCB. * \param p_outer The outer CCB.

View File

@ -197,7 +197,7 @@ namespace draw_function_for_arrangement_2
} }
} }
/*! Draw a region using aproximate coordinates. /*! Draw a region using approximate coordinates.
* Call this member function only if the geometry traits is equipped with * Call this member function only if the geometry traits is equipped with
* the coordinate-approximation functionality of a curve. * the coordinate-approximation functionality of a curve.
* This function must be inlined (e.g., a template) to enable the * This function must be inlined (e.g., a template) to enable the
@ -416,7 +416,7 @@ namespace draw_function_for_arrangement_2
m_visited.clear(); m_visited.clear();
} }
/*! Draw a curve using aproximate coordinates. /*! Draw a curve using approximate coordinates.
* Call this member function only of the geometry traits is equipped with * Call this member function only of the geometry traits is equipped with
* the coordinate-aproximation functionality of a curve. * the coordinate-aproximation functionality of a curve.
* This function must be inlined (e.g., a template) to enable the * This function must be inlined (e.g., a template) to enable the

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script # Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application. # This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(Arrangement_on_surface_2_Tests) project(Arrangement_on_surface_2_Tests)
enable_testing() enable_testing()

View File

@ -1,6 +1,6 @@
# Input is based on the curves and points indexes from intersect.pt # Input is based on the curves and points indexes from intersect.pt
# intersect.xcv. The first two numbers are the numbers of the input curves # intersect.xcv. The first two numbers are the numbers of the input curves
# to be intersected. After that there is the number of intesections and # to be intersected. After that there is the number of intersections and
# 2-3 numbers representing each intersection. Meaning, the input is of the form: # 2-3 numbers representing each intersection. Meaning, the input is of the form:
# intersect <id of 1st x-curve> <id of 2nd x-curve> \ # intersect <id of 1st x-curve> <id of 2nd x-curve> \
# <expected number of intersections> [<type of intersection> \ # <expected number of intersections> [<type of intersection> \

View File

@ -476,13 +476,13 @@ public:
virtual void after_move_isolated_vertex(Vertex_handle /* v */) override virtual void after_move_isolated_vertex(Vertex_handle /* v */) override
{ compare_results("after_move_isolated_vertex"); } { compare_results("after_move_isolated_vertex"); }
/*! Notificaion before the removal of a vertex. /*! Notification before the removal of a vertex.
* \param v A handle to the vertex to be deleted. * \param v A handle to the vertex to be deleted.
*/ */
virtual void before_remove_vertex(Vertex_handle /* v */) override virtual void before_remove_vertex(Vertex_handle /* v */) override
{ compare_results("before_remove_vertex"); } { compare_results("before_remove_vertex"); }
/*! Notificaion after the removal of a vertex. /*! Notification after the removal of a vertex.
*/ */
virtual void after_remove_vertex() override virtual void after_remove_vertex() override
{ compare_results("after_remove_vertex"); } { compare_results("after_remove_vertex"); }
@ -493,7 +493,7 @@ public:
virtual void before_remove_edge(Halfedge_handle /* e */) override virtual void before_remove_edge(Halfedge_handle /* e */) override
{ compare_results("before_remove_edge"); } { compare_results("before_remove_edge"); }
/*! Notificaion after the removal of an edge. /*! Notification after the removal of an edge.
*/ */
virtual void after_remove_edge() override virtual void after_remove_edge() override
{ compare_results("after_remove_edge"); } { compare_results("after_remove_edge"); }
@ -506,7 +506,7 @@ public:
Ccb_halfedge_circulator /* h */) override Ccb_halfedge_circulator /* h */) override
{ compare_results("before_remove_outer_ccb"); } { compare_results("before_remove_outer_ccb"); }
/*! Notificaion after the removal of an outer CCB. /*! Notification after the removal of an outer CCB.
* \param f The face that used to own the outer CCB. * \param f The face that used to own the outer CCB.
*/ */
virtual void after_remove_outer_ccb(Face_handle /* f */) override virtual void after_remove_outer_ccb(Face_handle /* f */) override
@ -520,7 +520,7 @@ public:
Ccb_halfedge_circulator /* h */) override Ccb_halfedge_circulator /* h */) override
{ compare_results("before_remove_inner_ccb"); } { compare_results("before_remove_inner_ccb"); }
/*! Notificaion after the removal of an inner CCB. /*! Notification after the removal of an inner CCB.
* \param f The face that used to contain the inner CCB. * \param f The face that used to contain the inner CCB.
*/ */
virtual void after_remove_inner_ccb(Face_handle /* f */) override virtual void after_remove_inner_ccb(Face_handle /* f */) override

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists # Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications. # This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_LCC_Examples) project(BGL_LCC_Examples)
# CGAL and its components # CGAL and its components

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists # Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications. # This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_OpenMesh_Examples) project(BGL_OpenMesh_Examples)
# CGAL and its components # CGAL and its components
@ -9,9 +9,9 @@ find_package(CGAL REQUIRED)
find_package(OpenMesh) find_package(OpenMesh)
if(OpenMesh_FOUND) if(OpenMesh_FOUND)
include(UseOpenMesh) include(CGAL_OpenMesh_support)
create_single_source_cgal_program("TriMesh.cpp") create_single_source_cgal_program("TriMesh.cpp")
target_link_libraries(TriMesh PRIVATE ${OPENMESH_LIBRARIES}) target_link_libraries(TriMesh PRIVATE CGAL::OpenMesh_support)
else() else()
message("NOTICE: This project requires OpenMesh and will not be compiled.") message("NOTICE: This project requires OpenMesh and will not be compiled.")
endif() endif()

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_arrangement_2_Examples) project(BGL_arrangement_2_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists # Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications. # This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_graphcut_Examples) project(BGL_graphcut_Examples)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists # Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications. # This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_polyhedron_3_Examples) project(BGL_polyhedron_3_Examples)
# CGAL and its components # CGAL and its components
@ -18,8 +18,8 @@ create_single_source_cgal_program("copy_polyhedron.cpp")
find_package(OpenMesh QUIET) find_package(OpenMesh QUIET)
if(OpenMesh_FOUND) if(OpenMesh_FOUND)
target_link_libraries(copy_polyhedron PRIVATE ${OPENMESH_LIBRARIES}) include(CGAL_OpenMesh_support)
target_compile_definitions(copy_polyhedron PRIVATE -DCGAL_USE_OPENMESH) target_link_libraries(copy_polyhedron PRIVATE CGAL::OpenMesh_support)
else() else()
message(STATUS "NOTICE: The example 'copy_polyhedron' will not use OpenMesh.") message(STATUS "NOTICE: The example 'copy_polyhedron' will not use OpenMesh.")
endif() endif()

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_surface_mesh_Examples) project(BGL_surface_mesh_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.12...3.29)
project(BGL_triangulation_2_Examples) project(BGL_triangulation_2_Examples)
find_package(CGAL REQUIRED) find_package(CGAL REQUIRED)

View File

@ -33,6 +33,8 @@ namespace CGAL {
namespace METIS { namespace METIS {
#ifndef DOXYGEN_RUNNING
template<typename TriangleMesh, typename METIS_options, typename NamedParameters> template<typename TriangleMesh, typename METIS_options, typename NamedParameters>
void partition_dual_graph(const TriangleMesh& tm, void partition_dual_graph(const TriangleMesh& tm,
int nparts, int nparts,
@ -128,6 +130,8 @@ void partition_dual_graph(const TriangleMesh& tm, int nparts,
return partition_dual_graph(tm, nparts, &options, np); return partition_dual_graph(tm, nparts, &options, np);
} }
#endif
/// \ingroup PkgBGLPartition /// \ingroup PkgBGLPartition
/// ///
/// computes a partition of the input triangular mesh into `nparts` parts, /// computes a partition of the input triangular mesh into `nparts` parts,

View File

@ -31,6 +31,8 @@ namespace CGAL {
namespace METIS { namespace METIS {
#ifndef DOXYGEN_RUNNING
struct Output_vertex_partition_ids struct Output_vertex_partition_ids
{ {
template<typename TriangleMesh, typename Indices> template<typename TriangleMesh, typename Indices>
@ -68,6 +70,8 @@ struct Output_face_partition_ids
} }
}; };
template<typename TriangleMesh, typename METIS_options, typename NamedParameters> template<typename TriangleMesh, typename METIS_options, typename NamedParameters>
void partition_graph(const TriangleMesh& tm, void partition_graph(const TriangleMesh& tm,
int nparts, int nparts,
@ -161,6 +165,9 @@ void partition_graph(const TriangleMesh& tm, int nparts,
return partition_graph(tm, nparts, &options, np); return partition_graph(tm, nparts, &options, np);
} }
#endif
/// \ingroup PkgBGLPartition /// \ingroup PkgBGLPartition
/// ///
/// computes a partition of the input triangular mesh into `nparts` parts, based on the /// computes a partition of the input triangular mesh into `nparts` parts, based on the

View File

@ -62,13 +62,15 @@ void copy_face_graph_impl(const SourceMesh& sm, TargetMesh& tm,
const tm_face_descriptor tm_null_face = boost::graph_traits<TargetMesh>::null_face(); const tm_face_descriptor tm_null_face = boost::graph_traits<TargetMesh>::null_face();
const tm_vertex_descriptor tm_null_vertex = boost::graph_traits<TargetMesh>::null_vertex(); const tm_vertex_descriptor tm_null_vertex = boost::graph_traits<TargetMesh>::null_vertex();
reserve(tm, static_cast<typename boost::graph_traits<TargetMesh>::vertices_size_type>(vertices(tm).size()+vertices(sm).size()), reserve(tm, static_cast<typename boost::graph_traits<TargetMesh>::vertices_size_type>(internal::exact_num_vertices(tm)+internal::exact_num_vertices(sm)),
static_cast<typename boost::graph_traits<TargetMesh>::edges_size_type>(edges(tm).size()+edges(sm).size()), static_cast<typename boost::graph_traits<TargetMesh>::edges_size_type>(internal::exact_num_edges(tm)+internal::exact_num_edges(sm)),
static_cast<typename boost::graph_traits<TargetMesh>::faces_size_type>(faces(tm).size()+faces(sm).size()) ); static_cast<typename boost::graph_traits<TargetMesh>::faces_size_type>(internal::exact_num_faces(tm)+internal::exact_num_faces(sm)) );
//insert halfedges and create each vertex when encountering its halfedge //insert halfedges and create each vertex when encountering its halfedge
std::vector<tm_edge_descriptor> new_edges; std::vector<tm_edge_descriptor> new_edges;
new_edges.reserve(edges(sm).size()); std::vector<tm_halfedge_descriptor> new_vertices;
new_edges.reserve(internal::exact_num_edges(sm));
new_vertices.reserve(internal::exact_num_vertices(sm));
for(sm_edge_descriptor sm_e : edges(sm)) for(sm_edge_descriptor sm_e : edges(sm))
{ {
tm_edge_descriptor tm_e = add_edge(tm); tm_edge_descriptor tm_e = add_edge(tm);
@ -106,6 +108,7 @@ void copy_face_graph_impl(const SourceMesh& sm, TargetMesh& tm,
tm_vertex_descriptor tm_h_tgt = add_vertex(tm); tm_vertex_descriptor tm_h_tgt = add_vertex(tm);
*v2v++=std::make_pair(sm_h_tgt, tm_h_tgt); *v2v++=std::make_pair(sm_h_tgt, tm_h_tgt);
set_halfedge(tm_h_tgt, tm_h, tm); set_halfedge(tm_h_tgt, tm_h, tm);
new_vertices.push_back(tm_h);
set_target(tm_h, tm_h_tgt, tm); set_target(tm_h, tm_h_tgt, tm);
put(tm_vpm, tm_h_tgt, conv(get(sm_vpm, sm_h_tgt))); put(tm_vpm, tm_h_tgt, conv(get(sm_vpm, sm_h_tgt)));
} }
@ -116,6 +119,7 @@ void copy_face_graph_impl(const SourceMesh& sm, TargetMesh& tm,
tm_vertex_descriptor tm_h_src = add_vertex(tm); tm_vertex_descriptor tm_h_src = add_vertex(tm);
*v2v++=std::make_pair(sm_h_src, tm_h_src); *v2v++=std::make_pair(sm_h_src, tm_h_src);
set_halfedge(tm_h_src, tm_h_opp, tm); set_halfedge(tm_h_src, tm_h_opp, tm);
new_vertices.push_back(tm_h_opp);
set_target(tm_h_opp, tm_h_src, tm); set_target(tm_h_opp, tm_h_src, tm);
put(tm_vpm, tm_h_src, conv(get(sm_vpm, sm_h_src))); put(tm_vpm, tm_h_src, conv(get(sm_vpm, sm_h_src)));
} }
@ -163,11 +167,9 @@ void copy_face_graph_impl(const SourceMesh& sm, TargetMesh& tm,
} }
} }
// update halfedge vertex of all but the vertex halfedge // update halfedge vertex of all but the vertex halfedge
for(tm_vertex_descriptor v : vertices(tm)) for(tm_halfedge_descriptor h : new_vertices)
{ {
tm_halfedge_descriptor h = halfedge(v, tm); tm_vertex_descriptor v = target(h, tm);
if (h==boost::graph_traits<TargetMesh>::null_halfedge())
continue;
tm_halfedge_descriptor next_around_vertex=h; tm_halfedge_descriptor next_around_vertex=h;
do{ do{
next_around_vertex=opposite(next(next_around_vertex, tm), tm); next_around_vertex=opposite(next(next_around_vertex, tm), tm);

Some files were not shown because too many files have changed in this diff Show More