move everything about C3t3 to new package MDS_3

This commit is contained in:
Jane Tournois 2021-04-23 13:54:37 +02:00
parent 4575d8919c
commit e0335e3e5e
41 changed files with 143 additions and 55 deletions

View File

@ -17,6 +17,22 @@ This package is devoted to the representation of 3-Dimensional Mesh Data Structu
The domain to be meshed is a subset of 3D space, required to be bounded.
//The template parameter `C3T3` is required to be a model of
//the concept
//`MeshComplex_3InTriangulation_3`, a data structure devised to
//represent a three dimensional complex embedded in a 3D
//triangulation. In both functions, an instance of type `C3T3` is used to maintain the current
//approximating simplicial mesh
//and to represent the final 3D mesh at the end
//of the procedure.
//
//The embedding 3D triangulation is required to be the nested type
//`CGAL::Mesh_triangulation_3::type`, provided by the class template
//`CGAL::Mesh_triangulation_3`. The type for this triangulation is a
//wrapper around the class `CGAL::Regular_triangulation_3` whose vertex and cell base classes
//are respectively models of the concepts `MeshVertexBase_3` and
//`MeshCellBase_3`.
\subsection MDS_3ImplementationHistory Implementation History
The code of the package `MDS_3` was initially part of the package `Mesh_3`.

View File

