Rename package to Straight_skeleton_extrusion_2, move /examples to SLS

This commit is contained in:
Mael Rouxel-Labbé 2023-03-27 11:50:21 +02:00
parent 1cdc7db13c
commit ff54473e63
65 changed files with 77 additions and 99 deletions

View File

@ -1,54 +0,0 @@
// Copyright (c) 2016 GeometryFactory SARL (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org)
//
// $URL$
// $Id$
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
// Author(s) : Andreas Fabri
//
// Warning: this file is generated, see include/CGAL/license/README.md
#ifndef CGAL_LICENSE_POLYGON_EXTRUSION_H
#define CGAL_LICENSE_POLYGON_EXTRUSION_H
#include <CGAL/config.h>
#include <CGAL/license.h>
#ifdef CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE
# if CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE
# if defined(CGAL_LICENSE_WARNING)
CGAL_pragma_warning("Your commercial license for CGAL does not cover "
"this release of the 2D Polygon Extrusion package.")
# endif
# ifdef CGAL_LICENSE_ERROR
# error "Your commercial license for CGAL does not cover this release \
of the 2D Polygon Extrusion package. \
You get this error, as you defined CGAL_LICENSE_ERROR."
# endif // CGAL_LICENSE_ERROR
# endif // CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE
#else // no CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE
# if defined(CGAL_LICENSE_WARNING)
CGAL_pragma_warning("\nThe macro CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE is not defined."
"\nYou use the CGAL 2D Polygon Extrusion package under "
"the terms of the GPLv3+.")
# endif // CGAL_LICENSE_WARNING
# ifdef CGAL_LICENSE_ERROR
# error "The macro CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE is not defined.\
You use the CGAL 2D Polygon Extrusion package under the terms of \
the GPLv3+. You get this error, as you defined CGAL_LICENSE_ERROR."
# endif // CGAL_LICENSE_ERROR
#endif // no CGAL_POLYGON_EXTRUSION_COMMERCIAL_LICENSE
#endif // CGAL_LICENSE_POLYGON_EXTRUSION_H

View File

@ -0,0 +1,54 @@
// Copyright (c) 2016 GeometryFactory SARL (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org)
//
// $URL$
// $Id$
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
// Author(s) : Andreas Fabri
//
// Warning: this file is generated, see include/CGAL/license/README.md
#ifndef CGAL_LICENSE_STRAIGHT_SKELETON_EXTRUSION_2_H
#define CGAL_LICENSE_STRAIGHT_SKELETON_EXTRUSION_2_H
#include <CGAL/config.h>
#include <CGAL/license.h>
#ifdef CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE
# if CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE
# if defined(CGAL_LICENSE_WARNING)
CGAL_pragma_warning("Your commercial license for CGAL does not cover "
"this release of the 2D Straight Skeleton Extrusion package.")
# endif
# ifdef CGAL_LICENSE_ERROR
# error "Your commercial license for CGAL does not cover this release \
of the 2D Straight Skeleton Extrusion package. \
You get this error, as you defined CGAL_LICENSE_ERROR."
# endif // CGAL_LICENSE_ERROR
# endif // CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE
#else // no CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE
# if defined(CGAL_LICENSE_WARNING)
CGAL_pragma_warning("\nThe macro CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE is not defined."
"\nYou use the CGAL 2D Straight Skeleton Extrusion package under "
"the terms of the GPLv3+.")
# endif // CGAL_LICENSE_WARNING
# ifdef CGAL_LICENSE_ERROR
# error "The macro CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE is not defined.\
You use the CGAL 2D Straight Skeleton Extrusion package under the terms of \
the GPLv3+. You get this error, as you defined CGAL_LICENSE_ERROR."
# endif // CGAL_LICENSE_ERROR
#endif // no CGAL_STRAIGHT_SKELETON_EXTRUSION_2_COMMERCIAL_LICENSE
#endif // CGAL_LICENSE_STRAIGHT_SKELETON_EXTRUSION_2_H

View File

@ -45,7 +45,6 @@ Point_set_2 2D Range and Neighbor Search
Point_set_3 3D Point Set
Point_set_processing_3 Point Set Processing
Poisson_surface_reconstruction_3 Poisson Surface Reconstruction
Polygon_extrusion 2D Polygon Extrusion
Polygon_mesh_processing Polygon Mesh Processing
Polygon_mesh_processing/Compute_normal Polygon Mesh Processing - Normal Computation
Polygon_mesh_processing/connected_components Polygon Mesh Processing - Connected Components
@ -78,6 +77,7 @@ Skin_surface_3 3D Skin Surface Meshing
Snap_rounding_2 2D Snap Rounding
Spatial_searching dD Spatial Searching
Straight_skeleton_2 2D Straight Skeleton and Polygon Offsetting
Straight_skeleton_extrusion_2 2D Straight Skeleton Extrusion
Stream_lines_2 2D Placement of Streamlines
Surface_mesh_deformation Triangulated Surface Mesh Deformation
Surface_mesher 3D Surface Mesh Generation

View File

@ -1,22 +0,0 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23)
project(Polygon_extrusion_Examples)
find_package(CGAL REQUIRED COMPONENTS Qt5 Core)
include_directories(BEFORE "include")
# create a target per cppfile
file(
GLOB cppfiles
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
foreach(cppfile ${cppfiles})
create_single_source_cgal_program("${cppfile}")
endforeach()
if(CGAL_Qt5_FOUND)
target_link_libraries(extrude_skeleton PUBLIC CGAL::CGAL_Basic_viewer)
endif()

View File

@ -10,7 +10,7 @@
/// \defgroup PkgStraightSkeleton2Auxiliary Auxiliary Classes
/// \ingroup PkgStraightSkeleton2Ref
/// \defgroup PkgStraightSkeleton2Extrusion Polygon Extrusion
/// \defgroup PkgStraightSkeleton2Extrusion Skeleton Extrusion
/// \ingroup PkgStraightSkeleton2Ref
///
/// The following functions are used to construct the skeleton extrusion of a polygon.
@ -171,7 +171,7 @@
- `CGAL::create_exterior_weighted_skeleton_and_offset_polygons_with_holes_2()`
- `CGAL::create_offset_polygons_2()`
\cgalCRPSection{Polygon Extrusion}
\cgalCRPSection{Skeleton Extrusion}
- `CGAL::extrude_skeleton()`
\cgalCRPSection{Lower Level API}

View File

@ -4,9 +4,10 @@
cmake_minimum_required(VERSION 3.1...3.23)
project( Straight_skeleton_2_Examples )
find_package(CGAL REQUIRED COMPONENTS Qt5 Core)
include_directories(BEFORE include)
# create a target per cppfile
file(GLOB cppfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
foreach(cppfile ${cppfiles})
@ -19,6 +20,7 @@ if(CGAL_Qt5_FOUND)
target_link_libraries(Create_straight_skeleton_2 PUBLIC CGAL::CGAL_Basic_viewer)
target_link_libraries(Show_offset_polygon PUBLIC CGAL::CGAL_Basic_viewer)
target_link_libraries(Show_straight_skeleton PUBLIC CGAL::CGAL_Basic_viewer)
target_link_libraries(extrude_skeleton PUBLIC CGAL::CGAL_Basic_viewer)
else()
message(STATUS "NOTICE: The example 'draw_straight_skeleton_2' requires Qt and will not be compiled.")
endif()

View File

@ -1,5 +1,3 @@
#define CGAL_SLS_DEBUG_DRAW
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h>

View File

@ -3,8 +3,8 @@
//
// This file is part of CGAL (www.cgal.org).
#ifndef CGAL_POLYGON_EXTRUSION_INPUT_HELPERS_H
# define CGAL_POLYGON_EXTRUSION_INPUT_HELPERS_H
#ifndef CGAL_STRAIGHT_SKELETON_EXTRUSION_INPUT_HELPERS_H
# define CGAL_STRAIGHT_SKELETON_EXTRUSION_INPUT_HELPERS_H
#include <CGAL/Polygon_2_algorithms.h>
#include <CGAL/constructions/Straight_skeleton_cons_ftC2.h>
@ -253,4 +253,4 @@ void generate_random_weights(const PolygonWithHoles& p,
speeds.push_back(generate_range_weights(*hit));
}
#endif // CGAL_POLYGON_EXTRUSION_INPUT_HELPERS_H
#endif // CGAL_STRAIGHT_SKELETON_EXTRUSION_INPUT_HELPERS_H

View File

@ -10,12 +10,12 @@
// Author(s) : Mael Rouxel-Labbé
//
#ifndef CGAL_POLYGON_EXTRUSION_EXTRUDE_SKELETON_H
#define CGAL_POLYGON_EXTRUSION_EXTRUDE_SKELETON_H
#ifndef CGAL_SLS_EXTRUSION_EXTRUDE_SKELETON_H
#define CGAL_SLS_EXTRUSION_EXTRUDE_SKELETON_H
#define CGAL_SLS_OUTPUT_FILES
#include <CGAL/license/Polygon_extrusion.h>
#include <CGAL/license/Straight_skeleton_extrusion_2.h>
#ifdef CGAL_SLS_DEBUG_DRAW
#include <CGAL/draw_straight_skeleton_2.h>
@ -65,7 +65,7 @@
#include <vector>
namespace CGAL {
namespace Polygon_extrusions {
namespace Straight_skeleton_extrusion {
namespace internal {
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -1048,7 +1048,7 @@ bool extrude_skeleton(const PolygonWithHoles& pwh,
}
} // namespace internal
} // namespace Polygon_extrusions
} // namespace Straight_skeleton_extrusion
// Documented in the Straight_skeleton_2 package
template <typename PolygonWithHoles,
@ -1059,7 +1059,7 @@ bool extrude_skeleton(const PolygonWithHoles& pwh,
const NamedParameters& np = parameters::default_values(),
std::enable_if_t<CGAL_SS_i::has_Hole_const_iterator<PolygonWithHoles>::value>* = nullptr)
{
namespace PEI = Polygon_extrusions::internal;
namespace SSEI = Straight_skeleton_extrusion::internal;
using Polygon_2 = typename PolygonWithHoles::General_polygon_2;
using K = typename Kernel_traits<typename boost::range_value<Polygon_2>::type>::type;
@ -1079,14 +1079,14 @@ bool extrude_skeleton(const PolygonWithHoles& pwh,
{
// not using "Angles" here is on purpose, I want to copy the range but the NP is ref only
auto weights = choose_parameter(get_parameter_reference(np, internal_np::weights_param), def_speeds);
return PEI::extrude_skeleton(pwh, weights, out, np);
return SSEI::extrude_skeleton(pwh, weights, out, np);
}
else if(has_angles)
{
// not using "Weights" here is on purpose, I want to copy the range but the NP is ref only
auto angles = choose_parameter(get_parameter_reference(np, internal_np::angles_param), def_speeds);
PEI::convert_angles<FT>(angles);
return PEI::extrude_skeleton(pwh, angles, out, np);
SSEI::convert_angles<FT>(angles);
return SSEI::extrude_skeleton(pwh, angles, out, np);
}
else // neither angles nor weights were provided
{
@ -1097,7 +1097,7 @@ bool extrude_skeleton(const PolygonWithHoles& pwh,
for(const auto& hole : pwh.holes())
uniform_weights.push_back(std::vector<FT>(hole.size(), FT(1)));
return PEI::extrude_skeleton(pwh, uniform_weights, out, np);
return SSEI::extrude_skeleton(pwh, uniform_weights, out, np);
}
}
@ -1120,4 +1120,4 @@ bool extrude_skeleton(const Polygon& p,
} // namespace CGAL
#endif // CGAL_POLYGON_EXTRUSION_EXTRUDE_SKELETON_H
#endif // CGAL_SLS_EXTRUSION_EXTRUDE_SKELETON_H

View File

@ -2,7 +2,7 @@
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23)
project(Polygon_extrusion_Tests)
project(Straight_skeleton_extrusion_2_Tests)
find_package(CGAL REQUIRED COMPONENTS Qt5 Core)

View File

@ -109,7 +109,6 @@ R = RU Groningen
Poisson_surface_reconstruction_3 I
Polygon ETIMU
Polygonal_surface_reconstruction Liangliang Nan
Polygon_extrusion G
Polygon_mesh_processing G
Polyhedron E
Polyline_simplification_2 G
@ -139,6 +138,7 @@ R = RU Groningen
Spatial_sorting I
STL_Extension ETIMU
Straight_skeleton_2 G
Straight_skeleton_extrusion_2 G
Stream_lines_2 I
Stream_support ETIMU
Subdivision_method_3 G