diff --git a/Documentation/doc/Documentation/packages.txt b/Documentation/doc/Documentation/packages.txt index aa061c842d8..e1acaea81be 100644 --- a/Documentation/doc/Documentation/packages.txt +++ b/Documentation/doc/Documentation/packages.txt @@ -92,6 +92,7 @@ \package_listing{Skin_surface_3} \package_listing{SMDS_3} \package_listing{Mesh_3} +\package_listing{Isosurfacing_3} \package_listing{Tetrahedral_remeshing} \package_listing{Periodic_3_mesh_3} \package_listing{Alpha_wrap_3} diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/MarchingCubeOracle.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/MarchingCubeOracle.h new file mode 100644 index 00000000000..6c9c2fe980e --- /dev/null +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/MarchingCubeOracle.h @@ -0,0 +1,32 @@ +/*! +\ingroup PkgIsosurfacing3Concepts +\cgalConcept + +The concept `MarchingCubeOracle` describes the set of requirements to be +fulfilled by any class used by the marching cubes algorithms.>`. + +\cgalHasModel `CGAL::Marching_cubes_implicit_3` + +*/ + +class MarchingCubeOracle { +public: + +/// \name Types +/// @{ + +/*! +The scalar type. +*/ +typedef unspecified_type FT; + +/*! +Traits type model of \cgal %Kernel +*/ +typedef unspecified_type Traits; + + +/// @} + +}; + diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Doxyfile.in b/Isosurfacing_3/doc/Isosurfacing_3/Doxyfile.in new file mode 100644 index 00000000000..3450f229115 --- /dev/null +++ b/Isosurfacing_3/doc/Isosurfacing_3/Doxyfile.in @@ -0,0 +1,3 @@ +@INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS} + +PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - 3D Isosurfacing" diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Marching_cube.txt b/Isosurfacing_3/doc/Isosurfacing_3/Marching_cube.txt new file mode 100644 index 00000000000..1e518109558 --- /dev/null +++ b/Isosurfacing_3/doc/Isosurfacing_3/Marching_cube.txt @@ -0,0 +1,25 @@ +namespace CGAL { +/*! + +\mainpage User Manual +\anchor Chapter_Isosurfacing3 + +\cgalAutoToc +\author Julian Stahl and Daniel Zint + +This chapter describes the ... + +\section secmydefinitions Definitions + +Section on definitions here ... + +\section secmyexamples Examples + +\subsection myFirstExample First Example + +The following example shows ... + +\cgalExample{Isosurfacing_3/simple_marching_cubes.cpp} + +*/ +} /* namespace CGAL */ diff --git a/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt b/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt new file mode 100644 index 00000000000..795fe3bc1dc --- /dev/null +++ b/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt @@ -0,0 +1,37 @@ +/// \defgroup PkgIsosurfacing3Ref 3D Isosurfacing Reference +/// \defgroup PkgIsosurfacing3Concepts Concepts +/// \ingroup PkgIsosurfacing3Ref + +/*! +\addtogroup PkgIsosurfacingRef +\cgalPkgDescriptionBegin{3D Isosurfacing,PkgIsosurfacing3} +\cgalPkgPicture{isosurfacing3_ico.png} +\cgalPkgSummaryBegin +\cgalPkgAuthor{Julian Stahl and Daniel Zint} +\cgalPkgDesc{This package implements several variations of the marching cubes algorithm to generate a triangle meshes out of a voxel grid. } +\cgalPkgManuals{Chapter_Isosurfacing3,PkgMarchingCubesRef} +\cgalPkgSummaryEnd +\cgalPkgShortInfoBegin +\cgalPkgSince{5.7} +\cgalPkgBib{cgal:sz-mc} +\cgalPkgLicense{\ref licensesGPL "GPL"} +\cgalPkgDemo{Polyhedron demo,polyhedron_3.zip} +\cgalPkgShortInfoEnd +\cgalPkgDescriptionEnd + +Marching Cubes Algorithm ..... + +\cgalClassifedRefPages + +\cgalCRPSection{Concepts} +- `MarchingCubeOracle` + +\cgalCRPSection{Classes} + +- `CGAL::Marching_cubes_implicit_3` + +\cgalCRPSection{Free Functions} + +- `CGAL::make_triangle_mesh_using_marching_cubes()` + +*/ \ No newline at end of file diff --git a/Isosurfacing_3/doc/Isosurfacing_3/dependencies b/Isosurfacing_3/doc/Isosurfacing_3/dependencies new file mode 100644 index 00000000000..a4d5f76715e --- /dev/null +++ b/Isosurfacing_3/doc/Isosurfacing_3/dependencies @@ -0,0 +1,6 @@ +Manual +Kernel_23 +STL_Extension +Algebraic_foundations +Circulator +Stream_support diff --git a/Isosurfacing_3/doc/Isosurfacing_3/examples.txt b/Isosurfacing_3/doc/Isosurfacing_3/examples.txt new file mode 100644 index 00000000000..9b8d72b8c40 --- /dev/null +++ b/Isosurfacing_3/doc/Isosurfacing_3/examples.txt @@ -0,0 +1,3 @@ +/*! +\example Isosurfacing_3/simple_marching_cubes.cpp +*/ diff --git a/Isosurfacing_3/doc/Isosurfacing_3/fig/isosurfacing3_ico.png b/Isosurfacing_3/doc/Isosurfacing_3/fig/isosurfacing3_ico.png new file mode 100644 index 00000000000..5609b037587 Binary files /dev/null and b/Isosurfacing_3/doc/Isosurfacing_3/fig/isosurfacing3_ico.png differ diff --git a/Isosurfacing_3/examples/Isosurfacing_3/CMakeLists.txt b/Isosurfacing_3/examples/Isosurfacing_3/CMakeLists.txt new file mode 100644 index 00000000000..e51beb560eb --- /dev/null +++ b/Isosurfacing_3/examples/Isosurfacing_3/CMakeLists.txt @@ -0,0 +1,15 @@ +# 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.14) +project( Isosurfacing_3_examples ) + +find_package(CGAL REQUIRED) + +create_single_source_cgal_program( "simple_marching_cube.cpp" ) + +find_package(TBB) +include(CGAL_TBB_support) +if(TARGET CGAL::TBB_support) + target_link_libraries(simple_marching_cube PUBLIC CGAL::TBB_support) +endif() diff --git a/Isosurfacing_3/examples/Isosurfacing_3/simple_marching_cubes.cpp b/Isosurfacing_3/examples/Isosurfacing_3/simple_marching_cubes.cpp new file mode 100644 index 00000000000..0c87b37802d --- /dev/null +++ b/Isosurfacing_3/examples/Isosurfacing_3/simple_marching_cubes.cpp @@ -0,0 +1,2 @@ +int main() +{} diff --git a/Isosurfacing_3/include/CGAL/marching_cube.h b/Isosurfacing_3/include/CGAL/marching_cube.h new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Isosurfacing_3/package_info/Isosurfacing_3/copyright b/Isosurfacing_3/package_info/Isosurfacing_3/copyright new file mode 100644 index 00000000000..434d5723b62 --- /dev/null +++ b/Isosurfacing_3/package_info/Isosurfacing_3/copyright @@ -0,0 +1 @@ +INRIA Sophia-Antipolis (France) diff --git a/Isosurfacing_3/package_info/Isosurfacing_3/dependencies b/Isosurfacing_3/package_info/Isosurfacing_3/dependencies new file mode 100644 index 00000000000..476a31f5ad1 --- /dev/null +++ b/Isosurfacing_3/package_info/Isosurfacing_3/dependencies @@ -0,0 +1,15 @@ +Algebraic_foundations +BGL +Circulator +Distance_2 +Hash_map +Installation +Interval_support +Kernel_23 +Iso_surfacing_3 +Mesher_level +Modular_arithmetic +Number_types +Profiling_tools +STL_Extension +Stream_support diff --git a/Isosurfacing_3/package_info/Isosurfacing_3/description.txt b/Isosurfacing_3/package_info/Isosurfacing_3/description.txt new file mode 100644 index 00000000000..bfc5002e1e7 --- /dev/null +++ b/Isosurfacing_3/package_info/Isosurfacing_3/description.txt @@ -0,0 +1 @@ +3D Isosurfacing Algorithms \ No newline at end of file diff --git a/Isosurfacing_3/package_info/Isosurfacing_3/license.txt b/Isosurfacing_3/package_info/Isosurfacing_3/license.txt new file mode 100644 index 00000000000..ba1f6f2dc96 --- /dev/null +++ b/Isosurfacing_3/package_info/Isosurfacing_3/license.txt @@ -0,0 +1 @@ +GPL (v3 or later) \ No newline at end of file diff --git a/Isosurfacing_3/package_info/Isosurfacing_3/long_description.txt b/Isosurfacing_3/package_info/Isosurfacing_3/long_description.txt new file mode 100644 index 00000000000..e947047a135 --- /dev/null +++ b/Isosurfacing_3/package_info/Isosurfacing_3/long_description.txt @@ -0,0 +1 @@ +Various implementation of the marching cube algorithms to generate triangle surfaces diff --git a/Isosurfacing_3/package_info/Isosurfacing_3/maintainer b/Isosurfacing_3/package_info/Isosurfacing_3/maintainer new file mode 100644 index 00000000000..c2585469932 --- /dev/null +++ b/Isosurfacing_3/package_info/Isosurfacing_3/maintainer @@ -0,0 +1 @@ +Pierre Alliez