@ -13,13 +13,13 @@
#ifndef CGAL_IO_FILE_BINARY_MESH_3_H
#define CGAL_IO_FILE_BINARY_MESH_3_H
#include <CGAL/license/Triangulation_3.h>
#include <CGAL/license/MDS_3.h>
#include <iostream>
#include <string>
#include <limits>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
namespace CGAL {

View File

@ -17,7 +17,7 @@
#include <CGAL/disable_warnings.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <CGAL/MDS_3/Mesh_complex_3_in_triangulation_3_base.h>
#include <CGAL/IO/File_medit.h>

View File

@ -24,12 +24,12 @@
#include <CGAL/Mesh_3/config.h>
#include <CGAL/Mesh_3/utilities.h>
#include <CGAL/MDS_3/utilities.h>
#include <CGAL/iterator.h>
#include <CGAL/IO/File_medit.h>
#include <CGAL/IO/File_maya.h>
#include <CGAL/Bbox_3.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <CGAL/Union_find.h>
#include <CGAL/Time_stamper.h>
@ -70,7 +70,7 @@ namespace CGAL {
#endif
namespace CGAL {
namespace Mesh_3 {
namespace MDS_3 {
namespace details {
@ -110,7 +110,7 @@ namespace Mesh_3 {
}; // end class template C3t3_helper_class
} // end namespace Mesh_3::details
} // end namespace MDS_3::details
/**
* @class Mesh_complex_3_in_triangulation_3_base
@ -675,7 +675,7 @@ private:
// Traversal
//-------------------------------------------------------
private:
typedef Mesh_3::internal::Iterator_not_in_complex<Self> Iterator_not_in_complex;
typedef MDS_3::internal::Iterator_not_in_complex<Self> Iterator_not_in_complex;
class Facet_iterator_not_in_complex
{
@ -1136,7 +1136,7 @@ rescan_after_load_of_triangulation() {
}
}
} // end namespace Mesh_3
} // end namespace MDS_3
} // end namespace CGAL
#include <CGAL/enable_warnings.h>

View File

@ -14,10 +14,10 @@
// File Description :
//******************************************************************************
#ifndef CGAL_MESH_3_UTILITIES_H
#define CGAL_MESH_3_UTILITIES_H
#ifndef CGAL_MDS_3_UTILITIES_H
#define CGAL_MDS_3_UTILITIES_H
#include <CGAL/license/Triangulation_3.h>
#include <CGAL/license/MDS_3.h>
#include <CGAL/Has_timestamp.h>
#include <iterator>
@ -25,7 +25,7 @@
#include <sstream>
namespace CGAL {
namespace Mesh_3 {
namespace MDS_3 {
namespace internal {
struct Debug_messages_tools {
@ -115,7 +115,7 @@ public:
} // end namespace internal
} // end namespace Mesh_3
} // end namespace MDS_3
} //namespace CGAL
#endif // CGAL_MESH_3_UTILITIES_H
#endif // CGAL_MDS_3_UTILITIES_H

View File

@ -23,9 +23,9 @@
#include <CGAL/MDS_3/Mesh_complex_3_in_triangulation_3_fwd.h>
#include <CGAL/disable_warnings.h>
#include <CGAL/iterator.h>
#include <CGAL/Mesh_3/utilities.h>
#include <CGAL/MDS_3/utilities.h>
#include <CGAL/MDS_3/Mesh_complex_3_in_triangulation_3_base.h>
#include <CGAL/internal/Mesh_3/Boundary_of_subdomain_of_complex_3_in_triangulation_3_to_off.h>
#include <CGAL/internal/MDS_3/Boundary_of_subdomain_of_complex_3_in_triangulation_3_to_off.h>
#include <CGAL/Time_stamper.h>
#include <boost/bimap/bimap.hpp>
@ -42,9 +42,9 @@ template <typename Tr,
typename CornerIndex,
typename CurveIndex>
class Mesh_complex_3_in_triangulation_3 :
public Mesh_3::Mesh_complex_3_in_triangulation_3_base<
public MDS_3::Mesh_complex_3_in_triangulation_3_base<
Tr, typename Tr::Concurrency_tag>
, public CGAL::Mesh_3::internal::Debug_messages_tools
, public CGAL::MDS_3::internal::Debug_messages_tools
{
public:
typedef typename Tr::Concurrency_tag Concurrency_tag;
@ -52,7 +52,7 @@ public:
private:
typedef Mesh_complex_3_in_triangulation_3<
Tr,CornerIndex,CurveIndex> Self;
typedef Mesh_3::Mesh_complex_3_in_triangulation_3_base<
typedef MDS_3::Mesh_complex_3_in_triangulation_3_base<
Tr,Concurrency_tag> Base;
public:
@ -454,7 +454,7 @@ private:
// Iterator type to get the first element of pair
typedef boost::transform_iterator <
Mesh_3::internal::First_of<typename Vertex_map_filter_iterator::value_type>,
MDS_3::internal::First_of<typename Vertex_map_filter_iterator::value_type>,
Vertex_map_filter_iterator > Vertex_map_iterator_first;
// Iterator type to remove a level of referencing
@ -775,7 +775,7 @@ operator<< (std::ostream& os,
// TODO: implement edge saving
typedef typename Mesh_complex_3_in_triangulation_3<Tr,CI_,CSI_>::Concurrency_tag Concurrency_tag;
return os << static_cast<
const Mesh_3::Mesh_complex_3_in_triangulation_3_base<Tr, Concurrency_tag>&>(c3t3);
const MDS_3::Mesh_complex_3_in_triangulation_3_base<Tr, Concurrency_tag>&>(c3t3);
}
@ -787,7 +787,7 @@ operator>> (std::istream& is,
// TODO: implement edge loading
typedef typename Mesh_complex_3_in_triangulation_3<Tr,CI_,CSI_>::Concurrency_tag Concurrency_tag;
is >> static_cast<
Mesh_3::Mesh_complex_3_in_triangulation_3_base<Tr, Concurrency_tag>&>(c3t3);
MDS_3::Mesh_complex_3_in_triangulation_3_base<Tr, Concurrency_tag>&>(c3t3);
c3t3.rescan_after_load_of_triangulation();
return is;
}

View File

@ -18,7 +18,7 @@
#include <CGAL/disable_warnings.h>
#include <utility>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <ostream>
#include <istream>
#include <boost/variant.hpp>

View File

@ -0,0 +1,36 @@
# 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.15)
project( MDS_3_Tests )
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
find_package(CGAL REQUIRED)
# Use Eigen
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
include(CGAL_Eigen3_support)
if (NOT TARGET CGAL::Eigen3_support)
message(STATUS "This project requires the Eigen library, and will not be compiled.")
return()
endif()
create_single_source_cgal_program( "test_c3t3.cpp" )
create_single_source_cgal_program( "test_c3t3_io.cpp" )
create_single_source_cgal_program( "test_c3t3_with_features.cpp" )
create_single_source_cgal_program( "test_c3t3_into_facegraph.cpp" )
create_single_source_cgal_program( "test_c3t3_extract_subdomains_boundaries.cpp" )
foreach(target
test_c3t3
test_c3t3_io
test_c3t3_with_features
test_c3t3_into_facegraph
test_c3t3_extract_subdomains_boundaries)
if(TARGET ${target})
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support)
endif()
endforeach()

View File

@ -37,9 +37,9 @@ struct Tester
typedef typename CGAL::Mesh_triangulation_3<Mesh_domain>::type Tr;
typedef CGAL::Mesh_complex_3_in_triangulation_3<Tr> C3t3;
typedef CGAL::Mesh_3::Mesh_complex_3_in_triangulation_3_base<Tr,
typedef CGAL::MDS_3::Mesh_complex_3_in_triangulation_3_base<Tr,
CGAL::Sequential_tag> C3t3_base_sequential;
typedef CGAL::Mesh_3::Mesh_complex_3_in_triangulation_3_base<Tr,
typedef CGAL::MDS_3::Mesh_complex_3_in_triangulation_3_base<Tr,
CGAL::Parallel_tag> C3t3_base_parallel;
typedef typename Tr::Bare_point Bare_point;

View File

@ -1,5 +1,5 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <CGAL/Mesh_triangulation_3.h>
#include <CGAL/Mesh_complex_3_in_triangulation_3.h>
#include <CGAL/IO/File_binary_mesh_3.h>

View File

@ -0,0 +1,51 @@
// Copyright (c) 2009 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org).
//
// $URL$
// $Id$
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
//
//
// Author(s) : Stephane Tayeb
//
//******************************************************************************
// File Description :
//
//******************************************************************************
#ifndef CGAL_MESH_3_TEST_TEST_UTILITIES_H
#define CGAL_MESH_3_TEST_TEST_UTILITIES_H
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Mesh_triangulation_3.h>
#include <CGAL/Mesh_complex_3_in_triangulation_3.h>
#include <CGAL/disable_warnings.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K_e_i;
typedef CGAL::Exact_predicates_exact_constructions_kernel K_e_e;
namespace CGAL {
namespace details {
template<>
struct Mesh_geom_traits_generator<K_e_e>
{
private:
typedef K_e_e Geom_traits;
public:
typedef Geom_traits type;
typedef type Type;
}; // end struct Mesh_geom_traits_generator<...>
} // end namespace details
} // end namespace CGAL
#include <CGAL/enable_warnings.h>
#endif // CGAL_MESH_3_TEST_TEST_UTILITIES_H

View File

@ -57,8 +57,6 @@
Here are the main concepts of this package:
- `MeshTriangulationTraits_3`
- `MeshComplex_3InTriangulation_3`
- `MeshComplexWithFeatures_3InTriangulation_3`
- `MeshDomain_3`
- `MeshDomainWithFeatures_3`
- `MeshCriteria_3`
@ -80,7 +78,6 @@ related to the template parameters of some models of the main concepts:
\cgalCRPSection{Classes}
- `CGAL::Mesh_complex_3_in_triangulation_3<Tr,CornerIndex,CurveIndex>`
- `CGAL::Mesh_triangulation_3<MD,Gt,Concurrency_tag,Vertex_base,Cell_base>`
- `CGAL::Mesh_vertex_base_3<Gt,MD,Vb>`
- `CGAL::Compact_mesh_cell_base_3<Gt,MD,Tds>`
@ -114,7 +111,6 @@ and their associated classes:
- `CGAL::perturb_mesh_3()`
- `CGAL::lloyd_optimize_mesh_3()`
- `CGAL::odt_optimize_mesh_3()`
- `CGAL::facets_in_complex_3_to_triangle_mesh()`
\cgalCRPSection{CGAL::parameters Functions}
@ -137,8 +133,5 @@ and their associated classes:
- `CGAL::Mesh_optimization_return_code`
- `CGAL::Mesh_facet_topology`
\cgalCRPSection{Input/Output Functions}
- `CGAL::output_to_medit()`
- `CGAL::output_to_vtu()`
*/

View File

@ -13,3 +13,5 @@ Polyhedron
Miscellany
Mesh_2
Polygon_mesh_processing
MDS_3

View File

@ -28,7 +28,7 @@
#include <CGAL/Has_timestamp.h>
#include <CGAL/Regular_triangulation_cell_base_3.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <boost/type_traits/is_same.hpp>

View File

@ -33,7 +33,7 @@
#include <functional>
#include <CGAL/internal/Mesh_3/Handle_IO_for_pair_of_int.h>
#include <CGAL/internal/MDS_3/Handle_IO_for_pair_of_int.h>
#include <CGAL/internal/Mesh_3/indices_management.h>
// support for `CGAL::Image_3`

View File

@ -24,7 +24,7 @@
#include <CGAL/Mesh_3/config.h>
#include <CGAL/Regular_triangulation_cell_base_3.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#ifdef CGAL_LINKED_WITH_TBB
# include <atomic>

View File

@ -28,11 +28,11 @@
#include <CGAL/disable_warnings.h>
#include <CGAL/Mesh_3/config.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#ifdef CGAL_MESH_3_DUMP_FEATURES_PROTECTION_ITERATIONS
# include <CGAL/IO/File_binary_mesh_3.h>
#endif
#include <CGAL/Mesh_3/utilities.h>
#include <CGAL/MDS_3/utilities.h>
#include <CGAL/Mesh_3/Triangulation_helpers.h>
#include <CGAL/iterator.h>
#include <CGAL/Mesh_error_code.h>
@ -108,7 +108,7 @@ void debug_dump_c3t3(const std::string filename, const C3t3& c3t3)
template <typename C3T3, typename MeshDomain, typename SizingFunction>
class Protect_edges_sizing_field
: public CGAL::Mesh_3::internal::Debug_messages_tools
: public CGAL::MDS_3::internal::Debug_messages_tools
{
typedef Protect_edges_sizing_field Self;

View File

@ -27,7 +27,7 @@
#include <CGAL/Regular_triangulation_cell_base_3.h>
#include <CGAL/Regular_triangulation_cell_base_with_weighted_circumcenter_3.h>
#include <CGAL/Mesh_3/Mesh_surface_cell_base_3.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <CGAL/tags.h>
#include <boost/type_traits/is_convertible.hpp>

View File

@ -28,7 +28,7 @@
#include <CGAL/Mesh_vertex_base_3.h>
#include <CGAL/Compact_mesh_cell_base_3.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
namespace CGAL {

View File

@ -25,7 +25,7 @@
#include <CGAL/Regular_triangulation_vertex_base_3.h>
#include <CGAL/internal/Mesh_3/indices_management.h>
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include <CGAL/Has_timestamp.h>
#include <CGAL/tags.h>

View File

@ -59,7 +59,7 @@
// To handle I/O for Surface_patch_index if that is a pair of `int` (the
// default)
#include <CGAL/internal/Mesh_3/Handle_IO_for_pair_of_int.h>
#include <CGAL/internal/MDS_3/Handle_IO_for_pair_of_int.h>
#include <CGAL/internal/Mesh_3/indices_management.h>

View File

@ -29,16 +29,12 @@ if ( CGAL_FOUND )
endif()
create_single_source_cgal_program( "test_boost_has_xxx.cpp" )
create_single_source_cgal_program( "test_c3t3.cpp" )
create_single_source_cgal_program( "test_mesh_capsule_var_distance_bound.cpp" )
create_single_source_cgal_program( "test_implicit_multi_domain_to_labeling_function_wrapper.cpp" )
create_single_source_cgal_program( "test_c3t3_io.cpp" )
create_single_source_cgal_program( "test_c3t3_with_features.cpp" )
create_single_source_cgal_program( "test_criteria.cpp" )
create_single_source_cgal_program( "test_domain_with_polyline_features.cpp" )
create_single_source_cgal_program( "test_labeled_mesh_domain_3.cpp" )
create_single_source_cgal_program( "test_mesh_criteria_creation.cpp" )
create_single_source_cgal_program( "test_c3t3_into_facegraph.cpp" )
create_single_source_cgal_program( "test_without_detect_features.cpp" )
if(CGAL_ImageIO_USE_ZLIB)
create_single_source_cgal_program( "test_meshing_3D_image.cpp" )
@ -58,7 +54,6 @@ if ( CGAL_FOUND )
create_single_source_cgal_program( "test_meshing_unit_tetrahedron.cpp" )
create_single_source_cgal_program( "test_meshing_with_default_edge_size.cpp" )
create_single_source_cgal_program( "test_meshing_determinism.cpp" )
create_single_source_cgal_program( "test_c3t3_extract_subdomains_boundaries.cpp" )
create_single_source_cgal_program( "test_mesh_3_issue_1554.cpp" )
create_single_source_cgal_program( "test_mesh_polyhedral_domain_with_features_deprecated.cpp" )
create_single_source_cgal_program( "test_meshing_with_one_step.cpp" )
@ -66,16 +61,12 @@ if ( CGAL_FOUND )
foreach(target
test_boost_has_xxx
test_c3t3
test_mesh_capsule_var_distance_bound
test_implicit_multi_domain_to_labeling_function_wrapper
test_c3t3_io
test_c3t3_with_features
test_criteria
test_domain_with_polyline_features
test_labeled_mesh_domain_3
test_mesh_criteria_creation
test_c3t3_into_facegraph
test_without_detect_features
test_meshing_3D_image
test_meshing_3D_image_deprecated
@ -91,7 +82,6 @@ if ( CGAL_FOUND )
test_meshing_unit_tetrahedron
test_meshing_with_default_edge_size
test_meshing_determinism
test_c3t3_extract_subdomains_boundaries
test_mesh_3_issue_1554
test_mesh_polyhedral_domain_with_features_deprecated
test_mesh_cell_base_3

View File

@ -15,7 +15,7 @@
// File Description :
//******************************************************************************
#include <CGAL/Mesh_3/io_signature.h>
#include <CGAL/MDS_3/io_signature.h>
#include "test_meshing_utilities.h"
#include <CGAL/Polyhedral_mesh_domain_3.h>
#include <CGAL/IO/Polyhedron_iostream.h>