mirror of https://github.com/CGAL/cgal
Merge branch 'master' into Mesh_3-improve_polylines_to_protect-GF
This commit is contained in:
commit
05d7baceb1
|
|
@ -66,7 +66,8 @@ typedef unspecified_type Construct_sphere_3;
|
|||
|
||||
/*!
|
||||
A functor object to compute the point on a geometric primitive which is closest from a query. Provides the operator:
|
||||
`Point_3 operator()(const Type_2& type_2, const Point_3& p);` where `Type_2` is any type among `Segment_3` and `Triangle_3`. The operator returns the point on `type_2` which is closest to `p`.
|
||||
`Point_3 operator()(const Type_2& type_2, const Point_3& p);` where `Type_2` can be any of the following types : `Segment_3`, `Ray_3`, or `Triangle_3`.
|
||||
The operator returns the point on `type_2` which is closest to `p`.
|
||||
*/
|
||||
typedef unspecified_type Construct_projected_point_3;
|
||||
|
||||
|
|
|
|||
|
|
@ -291,7 +291,8 @@ public:
|
|||
*/
|
||||
class Sort_primitives
|
||||
{
|
||||
const AABB_traits<GeomTraits,AABBPrimitive,BboxMap>& m_traits;
|
||||
typedef AABB_traits<GeomTraits,AABBPrimitive,BboxMap> Traits;
|
||||
const Traits& m_traits;
|
||||
public:
|
||||
Sort_primitives(const AABB_traits<GeomTraits,AABBPrimitive,BboxMap>& traits)
|
||||
: m_traits(traits) {}
|
||||
|
|
@ -302,16 +303,16 @@ public:
|
|||
const typename AT::Bounding_box& bbox) const
|
||||
{
|
||||
PrimitiveIterator middle = first + (beyond - first)/2;
|
||||
switch(longest_axis(bbox))
|
||||
switch(Traits::longest_axis(bbox))
|
||||
{
|
||||
case AT::CGAL_AXIS_X: // sort along x
|
||||
std::nth_element(first, middle, beyond, boost::bind(less_x,_1,_2,m_traits));
|
||||
std::nth_element(first, middle, beyond, boost::bind(Traits::less_x,_1,_2,m_traits));
|
||||
break;
|
||||
case AT::CGAL_AXIS_Y: // sort along y
|
||||
std::nth_element(first, middle, beyond, boost::bind(less_y,_1,_2,m_traits));
|
||||
std::nth_element(first, middle, beyond, boost::bind(Traits::less_y,_1,_2,m_traits));
|
||||
break;
|
||||
case AT::CGAL_AXIS_Z: // sort along z
|
||||
std::nth_element(first, middle, beyond, boost::bind(less_z,_1,_2,m_traits));
|
||||
std::nth_element(first, middle, beyond, boost::bind(Traits::less_z,_1,_2,m_traits));
|
||||
break;
|
||||
default:
|
||||
CGAL_error();
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
||||
#include <CGAL/AABB_halfedge_graph_segment_primitive.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/disable_warnings.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
#include <CGAL/AABB_traits.h>
|
||||
|
||||
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
#include <CGAL/AABB_traits.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
#include <CGAL/AABB_traits.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@
|
|||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
#include <CGAL/AABB_traits.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include "AABB_test_util.h"
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
#include <CGAL/AABB_traits.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
||||
#include <CGAL/Timer.h>
|
||||
|
|
|
|||
|
|
@ -201,7 +201,9 @@ public:
|
|||
|
||||
|
||||
}; // class Algebraic_real_traits
|
||||
|
||||
|
||||
struct Construct_algebraic_real_1;
|
||||
|
||||
// Functors of Algebraic_kernel_d_1
|
||||
struct Solve_1 {
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ namespace internal {
|
|||
//
|
||||
template < class Input_traits, class Kernel_approx, class Kernel_exact,
|
||||
class Weighted_tag >
|
||||
class Is_traits_point_convertible
|
||||
class Is_traits_point_convertible_2
|
||||
{
|
||||
typedef typename Kernel_traits<typename Input_traits::Point_2>::Kernel Kernel_input;
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ public:
|
|||
};
|
||||
|
||||
template < class Input_traits, class Kernel_approx, class Kernel_exact >
|
||||
class Is_traits_point_convertible<Input_traits, Kernel_approx, Kernel_exact,
|
||||
class Is_traits_point_convertible_2<Input_traits, Kernel_approx, Kernel_exact,
|
||||
::CGAL::Tag_true /* Weighted_tag */>
|
||||
{
|
||||
typedef typename Kernel_traits<typename Input_traits::Point_2>::Kernel Kernel_input;
|
||||
|
|
@ -157,7 +157,7 @@ class Lazy_alpha_nt_2
|
|||
Approx_point to_approx(const Input_point& wp) const
|
||||
{
|
||||
// The traits class' Point_2 must be convertible using the Cartesian converter
|
||||
CGAL_static_assertion((Is_traits_point_convertible<
|
||||
CGAL_static_assertion((Is_traits_point_convertible_2<
|
||||
Input_traits, Kernel_approx, Kernel_exact, Weighted_tag>::value));
|
||||
|
||||
To_approx converter;
|
||||
|
|
@ -167,7 +167,7 @@ class Lazy_alpha_nt_2
|
|||
Exact_point to_exact(const Input_point& wp) const
|
||||
{
|
||||
// The traits class' Point_2 must be convertible using the Cartesian converter
|
||||
CGAL_static_assertion((Is_traits_point_convertible<
|
||||
CGAL_static_assertion((Is_traits_point_convertible_2<
|
||||
Input_traits, Kernel_approx, Kernel_exact, Weighted_tag>::value));
|
||||
|
||||
To_exact converter;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ namespace internal{
|
|||
//
|
||||
template < class Input_traits, class Kernel_approx, class Kernel_exact,
|
||||
class Weighted_tag >
|
||||
class Is_traits_point_convertible
|
||||
class Is_traits_point_convertible_3
|
||||
{
|
||||
typedef typename Kernel_traits<typename Input_traits::Point_3>::Kernel Kernel_input;
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ public:
|
|||
};
|
||||
|
||||
template < class Input_traits, class Kernel_approx, class Kernel_exact >
|
||||
class Is_traits_point_convertible<Input_traits, Kernel_approx, Kernel_exact,
|
||||
class Is_traits_point_convertible_3<Input_traits, Kernel_approx, Kernel_exact,
|
||||
::CGAL::Tag_true /* Weighted_tag */>
|
||||
{
|
||||
typedef typename Kernel_traits<typename Input_traits::Point_3>::Kernel Kernel_input;
|
||||
|
|
@ -148,7 +148,7 @@ class Lazy_alpha_nt_3{
|
|||
Approx_point to_approx(const Input_point& wp) const
|
||||
{
|
||||
// The traits class' Point_3 must be convertible using the Cartesian converter
|
||||
CGAL_static_assertion((Is_traits_point_convertible<
|
||||
CGAL_static_assertion((Is_traits_point_convertible_3<
|
||||
Input_traits, Kernel_approx, Kernel_exact, Weighted_tag>::value));
|
||||
|
||||
To_approx converter;
|
||||
|
|
@ -158,7 +158,7 @@ class Lazy_alpha_nt_3{
|
|||
Exact_point to_exact(const Input_point& wp) const
|
||||
{
|
||||
// The traits class' Point_3 must be convertible using the Cartesian converter
|
||||
CGAL_static_assertion((Is_traits_point_convertible<
|
||||
CGAL_static_assertion((Is_traits_point_convertible_3<
|
||||
Input_traits, Kernel_approx, Kernel_exact, Weighted_tag>::value));
|
||||
|
||||
To_exact converter;
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
* The header file for the Arr_circle_segment_traits_2<Kenrel> class.
|
||||
*/
|
||||
|
||||
#include <CGAL/atomic.h>
|
||||
#include <CGAL/tags.h>
|
||||
#include <CGAL/Arr_tags.h>
|
||||
#include <CGAL/Arr_geometry_traits/Circle_segment_2.h>
|
||||
|
|
@ -84,7 +85,11 @@ public:
|
|||
/*! Get the next curve index. */
|
||||
static unsigned int get_index ()
|
||||
{
|
||||
static unsigned int index = 0;
|
||||
#ifdef CGAL_NO_ATOMIC
|
||||
static unsigned int index;
|
||||
#else
|
||||
static CGAL::cpp11::atomic<unsigned int> index;
|
||||
#endif
|
||||
return (++index);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
* The conic traits-class for the arrangement package.
|
||||
*/
|
||||
|
||||
#include <CGAL/atomic.h>
|
||||
#include <CGAL/tags.h>
|
||||
#include <CGAL/Arr_tags.h>
|
||||
#include <CGAL/Arr_geometry_traits/Conic_arc_2.h>
|
||||
|
|
@ -114,7 +115,11 @@ public:
|
|||
/*! Get the next conic index. */
|
||||
static unsigned int get_index ()
|
||||
{
|
||||
static unsigned int index = 0;
|
||||
#ifdef CGAL_NO_ATOMIC
|
||||
static unsigned int index;
|
||||
#else
|
||||
static CGAL::cpp11::atomic<unsigned int> index;
|
||||
#endif
|
||||
return (++index);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -163,6 +163,9 @@ public:
|
|||
/// \name Construction functors(based on the subcurve traits).
|
||||
//@{
|
||||
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
class Push_back_2;
|
||||
#endif
|
||||
/*! \class
|
||||
* A functor that divides an arc into x-monotone arcs. That are, arcs that
|
||||
* do not cross the identification arc.
|
||||
|
|
|
|||
|
|
@ -347,6 +347,9 @@ public:
|
|||
return os;
|
||||
}
|
||||
|
||||
class Parameter_space_in_x_2;
|
||||
class Parameter_space_in_y_2;
|
||||
|
||||
/*! A functor that computes intersections between x-monotone curves. */
|
||||
class Intersect_2 {
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/boost/graph/iterator.h>
|
||||
#include <fstream>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
#include <CGAL/assertions.h>
|
||||
#include <CGAL/hash_openmesh.h>
|
||||
|
||||
|
||||
#if defined(BOOST_MSVC)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable:4267)
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/split_graph_into_polylines.h>
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
#include <boost/graph/filtered_graph.hpp>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_concepts.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/properties_Surface_mesh.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/boost/graph/Graph_with_descriptor_with_graph.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_concepts.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/properties_Surface_mesh.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/Seam_mesh.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/properties_Surface_mesh.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#include <boost/graph/graph_concepts.hpp>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/Surface_mesh/IO.h>
|
||||
|
||||
#include <boost/unordered_map.hpp>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/Linear_cell_complex_for_bgl_combinatorial_map_helper.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/iterator.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
|
||||
#include <CGAL/CORE/extLong.h>
|
||||
#include <CGAL/atomic.h>
|
||||
#include <CGAL/disable_warnings.h>
|
||||
|
||||
#ifdef CGAL_HEADER_ONLY
|
||||
|
||||
|
|
@ -340,4 +341,6 @@ inline void setPositionalFormat(std::ostream& o = std::cout) {
|
|||
#include <CGAL/CORE/CoreDefs_impl.h>
|
||||
#endif // CGAL_HEADER_ONLY
|
||||
|
||||
#include <CGAL/enable_warnings.h>
|
||||
|
||||
#endif // _CORE_COREDEFS_H_
|
||||
|
|
|
|||
|
|
@ -3181,6 +3181,7 @@ namespace CartesianKernelFunctors {
|
|||
typedef typename K::Line_3 Line_3;
|
||||
typedef typename K::Triangle_3 Triangle_3;
|
||||
typedef typename K::Segment_3 Segment_3;
|
||||
typedef typename K::Ray_3 Ray_3;
|
||||
typedef typename K::FT FT;
|
||||
public:
|
||||
typedef Point_3 result_type;
|
||||
|
|
@ -3215,6 +3216,10 @@ namespace CartesianKernelFunctors {
|
|||
Point_3
|
||||
operator()( const Segment_3& s, const Point_3& p ) const
|
||||
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,s,K()); }
|
||||
|
||||
Point_3
|
||||
operator()( const Ray_3& r, const Point_3& p ) const
|
||||
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,r,K()); }
|
||||
};
|
||||
|
||||
template <class K>
|
||||
|
|
|
|||
|
|
@ -496,7 +496,7 @@ private:
|
|||
launch_feature_computation (new Feature_adder_verticality<VectorMap> (this, normal_map, 0));
|
||||
}
|
||||
|
||||
void generate_normal_based_features(const CGAL::Default_property_map<Iterator, typename GeomTraits::Vector_3>&)
|
||||
void generate_normal_based_features(const CGAL::Constant_property_map<Iterator, typename GeomTraits::Vector_3>&)
|
||||
{
|
||||
generate_multiscale_feature_variant_0<Verticality> ();
|
||||
}
|
||||
|
|
@ -544,7 +544,7 @@ private:
|
|||
2, 25.f * float(i), 12.5f));
|
||||
}
|
||||
|
||||
void generate_color_based_features(const CGAL::Default_property_map<Iterator, RGB_Color>&)
|
||||
void generate_color_based_features(const CGAL::Constant_property_map<Iterator, RGB_Color>&)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -581,7 +581,7 @@ private:
|
|||
launch_feature_computation (new Feature_adder_echo<EchoMap> (this, echo_map, i));
|
||||
}
|
||||
|
||||
void generate_echo_based_features(const CGAL::Default_property_map<Iterator, std::size_t>&)
|
||||
void generate_echo_based_features(const CGAL::Constant_property_map<Iterator, std::size_t>&)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -615,10 +615,10 @@ private:
|
|||
}
|
||||
|
||||
template <typename T>
|
||||
Default_property_map<Iterator, T>
|
||||
Constant_property_map<Iterator, T>
|
||||
get_parameter (const Default&)
|
||||
{
|
||||
return Default_property_map<Iterator, T>();
|
||||
return Constant_property_map<Iterator, T>();
|
||||
}
|
||||
|
||||
template<typename VectorMap, typename ColorMap, typename EchoMap>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include <CGAL/point_generators_3.h>
|
||||
|
||||
#include <vector>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@
|
|||
#include <CGAL/Generalized_map_operations.h>
|
||||
#include <CGAL/Random.h>
|
||||
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
#include <CGAL/Triangulation_data_structure_2.h>
|
||||
#include <CGAL/Triangulation_vertex_base_2.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
#include <CGAL/point_generators_3.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ protected:
|
|||
private:
|
||||
|
||||
DT * dt;
|
||||
typedef typename DT::Vertex_handle Vertex_handle;
|
||||
typename DT::Vertex_handle hint;
|
||||
typename DT::Face_handle fh;
|
||||
QGraphicsScene *scene_;
|
||||
|
|
@ -89,8 +90,12 @@ TriangulationCircumcircle<T>::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||
{
|
||||
if(dt->dimension() != 2){
|
||||
circle->hide();
|
||||
hint = Vertex_handle();
|
||||
return;
|
||||
}
|
||||
if (hint == Vertex_handle()){
|
||||
hint = dt->infinite_vertex();
|
||||
}
|
||||
typename T::Point p = typename T::Point(event->scenePos().x(), event->scenePos().y());
|
||||
fh = dt->locate(p, hint->face());
|
||||
hint = fh->vertex(0);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
#include <CGAL/Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/Linear_cell_complex_for_generalized_map.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Arrangement_2.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Triangulation_2.h>
|
||||
#include <map>
|
||||
#include <boost/unordered_map.hpp>
|
||||
|
|
|
|||
|
|
@ -3315,6 +3315,7 @@ namespace HomogeneousKernelFunctors {
|
|||
typedef typename K::Vector_3 Vector_3;
|
||||
typedef typename K::Triangle_3 Triangle_3;
|
||||
typedef typename K::Segment_3 Segment_3;
|
||||
typedef typename K::Ray_3 Ray_3;
|
||||
public:
|
||||
typedef Point_3 result_type;
|
||||
|
||||
|
|
@ -3351,6 +3352,10 @@ namespace HomogeneousKernelFunctors {
|
|||
Point_3
|
||||
operator()( const Segment_3& s, const Point_3& p ) const
|
||||
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,s,K()); }
|
||||
|
||||
Point_3
|
||||
operator()( const Ray_3& r, const Point_3& p ) const
|
||||
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,r,K()); }
|
||||
};
|
||||
|
||||
template <class K>
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
# pragma warning(disable: 4714) // function marked as __forceinline not inlined
|
||||
# pragma warning(disable: 4800) // forcing value to bool 'true' or 'false' (performance warning)
|
||||
# pragma warning(disable: 4913) // user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used
|
||||
# pragma warning(disable: 4834) // discarding return value of function with 'nodiscard' attribute
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include <CGAL/AABB_tree.h>
|
||||
#include <CGAL/AABB_traits.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
||||
#include <CGAL/point_generators_3.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -5976,6 +5976,12 @@ public:
|
|||
*/
|
||||
Kernel::Point_3 operator()(const Kernel::Segment_3& s,
|
||||
const Kernel::Point_3& p);
|
||||
|
||||
/*!
|
||||
returns the point of `r` that is the closest to `p`.
|
||||
*/
|
||||
Kernel::Point_3 operator()(const Kernel::Ray_3& r,
|
||||
const Kernel::Point_3& p);
|
||||
|
||||
/*!
|
||||
returns the point of `t` that is the closest to `p`.
|
||||
|
|
|
|||
|
|
@ -2855,10 +2855,7 @@ namespace CommonKernelFunctors {
|
|||
const typename K::Segment_3& segment,
|
||||
const K& k)
|
||||
{
|
||||
typedef typename K::Point_3 Point_3;
|
||||
|
||||
typename K::Construct_projected_point_3 projection =
|
||||
k.construct_projected_point_3_object();
|
||||
typename K::Is_degenerate_3 is_degenerate =
|
||||
k.is_degenerate_3_object();
|
||||
typename K::Construct_vertex_3 vertex =
|
||||
|
|
@ -2867,20 +2864,27 @@ namespace CommonKernelFunctors {
|
|||
if(is_degenerate(segment))
|
||||
return vertex(segment, 0);
|
||||
|
||||
// Project query on segment supporting line
|
||||
const Point_3 proj = projection(segment.supporting_line(), query);
|
||||
|
||||
Point_3 closest_point_on_segment;
|
||||
bool inside = is_inside_segment_3(proj,segment,closest_point_on_segment,k);
|
||||
|
||||
if(segment.to_vector() * (query-segment.source()) <= 0)
|
||||
return segment.source();
|
||||
if(segment.to_vector() * (query-segment.target()) >= 0)
|
||||
return segment.target();
|
||||
// If proj is inside segment, returns it
|
||||
if ( inside )
|
||||
return proj;
|
||||
|
||||
// Else returns the constructed point
|
||||
return closest_point_on_segment;
|
||||
return k.construct_projected_point_3_object()(segment.supporting_line(), query);
|
||||
}
|
||||
|
||||
typename K::Point_3
|
||||
operator()(const typename K::Point_3& query,
|
||||
const typename K::Ray_3& ray,
|
||||
const K& k)
|
||||
{
|
||||
if ( ray.to_vector() * (query-ray.source()) <= 0)
|
||||
return ray.source();
|
||||
else
|
||||
{
|
||||
return k.construct_projected_point_3_object()(ray.supporting_line(), query);
|
||||
}
|
||||
}
|
||||
|
||||
// code for operator for plane and point is defined in
|
||||
// CGAL/Cartesian/function_objects.h and CGAL/Homogeneous/function_objects.h
|
||||
};
|
||||
|
|
|
|||
|
|
@ -26,12 +26,13 @@
|
|||
|
||||
template <class R>
|
||||
bool
|
||||
_test_fct_constructions_3(const R&)
|
||||
_test_fct_constructions_3(const R& r)
|
||||
{
|
||||
typedef typename R::RT RT;
|
||||
typedef typename R::Point_3 Point;
|
||||
typedef typename R::Weighted_point_3 Weighted_point;
|
||||
typedef typename R::Segment_3 Segment;
|
||||
typedef typename R::Ray_3 Ray;
|
||||
typedef typename R::Plane_3 Plane;
|
||||
typedef typename R::Vector_3 Vector;
|
||||
typedef typename R::Triangle_3 Triangle;
|
||||
|
|
@ -129,6 +130,12 @@ _test_fct_constructions_3(const R&)
|
|||
assert( CGAL::weighted_circumcenter( wp000_b, wp100_b, wp010_b) == wp000_b);
|
||||
assert( CGAL::weighted_circumcenter( wp000_b, wp100_b, wp010_b, wp001_b) == wp000_b);
|
||||
|
||||
// projected point
|
||||
Ray ray(Point(0,0,0), Point (1,1,0));
|
||||
Segment s(Point(0,0,0), Point (1,1,0));
|
||||
assert( r.construct_projected_point_3_object()(ray, Point(-1,0,0)) == Point(0,0,0));
|
||||
assert( r.construct_projected_point_3_object()(s, Point(-1,0,0)) == Point(0,0,0));
|
||||
assert( r.construct_projected_point_3_object()(s, Point(2,0,0)) == Point(1,1,0));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -98,11 +98,7 @@ printed.
|
|||
See \cgalFigureRef{Conformexampleconform}
|
||||
|
||||
\cgalFigureBegin{Conformexampleconform,example-conform-Delaunay-Gabriel.png}
|
||||
Initial triangulation and the corresponding Delaunay and Gabriel triangulation.
|
||||
\cgalFigureEnd
|
||||
|
||||
\cgalFigureBegin{ConformexampleconformDelaunay,example-conform-Delaunay.png}
|
||||
The corresponding conforming Delaunay triangulation.
|
||||
From left to right: Initial Delaunay triangulation, the corresponding conforming Delaunay, and the corresponding Gabriel triangulation.
|
||||
\cgalFigureEnd
|
||||
|
||||
\section secMesh_2_meshes Meshes
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 4.4 KiB |
|
|
@ -7,13 +7,11 @@
|
|||
#include <CGAL/Mesh_criteria_3.h>
|
||||
|
||||
#include <CGAL/Labeled_mesh_domain_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedral_mesh_domain_3.h>
|
||||
#include <CGAL/Mesh_domain_with_polyline_features_3.h>
|
||||
#include <CGAL/make_mesh_3.h>
|
||||
|
||||
// IO
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
// Ouput
|
||||
#include <CGAL/Mesh_3/Dump_c3t3.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
// IO
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/File_medit.h>
|
||||
#include <CGAL/IO/File_tetgen.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -102,11 +102,11 @@ public:
|
|||
|
||||
if (bbox.xmax()-bbox.xmin() >= bbox.ymax()-bbox.ymin())
|
||||
{
|
||||
std::nth_element(first, middle, beyond, less_x); // sort along x
|
||||
std::nth_element(first, middle, beyond, AABB_traits_2::less_x); // sort along x
|
||||
}
|
||||
else
|
||||
{
|
||||
std::nth_element(first, middle, beyond, less_y); // sort along y
|
||||
std::nth_element(first, middle, beyond, AABB_traits_2::less_y); // sort along y
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Nef_polyhedron_3.h>
|
||||
#include <CGAL/IO/Nef_polyhedron_iostream_3.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
#include <CGAL/Exact_integer.h>
|
||||
#include <CGAL/Homogeneous.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Nef_polyhedron_3.h>
|
||||
#include <CGAL/IO/Nef_polyhedron_iostream_3.h>
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
#include <CGAL/Exact_integer.h>
|
||||
#include <CGAL/Homogeneous.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Nef_polyhedron_3.h>
|
||||
#include <CGAL/IO/Nef_polyhedron_iostream_3.h>
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Nef_polyhedron_3.h>
|
||||
#include <CGAL/IO/Nef_polyhedron_iostream_3.h>
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@
|
|||
#ifndef CGAL_ROTATION_TREE_H
|
||||
#define CGAL_ROTATION_TREE_H
|
||||
|
||||
#include <CGAL/disable_warnings.h>
|
||||
|
||||
#include <CGAL/license/Partition_2.h>
|
||||
|
||||
|
||||
|
|
@ -178,6 +180,8 @@ private:
|
|||
|
||||
#include <CGAL/Partition_2/Rotation_tree_2_impl.h>
|
||||
|
||||
#include <CGAL/enable_warnings.h>
|
||||
|
||||
#endif // CGAL_ROTATION_TREE_H
|
||||
|
||||
// For the Emacs editor:
|
||||
|
|
|
|||
|
|
@ -501,11 +501,12 @@ create_mst_graph(
|
|||
/**
|
||||
\ingroup PkgPointSetProcessingAlgorithms
|
||||
Orients the normals of the range of `points` using the propagation
|
||||
of a seed orientation through a minimum spanning tree of the Riemannian graph [Hoppe92].
|
||||
|
||||
of a seed orientation through a minimum spanning tree of the Riemannian graph.
|
||||
This method modifies the order of input points so as to pack all sucessfully oriented points first,
|
||||
and returns an iterator over the first point with an unoriented normal (see erase-remove idiom).
|
||||
For this reason it should not be called on sorted containers.
|
||||
It is based on \cgalCite{cgal:hddms-srup-92}.
|
||||
|
||||
\warning This function may fail when Boost version 1.54 is used,
|
||||
because of the following bug: https://svn.boost.org/trac/boost/ticket/9012
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
#include <CGAL/trace.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Surface_mesh_default_triangulation_3.h>
|
||||
#include <CGAL/make_surface_mesh.h>
|
||||
#include <CGAL/Implicit_surface_3.h>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/poisson_surface_reconstruction.h>
|
||||
#include <CGAL/IO/read_xyz_points.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
#include <CGAL/Polygon_mesh_processing/fair.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,11 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
|
||||
#include <CGAL/Polygon_mesh_processing/orient_polygon_soup.h>
|
||||
#include <CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h>
|
||||
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/algorithm.h>
|
||||
#include <CGAL/Timer.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Side_of_triangle_mesh.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
#include "point_inside_helpers.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,8 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#ifdef USE_SURFACE_MESH
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#else
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#endif
|
||||
#include <CGAL/AABB_halfedge_graph_segment_primitive.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
|
||||
#include <CGAL/Linear_cell_complex_for_bgl_combinatorial_map_helper.h>
|
||||
#include <CGAL/iterator.h>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
#include <CGAL/Polygon_mesh_processing/corefinement.h>
|
||||
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ int main(int argc, char* argv[])
|
|||
= PMP::sharp_edges_segmentation(mesh, 90, eif, pid,
|
||||
PMP::parameters::first_index(1)
|
||||
.vertex_incident_patches_map(vip));
|
||||
|
||||
CGAL_assertion(number_of_patches == 6);
|
||||
|
||||
PMP::detect_sharp_edges(mesh, 90, eif);
|
||||
|
|
@ -89,3 +90,4 @@ int main(int argc, char* argv[])
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polygon_mesh_processing/repair.h>
|
||||
|
||||
#include <fstream>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
|
||||
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
|
||||
#include <CGAL/Polygon_mesh_processing/triangulate_faces.h>
|
||||
#include <boost/foreach.hpp>
|
||||
|
|
|
|||
|
|
@ -5,13 +5,8 @@
|
|||
#include <CGAL/Polygon_mesh_processing/internal/Hole_filling/do_not_use_DT3.h>
|
||||
#ifdef POLY
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#else
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/properties_Surface_mesh.h>
|
||||
#endif
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,13 +3,8 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#ifdef POLY
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#else
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Surface_mesh.h>
|
||||
#include <CGAL/boost/graph/properties_Surface_mesh.h>
|
||||
#endif
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@
|
|||
|
||||
#include <CGAL/Polyhedron_incremental_builder_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/Polygon_mesh_processing/triangulate_hole.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/polyhedron_cut_plane_3.h>
|
||||
#include <iostream>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/box_intersection_d.h>
|
||||
#include <CGAL/Bbox_3.h>
|
||||
#include <CGAL/intersections.h>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_incremental_builder_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <sstream>
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> K;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/IO/Verbose_ostream.h>
|
||||
#include <cstddef>
|
||||
#include <cstdlib>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/IO/Polyhedron_VRML_1_ostream.h>
|
||||
#include <iostream>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/IO/Verbose_ostream.h>
|
||||
#include <cstddef>
|
||||
#include <cstdlib>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
// disabled compilers.
|
||||
#ifndef CGAL_USE_POLYHEDRON_DESIGN_ONE
|
||||
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/IO/print_OFF.h>
|
||||
#include <CGAL/IO/print_wavefront.h>
|
||||
#include <CGAL/IO/print_inventor.h>
|
||||
|
|
|
|||
|
|
@ -729,7 +729,9 @@ public:
|
|||
return gic( gc( p, exponent ), ev );
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
typedef CGAL::internal::Monomial_representation<Polynomial_d> Monomial_representation;
|
||||
|
||||
// Swap variable x_i with x_j
|
||||
struct Swap {
|
||||
typedef Polynomial_d result_type;
|
||||
|
|
@ -1537,10 +1539,6 @@ struct Construct_innermost_coefficient_const_iterator_range
|
|||
};
|
||||
|
||||
|
||||
typedef
|
||||
CGAL::internal::Monomial_representation<Polynomial_d>
|
||||
Monomial_representation;
|
||||
|
||||
// returns the Exponten_vector of the innermost leading coefficient
|
||||
struct Degree_vector{
|
||||
typedef Exponent_vector result_type;
|
||||
|
|
|
|||
|
|
@ -440,20 +440,29 @@ make_property_map(const std::vector<T>& v)
|
|||
}
|
||||
|
||||
/// \ingroup PkgProperty_map
|
||||
/// Property map that only returns the default value type
|
||||
/// \cgalModels `ReadablePropertyMap`
|
||||
template<class InputIterator, class ValueType>
|
||||
struct Default_property_map{
|
||||
/// Property map that returns a fixed value.
|
||||
/// Note that this value is chosen when the map is constructed and cannot
|
||||
/// be changed afterwards. Specifically, the free function `put()` does nothing.
|
||||
///
|
||||
/// \cgalModels `ReadWritePropertyMap`
|
||||
template<class KeyType, class ValueType>
|
||||
struct Constant_property_map
|
||||
{
|
||||
const ValueType default_value;
|
||||
|
||||
typedef typename InputIterator::value_type key_type;
|
||||
typedef boost::readable_property_map_tag category;
|
||||
|
||||
Default_property_map(const ValueType& default_value = ValueType()) : default_value (default_value) { }
|
||||
|
||||
/// Free function to use a get the value from an iterator using Input_iterator_property_map.
|
||||
inline friend ValueType
|
||||
get (const Default_property_map&, const key_type&){ return ValueType(); }
|
||||
typedef KeyType key_type;
|
||||
typedef ValueType value_type;
|
||||
typedef boost::read_write_property_map_tag category;
|
||||
|
||||
Constant_property_map(const value_type& default_value = value_type()) : default_value (default_value) { }
|
||||
|
||||
/// Free function that returns `pm.default_value`.
|
||||
inline friend value_type
|
||||
get (const Constant_property_map& pm, const key_type&){ return pm.default_value; }
|
||||
|
||||
/// Free function that does nothing.
|
||||
inline friend void
|
||||
put (const Constant_property_map&, const key_type&, const value_type&) { }
|
||||
};
|
||||
|
||||
/// \ingroup PkgProperty_map
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@
|
|||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@
|
|||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/helpers.h>
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
#ifndef CGAL_INTERNAL_ARRAY_BINARY_TREE_HPP
|
||||
#define CGAL_INTERNAL_ARRAY_BINARY_TREE_HPP
|
||||
|
||||
#include <boost/iterator.hpp>
|
||||
#include <iterator>
|
||||
#include <functional>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
|
|
@ -52,12 +52,12 @@ public:
|
|||
|
||||
struct children_type {
|
||||
struct iterator
|
||||
: ::boost::iterator<std::forward_iterator_tag,
|
||||
//JT: the iterator type is "forward" and not "bidirectional",
|
||||
//because it does not implement unary operator--
|
||||
ArrayBinaryTreeNode,
|
||||
difference_type, array_binary_tree_node*, ArrayBinaryTreeNode&>
|
||||
{ // replace with iterator_adaptor implementation -JGS
|
||||
typedef std::forward_iterator_tag Category;
|
||||
typedef ArrayBinaryTreeNode value_type;
|
||||
typedef size_type difference_type;
|
||||
typedef ArrayBinaryTreeNode* Pointer;
|
||||
typedef ArrayBinaryTreeNode& Reference;
|
||||
|
||||
inline iterator() : i(0), n(0) { }
|
||||
inline iterator(const iterator& x) : r(x.r), i(x.i), n(x.n), id(x.id) { }
|
||||
|
|
|
|||
|
|
@ -107,7 +107,8 @@ protected:
|
|||
typedef Segment_tree_node<C_Data,C_Window,C_Interface> Segment_tree_node_t;
|
||||
typedef Segment_tree_node<C_Data,C_Window,C_Interface> *link_type;
|
||||
|
||||
std::allocator<Segment_tree_node_t> alloc;
|
||||
typedef std::allocator<Segment_tree_node_t> allocator_type;
|
||||
allocator_type alloc;
|
||||
|
||||
C_Interface m_interface;
|
||||
bool is_built;
|
||||
|
|
@ -197,7 +198,11 @@ protected:
|
|||
{
|
||||
Segment_tree_node_t node(l,r,kl,kr);
|
||||
Segment_tree_node_t* node_ptr = alloc.allocate(1);
|
||||
#ifdef CGAL_CXX11
|
||||
std::allocator_traits<allocator_type>::construct(alloc, node_ptr, node);
|
||||
#else
|
||||
alloc.construct(node_ptr, node);
|
||||
#endif
|
||||
return node_ptr;
|
||||
}
|
||||
|
||||
|
|
@ -205,7 +210,11 @@ protected:
|
|||
{
|
||||
Segment_tree_node_t node(kl,kr);
|
||||
Segment_tree_node_t* node_ptr = alloc.allocate(1);
|
||||
#ifdef CGAL_CXX11
|
||||
std::allocator_traits<allocator_type>::construct(alloc, node_ptr, node);
|
||||
#else
|
||||
alloc.construct(node_ptr, node);
|
||||
#endif
|
||||
return node_ptr;
|
||||
}
|
||||
|
||||
|
|
@ -213,7 +222,11 @@ protected:
|
|||
{
|
||||
Segment_tree_node_t node;
|
||||
Segment_tree_node_t* node_ptr = alloc.allocate(1);
|
||||
#ifdef CGAL_CXX11
|
||||
std::allocator_traits<allocator_type>::construct(alloc, node_ptr, node);
|
||||
#else
|
||||
alloc.construct(node_ptr, node);
|
||||
#endif
|
||||
return node_ptr;
|
||||
}
|
||||
|
||||
|
|
@ -298,7 +311,11 @@ protected:
|
|||
|
||||
void delete_node(Segment_tree_node_t* node_ptr)
|
||||
{
|
||||
#ifdef CGAL_CXX11
|
||||
std::allocator_traits<allocator_type>::destroy(alloc, node_ptr);
|
||||
#else
|
||||
alloc.destroy(node_ptr);
|
||||
#endif
|
||||
alloc.deallocate(node_ptr,1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Skin_surface_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/mesh_skin_surface_3.h>
|
||||
|
||||
#include <list>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Skin_surface_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/mesh_skin_surface_3.h>
|
||||
|
||||
#include <list>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Surface_mesh_deformation.h>
|
||||
|
||||
#include <CGAL/Timer.h>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/properties_Polyhedron_3.h>
|
||||
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <CGAL/property_map.h>
|
||||
#include <boost/optional.hpp>
|
||||
#include <vector>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Surface_mesh_deformation.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> Kernel;
|
||||
typedef CGAL::Polyhedron_3<Kernel, CGAL::Polyhedron_items_with_id_3> Polyhedron;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Timer.h>
|
||||
|
||||
#include <CGAL/mesh_segmentation.h>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
#include <CGAL/internal/Surface_mesh_segmentation/Filters.h>
|
||||
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <cmath>
|
||||
#include <map>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/mesh_segmentation.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
#define CGAL_DO_NOT_USE_BOYKOV_KOLMOGOROV_MAXFLOW_SOFTWARE
|
||||
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/mesh_segmentation.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_rational.h>
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
#include <CGAL/mesh_segmentation.h>
|
||||
|
||||
#include <CGAL/property_map.h>
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@
|
|||
|
||||
#include <CGAL/Polyhedron_3.h>
|
||||
#include <CGAL/Polyhedron_items_with_id_3.h>
|
||||
#include <CGAL/IO/Polyhedron_iostream.h>
|
||||
|
||||
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
|
||||
#include <CGAL/boost/graph/iterator.h>
|
||||
|
||||
#include <CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits.h>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue