mirror of https://github.com/CGAL/cgal
rename headers, rm unnecessary files, clean, edit changes.md
This commit is contained in:
parent
60cbb2fc6a
commit
a634d6a0bc
|
|
@ -20,12 +20,12 @@ Release date: September 2018
|
|||
|
||||
### CGAL and Boost Property Maps
|
||||
|
||||
- Addition of a read-write property map to convert on-the-fly geometric
|
||||
- Addition of a read-write property map to convert on-the-fly geometric
|
||||
object from Cartesian kernels
|
||||
|
||||
### 2D Triangulations
|
||||
|
||||
- Added a new type of intersection to deal with insertion of a constraints
|
||||
- Added a new type of intersection to deal with insertion of a constraints
|
||||
intersecting in a Constrained_triangulation_2.
|
||||
|
||||
### Interpolation
|
||||
|
|
@ -52,6 +52,12 @@ Release date: September 2018
|
|||
- Guarantee that constrained vertices are kept in the mesh after calling `isotropic_remeshing()`
|
||||
(and not only the points associated to constrained vertices as it was before).
|
||||
|
||||
- Mesh smoothing functionality which improves the quality of triangle elements
|
||||
based on geometric characteristics.
|
||||
|
||||
- Shape smoothing functionality that smoothes the surface of a triangle mesh
|
||||
using the mean curvature flow to perform noise removal.
|
||||
|
||||
### 3D Mesh Generation
|
||||
|
||||
- **Breaking change:** The template parameters of the class template
|
||||
|
|
@ -96,7 +102,7 @@ Release date: April 2018
|
|||
introduced by CMake 2.8.12 and CMake 3.0: instead of setting CMake
|
||||
variables, the script now defines imported targets and uses link
|
||||
interfaces.
|
||||
|
||||
|
||||
That is mostly backward-compatible with existing usages of CGAL CMake
|
||||
scripts. The only non-compatible effect is that the `CMAKE_BUILD_TYPE`
|
||||
and compilation flags are no longer copied from the `CGAL_DIR` to the
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include <fstream>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Polygon_mesh_processing/mesh_smoothing.h>
|
||||
#include <CGAL/Polygon_mesh_processing/smooth_mesh.h>
|
||||
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef CGAL::Surface_mesh<K::Point_3> Mesh;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include <fstream>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Polygon_mesh_processing/shape_smoothing.h>
|
||||
#include <CGAL/Polygon_mesh_processing/smooth_shape.h>
|
||||
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef CGAL::Surface_mesh<K::Point_3> Mesh;
|
||||
|
|
|
|||
|
|
@ -1,76 +0,0 @@
|
|||
// Copyright (c) 2018 GeometryFactory (France).
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org).
|
||||
// You can redistribute it and/or modify it under the terms of the GNU
|
||||
// General Public License as published by the Free Software Foundation,
|
||||
// either version 3 of the License, or (at your option) any later version.
|
||||
//
|
||||
// Licensees holding a valid commercial license may use this file in
|
||||
// accordance with the commercial license agreement provided with the software.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// $URL$
|
||||
// $Id$
|
||||
// SPDX-License-Identifier: GPL-3.0+
|
||||
//
|
||||
//
|
||||
// Author(s) : Konstantinos Katrioplas (konst.katrioplas@gmail.com)
|
||||
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_INTERNAL_CONSTRAINTS_MAP_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_INTERNAL_CONSTRAINTS_MAP_H
|
||||
|
||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
namespace CGAL {
|
||||
namespace Polygon_mesh_processing {
|
||||
namespace internal {
|
||||
|
||||
|
||||
template<typename PolygonMesh, typename VertexPointMap,
|
||||
typename CotangentValue = CGAL::internal::Cotangent_value_Meyer<PolygonMesh, VertexPointMap> >
|
||||
struct Edge_cotangent_weight : CotangentValue
|
||||
{
|
||||
Edge_cotangent_weight(PolygonMesh& pmesh_, VertexPointMap vpmap_)
|
||||
: CotangentValue(pmesh_, vpmap_)
|
||||
{}
|
||||
|
||||
PolygonMesh& pmesh()
|
||||
{
|
||||
return CotangentValue::pmesh();
|
||||
}
|
||||
|
||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||
typedef typename boost::graph_traits<PolygonMesh>::vertex_descriptor vertex_descriptor;
|
||||
|
||||
double operator()(halfedge_descriptor he)
|
||||
{
|
||||
if(is_border_edge(he, pmesh()))
|
||||
{
|
||||
halfedge_descriptor h1 = next(he, pmesh());
|
||||
vertex_descriptor vs = source(he, pmesh());
|
||||
vertex_descriptor vt = target(he, pmesh());
|
||||
vertex_descriptor v1 = target(h1, pmesh());
|
||||
return (CotangentValue::operator ()(vs, v1, vt));
|
||||
}
|
||||
else
|
||||
{
|
||||
halfedge_descriptor h1 = next(he, pmesh());
|
||||
halfedge_descriptor h2 = prev(opposite(he, pmesh()), pmesh());
|
||||
vertex_descriptor vs = source(he, pmesh());
|
||||
vertex_descriptor vt = target(he, pmesh());
|
||||
vertex_descriptor v1 = target(h1, pmesh());
|
||||
vertex_descriptor v2 = source(h2, pmesh());
|
||||
return ( CotangentValue::operator()(vs, v1, vt) + CotangentValue::operator()(vs, v2, vt) ) / 2.0; }
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif //CGAL_POLYGON_MESH_PROCESSING_INTERNAL_CONSTRAINTS_MAP_H
|
||||
|
|
@ -19,8 +19,8 @@
|
|||
//
|
||||
// Author(s) : Konstantinos Katrioplas (konst.katrioplas@gmail.com)
|
||||
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_CURVATURE_FLOW_NEW_IMPL_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_CURVATURE_FLOW_NEW_IMPL_H
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_INTERNAL_CURVATURE_FLOW_IMPL_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_INTERNAL_CURVATURE_FLOW_IMPL_H
|
||||
|
||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
#include <CGAL/Polygon_mesh_processing/Weights.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/constraints_map.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/smoothing_helpers.h>
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <CGAL/utility.h>
|
||||
|
|
@ -53,6 +53,7 @@ private:
|
|||
|
||||
typedef typename GeomTraits::FT NT;
|
||||
typedef typename GeomTraits::Point_3 Point;
|
||||
typedef typename boost::property_traits<VertexPointMap>::reference Point_ref;
|
||||
typedef CGAL::Triple<int, int, double> Triplet;
|
||||
|
||||
typedef typename boost::graph_traits<PolygonMesh>::vertex_descriptor vertex_descriptor;
|
||||
|
|
@ -233,7 +234,7 @@ private:
|
|||
BOOST_FOREACH(vertex_descriptor vi, vrange_)
|
||||
{
|
||||
int index = vimap_[vi];
|
||||
Point p = get(vpmap_, vi);
|
||||
Point_ref p = get(vpmap_, vi);
|
||||
bx.set(index, p.x());
|
||||
by.set(index, p.y());
|
||||
bz.set(index, p.z());
|
||||
|
|
@ -299,4 +300,4 @@ private:
|
|||
} // PMP
|
||||
} // CGAL
|
||||
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_CURVATURE_FLOW_NEW_IMPL_H
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_INTERNAL_CURVATURE_FLOW_NEW_IMPL_H
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
//
|
||||
// Author(s) : Konstantinos Katrioplas (konst.katrioplas@gmail.com)
|
||||
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_SMOOTHING_EVALUATION_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_SMOOTHING_EVALUATION_H
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_INTERNAL_SMOOTHING_EVALUATION_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_INTERNAL_SMOOTHING_EVALUATION_H
|
||||
|
||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||
|
||||
|
|
@ -152,4 +152,4 @@ private:
|
|||
}
|
||||
|
||||
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_SMOOTHING_EVALUATION_H
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_INTERNAL_SMOOTHING_EVALUATION_H
|
||||
|
|
|
|||
|
|
@ -31,6 +31,44 @@ namespace CGAL {
|
|||
namespace Polygon_mesh_processing {
|
||||
namespace internal {
|
||||
|
||||
template<typename PolygonMesh, typename VertexPointMap,
|
||||
typename CotangentValue = CGAL::internal::Cotangent_value_Meyer<PolygonMesh, VertexPointMap> >
|
||||
struct Edge_cotangent_weight : CotangentValue
|
||||
{
|
||||
Edge_cotangent_weight(PolygonMesh& pmesh_, VertexPointMap vpmap_)
|
||||
: CotangentValue(pmesh_, vpmap_)
|
||||
{}
|
||||
|
||||
PolygonMesh& pmesh()
|
||||
{
|
||||
return CotangentValue::pmesh();
|
||||
}
|
||||
|
||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||
typedef typename boost::graph_traits<PolygonMesh>::vertex_descriptor vertex_descriptor;
|
||||
|
||||
double operator()(halfedge_descriptor he)
|
||||
{
|
||||
if(is_border_edge(he, pmesh()))
|
||||
{
|
||||
halfedge_descriptor h1 = next(he, pmesh());
|
||||
vertex_descriptor vs = source(he, pmesh());
|
||||
vertex_descriptor vt = target(he, pmesh());
|
||||
vertex_descriptor v1 = target(h1, pmesh());
|
||||
return (CotangentValue::operator ()(vs, v1, vt));
|
||||
}
|
||||
else
|
||||
{
|
||||
halfedge_descriptor h1 = next(he, pmesh());
|
||||
halfedge_descriptor h2 = prev(opposite(he, pmesh()), pmesh());
|
||||
vertex_descriptor vs = source(he, pmesh());
|
||||
vertex_descriptor vt = target(he, pmesh());
|
||||
vertex_descriptor v1 = target(h1, pmesh());
|
||||
vertex_descriptor v2 = source(h2, pmesh());
|
||||
return ( CotangentValue::operator()(vs, v1, vt) + CotangentValue::operator()(vs, v2, vt) ) / 2.0; }
|
||||
}
|
||||
};
|
||||
|
||||
template <typename PolygonMesh, typename Descriptor, typename Triangle>
|
||||
void construct_triangle(const Descriptor& f, const PolygonMesh& mesh_, Triangle& triangle)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
//
|
||||
// Author(s) : Konstantinos Katrioplas (konst.katrioplas@gmail.com)
|
||||
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_MESH_SMOOTHING_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_MESH_SMOOTHING_H
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_SMOOTH_MESH_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_SMOOTH_MESH_H
|
||||
|
||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||
|
||||
|
|
@ -28,8 +28,8 @@
|
|||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/smoothing_evaluation.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/constraints_map.h>
|
||||
#include <CGAL/Polygon_mesh_processing/distance.h>
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
#ifdef CGAL_PMP_SMOOTHING_VERBOSE
|
||||
#include <CGAL/Timer.h>
|
||||
|
|
@ -341,4 +341,4 @@ void aspect_ratio_evaluation(PolygonMesh& pmesh, const char* filename)
|
|||
} // namespace Polygon_mesh_processing
|
||||
} // namespace CGAL
|
||||
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_MESH_SMOOTHING_H
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_SMOOTH_MESH_H
|
||||
|
|
@ -19,22 +19,19 @@
|
|||
//
|
||||
// Author(s) : Konstantinos Katrioplas (konst.katrioplas@gmail.com)
|
||||
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_SHAPE_SMOOTHING_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_sHAPE_SMOOTHING_H
|
||||
#ifndef CGAL_POLYGON_MESH_PROCESSING_SMOOTH_SHAPE_H
|
||||
#define CGAL_POLYGON_MESH_PROCESSING_SMOOTH_SHAPE_H
|
||||
|
||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
|
||||
#if defined(CGAL_EIGEN3_ENABLED)
|
||||
#include <CGAL/Eigen_solver_traits.h>
|
||||
#endif
|
||||
|
||||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/curvature_flow_impl.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/curvature_flow_explicit_impl.h>
|
||||
#include <CGAL/Polygon_mesh_processing/internal/Smoothing/constraints_map.h>
|
||||
#include <CGAL/utility.h>
|
||||
#include <CGAL/property_map.h>
|
||||
|
||||
#ifdef CGAL_PMP_SMOOTHING_VERBOSE
|
||||
#include <CGAL/Timer.h>
|
||||
|
|
@ -415,4 +412,4 @@ void solve_mcf(const FaceRange& faces, PolygonMesh& mesh, const double time,
|
|||
} //Polygon_mesh_processing
|
||||
} //CGAL
|
||||
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_SHAPE_SMOOTHING_H
|
||||
#endif // CGAL_POLYGON_MESH_PROCESSING_SMOOTH_SHAPE_H
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polygon_mesh_processing/mesh_smoothing.h>
|
||||
#include <CGAL/Polygon_mesh_processing/smooth_mesh.h>
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <fstream>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/utility.h>
|
||||
#include <CGAL/Polygon_mesh_processing/shape_smoothing.h>
|
||||
#include <CGAL/Polygon_mesh_processing/smooth_shape.h>
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <fstream>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue