From 41a1b8c2728e212c832c0384c8bb424139a247cf Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Sun, 11 Mar 2018 18:13:21 +0100 Subject: Remove CGAL patches so as not to complicate copyright information. --- .../CGAL/internal/Combination_enumerator.h | 148 -------------------- .../CGAL/internal/Static_or_dynamic_array.h | 116 ---------------- .../CGAL/internal/Triangulation/Dummy_TDS.h | 49 ------- .../Triangulation/Triangulation_ds_iterators.h | 154 --------------------- .../CGAL/internal/Triangulation/utilities.h | 154 --------------------- 5 files changed, 621 deletions(-) delete mode 100644 include/gudhi_patches/CGAL/internal/Combination_enumerator.h delete mode 100644 include/gudhi_patches/CGAL/internal/Static_or_dynamic_array.h delete mode 100644 include/gudhi_patches/CGAL/internal/Triangulation/Dummy_TDS.h delete mode 100644 include/gudhi_patches/CGAL/internal/Triangulation/Triangulation_ds_iterators.h delete mode 100644 include/gudhi_patches/CGAL/internal/Triangulation/utilities.h (limited to 'include/gudhi_patches/CGAL/internal') diff --git a/include/gudhi_patches/CGAL/internal/Combination_enumerator.h b/include/gudhi_patches/CGAL/internal/Combination_enumerator.h deleted file mode 100644 index f411e827..00000000 --- a/include/gudhi_patches/CGAL/internal/Combination_enumerator.h +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (c) 2009-2014 INRIA Sophia-Antipolis (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$ -// -// Author(s) : Samuel Hornus - -#ifndef CGAL_INTERNAL_COMBINATION_ENUMERATOR_H -#define CGAL_INTERNAL_COMBINATION_ENUMERATOR_H - -#include -#include - -namespace CGAL { - -namespace internal { - -class Combination_enumerator -{ - // types and member data - typedef std::vector Combination; - Combination combi_; - const int k_; - const int min_; - const int max_; - const int max_at_pos_0_; - -public: - - // For generating all the combinations of |k| distinct elements in the - // interval [min, max] (both included) - Combination_enumerator(const int k, const int min, const int max) - : combi_(k), k_(k), min_(min), max_(max), max_at_pos_0_(max + 1 - k) - { - CGAL_assertion_msg( min <= max, "min is larger than max"); - CGAL_assertion_msg( 1 <= k && k <= ( max - min + 1 ), "wrong value of k"); - init(); - } - - Combination_enumerator(const Combination_enumerator & c) - : combi_(c.combi_), k_(c.k_), min_(c.min_), max_(c.max_), max_at_pos_0_(c.max_at_pos_0_) - {} - - int number_of_elements() - { - return k_; - } - - void init() - { - combi_.resize(k_); - for( int i = 0; i < k_; ++i ) - element(i) = min_ + i; - } - - bool end() const - { - return ( element(0) > max_at_pos_0_ ); - } - - int element(const int i) const - { - CGAL_assertion( 0 <= i && i < k_ ); - return combi_[i]; - } - - int & element(const int i) - { - CGAL_assertion( 0 <= i && i < k_ ); - return combi_[i]; - } - - int operator[](const int i) const - { - return element(i); - } - - int & operator[](const int i) - { - return element(i); - } - - void operator++() - { - int i = k_ - 1; - int max_at_pos_i(max_); - while( ( i >= 0 ) && ( element(i) >= max_at_pos_i ) ) - { - --i; - --max_at_pos_i; - } - if( -1 == i ) - { - if( element(0) == max_at_pos_0_ ) - ++element(0); // mark then end of the enumeration with an impossible value - // Note than when we have arrived at the end of the enumeration, applying - // operator++() again does not change anything, so it is safe to - // apply it too many times. - } - else - { - ++element(i); - for( int j = i + 1; j < k_; ++j ) - element(j) = element(i) + j - i; - } - } - - Combination_enumerator operator++(int) - { - Combination_enumerator tmp(*this); - ++(*this); - return tmp; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - TESTING -#if 0 - void test() - { - std::cerr << '\n'; - while( ! end() ) - { - std::cerr << '\n'; - for( int i = 0; i < k_; ++i ) - std::cerr << element(i) << ' '; - ++(*this); - } - init(); - } -#endif -}; - -} // end of namespace internal - -} // end of namespace CGAL - -#endif // CGAL_INTERNAL_COMBINATION_ENUMERATOR_H diff --git a/include/gudhi_patches/CGAL/internal/Static_or_dynamic_array.h b/include/gudhi_patches/CGAL/internal/Static_or_dynamic_array.h deleted file mode 100644 index ee6195d9..00000000 --- a/include/gudhi_patches/CGAL/internal/Static_or_dynamic_array.h +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) 2009-2014 INRIA Sophia-Antipolis (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$ -// -// Author(s) : Samuel Hornus - -#ifndef CGAL_INTERNAL_STATIC_OR_DYNAMIC_ARRAY_H -#define CGAL_INTERNAL_STATIC_OR_DYNAMIC_ARRAY_H - -#include -#include -#include -#include - -namespace CGAL { - -namespace internal { - -// Utility for adding one to an Dimension_tag: - -template -struct Dimen_plus_one; - -template<> -struct Dimen_plus_one -{ - typedef Dynamic_dimension_tag type; -}; - -template -struct Dimen_plus_one > -{ - typedef Dimension_tag type; -}; - -// A SMALL CONTAINER UTILITY FOR DYNAMIC/STATIC MEMORY MANAGEMENT - -// stores an array of static or dynamic size, depending on template parameter . - -template< typename Containee, typename D, bool WithCompactContainerHelper = false> - struct S_or_D_array; // S = static, D = dynamic - -// The case of static size: -template< typename Containee, int D, bool WithCompactContainerHelper > -struct S_or_D_array< Containee, Dimension_tag< D >, WithCompactContainerHelper > -: public array -{ - typedef array Base; - S_or_D_array(const int) - : Base() - {} - S_or_D_array(const int, const Containee & c) - : Base() - { - assign(c); - } - void* for_compact_container() const - { - return (*this)[0].for_compact_container(); - } - void* & for_compact_container() - { - return (*this)[0].for_compact_container(); - } -}; - -// The case of dynamic size -template< typename Containee > -struct S_or_D_array< Containee, Dynamic_dimension_tag, false > -: public std::vector -{ - typedef std::vector Base; - // TODO: maybe we should use some "small-vector-optimized" class. - S_or_D_array(const int d) - : Base(d) - {} - S_or_D_array(const int d, const Containee & c) - : Base(d, c) - {} -}; - -// The case of dynamic size with for_compact_container -template< typename Containee > -struct S_or_D_array< Containee, Dynamic_dimension_tag, true > -: public std::vector -{ - typedef std::vector Base; - S_or_D_array(const int d) - : Base(d), fcc_(NULL) - {} - S_or_D_array(const int d, const Containee & c) - : Base(d, c), fcc_(NULL) - {} - void* fcc_; - void* for_compact_container() const { return fcc_; } - void* & for_compact_container() { return fcc_; } -}; - -} // end of namespace internal - -} // end of namespace CGAL - -#endif // CGAL_INTERNAL_STATIC_OR_DYNAMIC_ARRAY_H diff --git a/include/gudhi_patches/CGAL/internal/Triangulation/Dummy_TDS.h b/include/gudhi_patches/CGAL/internal/Triangulation/Dummy_TDS.h deleted file mode 100644 index b3a0ec98..00000000 --- a/include/gudhi_patches/CGAL/internal/Triangulation/Dummy_TDS.h +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) 2009-2014 INRIA Sophia-Antipolis (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$ -// -// Author(s) : Samuel Hornus - -#ifndef CGAL_INTERNAL_TRIANGULATION_DUMMY_TDS_H -#define CGAL_INTERNAL_TRIANGULATION_DUMMY_TDS_H - -namespace CGAL { - -namespace internal { -namespace Triangulation { - -struct Dummy_TDS -{ - struct Vertex {}; - struct Vertex_handle {}; - struct Vertex_iterator {}; - struct Vertex_const_handle {}; - struct Vertex_const_iterator {}; - struct Full_cell {}; - struct Full_cell_handle {}; - struct Full_cell_iterator {}; - struct Full_cell_const_handle {}; - struct Full_cell_const_iterator {}; - struct Vertex_handle_const_iterator {}; - struct Full_cell_data {}; -}; - -} // namespace Triangulation -} // namespace internal - -} //namespace CGAL - -#endif // CGAL_INTERNAL_TRIANGULATION_DUMMY_TDS_H diff --git a/include/gudhi_patches/CGAL/internal/Triangulation/Triangulation_ds_iterators.h b/include/gudhi_patches/CGAL/internal/Triangulation/Triangulation_ds_iterators.h deleted file mode 100644 index 7e360026..00000000 --- a/include/gudhi_patches/CGAL/internal/Triangulation/Triangulation_ds_iterators.h +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright (c) 2009-2014 INRIA Sophia-Antipolis (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$ -// -// Author(s) : Samuel Hornus (Well... `copy, paste and hack' of Monique Teillaud's work) - -#ifndef CGAL_INTERNAL_TRIANGULATION_TRIANGULATION_DS_ITERATORS_H -#define CGAL_INTERNAL_TRIANGULATION_TRIANGULATION_DS_ITERATORS_H - -namespace CGAL { - -namespace internal { -namespace Triangulation { - -template< typename TDS > -class Triangulation_ds_facet_iterator -{ - typedef typename TDS::Full_cell_handle Full_cell_handle; - typedef typename TDS::Facet Facet; - - typedef Facet value_type; - typedef const Facet * pointer; - typedef const Facet & reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - typedef std::bidirectional_iterator_tag iterator_category; - - typedef Triangulation_ds_facet_iterator Facet_iterator; - - TDS & tds_; - Facet ft_; - const int cur_dim_; - -public: - Triangulation_ds_facet_iterator(TDS & tds) - : tds_(tds), ft_(tds.full_cells_begin(), 0), cur_dim_(tds.current_dimension()) - { - CGAL_assertion( cur_dim_ > 0 ); - while( ! canonical() ) - raw_increment(); - } - - Triangulation_ds_facet_iterator(TDS & tds, int) - : tds_(tds), ft_(tds.full_cells_end(), 0), cur_dim_(tds.current_dimension()) - { - CGAL_assertion( cur_dim_ > 0 ); - CGAL_assertion( canonical() ); - } - - Facet_iterator & operator++() - { - increment(); - return (*this); - } - - Facet_iterator operator++(int) - { - Facet_iterator tmp(*this); - increment(); - return tmp; - } - - Facet_iterator & operator--() - { - decrement(); - return (*this); - } - - Facet_iterator operator--(int) - { - Facet_iterator tmp(*this); - decrement(); - return tmp; - } - - bool operator==(const Facet_iterator & fi) const - { - return (&tds_ == &fi.tds_) && - (tds_.index_of_covertex(ft_) == fi.tds_.index_of_covertex(fi.ft_)) && - (tds_.full_cell(ft_) == fi.tds_.full_cell(fi.ft_)); - } - - bool operator!=(const Facet_iterator & fi) const - { - return !(*this == fi); - } - - reference operator*() const - { - return ft_; - } - - pointer operator->() const - { - return &ft_; - } - -private: - bool canonical() - { - if( tds_.full_cells_end() == tds_.full_cell(ft_) ) - return ( 0 == tds_.index_of_covertex(ft_) ); - return ( tds_.full_cell(ft_) < - tds_.full_cell(ft_)->neighbor(tds_.index_of_covertex(ft_)) ); - } - - void raw_decrement() - { - int i = tds_.index_of_covertex(ft_); - if( i == 0 ) - ft_ = Facet(--tds_.full_cell(ft_), cur_dim_); - else - ft_ = Facet(tds_.full_cell(ft_), i - 1); - } - - void raw_increment() - { - int i = tds_.index_of_covertex(ft_); - if( i == cur_dim_ ) - ft_ = Facet(++tds_.full_cell(ft_), 0); - else - ft_ = Facet(tds_.full_cell(ft_), i + 1); - } - - void decrement() - { - do { raw_decrement(); } while( ! canonical() ); - } - - void increment() - { - do { raw_increment(); } while( ! canonical() ); - } -}; - -} // namespace Triangulation -} // namespace internal - -} //namespace CGAL - -#endif // CGAL_INTERNAL_TRIANGULATION_TRIANGULATION_DS_ITERATORS_H diff --git a/include/gudhi_patches/CGAL/internal/Triangulation/utilities.h b/include/gudhi_patches/CGAL/internal/Triangulation/utilities.h deleted file mode 100644 index a1ffc775..00000000 --- a/include/gudhi_patches/CGAL/internal/Triangulation/utilities.h +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright (c) 2009-2014 INRIA Sophia-Antipolis (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$ -// -// Author(s) : Samuel Hornus - -#ifndef CGAL_INTERNAL_TRIANGULATION_UTILITIES_H -#define CGAL_INTERNAL_TRIANGULATION_UTILITIES_H - -#include - -namespace CGAL { - -namespace internal { -namespace Triangulation { - -template< class TDS > -struct Dark_full_cell_data -{ - typedef typename TDS::Full_cell_handle Full_cell_handle; - Full_cell_handle light_copy_; - int count_; - Dark_full_cell_data() : light_copy_(), count_(0) {} -}; - -template< class TDS > -struct Compare_faces_with_common_first_vertex -{ - typedef typename TDS::Face Face; - - const int d_; - -public: - - Compare_faces_with_common_first_vertex(const int d) - : d_(d) - { - CGAL_assertion( 0 < d ); - } - - explicit Compare_faces_with_common_first_vertex(); - - bool operator()(const Face & left, const Face & right) const - { - CGAL_assertion( d_ == left.face_dimension() ); - CGAL_assertion( d_ == right.face_dimension() ); - for( int i = 1; i <= d_; ++i ) - { - if( left.vertex(i) < right.vertex(i) ) - return true; - if( right.vertex(i) < left.vertex(i) ) - return false; - } - return false; - } -}; - -template< class T > -struct Compare_vertices_for_upper_face -{ - typedef typename T::Vertex_const_handle VCH; - - const T & t_; - -public: - - Compare_vertices_for_upper_face(const T & t) - : t_(t) - {} - - explicit Compare_vertices_for_upper_face(); - - bool operator()(const VCH & left, const VCH & right) const - { - if( left == right ) - return false; - if( t_.is_infinite(left) ) - return true; - if( t_.is_infinite(right) ) - return false; - return left < right; - } -}; - -template< class T > -struct Compare_points_for_perturbation -{ - typedef typename T::Geom_traits::Point_d Point; - - const T & t_; - -public: - - Compare_points_for_perturbation(const T & t) - : t_(t) - {} - - explicit Compare_points_for_perturbation(); - - bool operator()(const Point * left, const Point * right) const - { - return (SMALLER == t_.geom_traits().compare_lexicographically_d_object()(*left, *right)); - } -}; - -template< class T > -struct Point_from_pointer -{ - typedef const typename T::Geom_traits::Point_d * argument_type; - typedef const typename T::Geom_traits::Point_d result_type; - result_type & operator()(argument_type & x) const - { - return (*x); - } - const result_type & operator()(const argument_type & x) const - { - return (*x); - } -}; - -template< typename Vertex_handle, typename Point > -struct Point_from_vertex_handle -{ - typedef Vertex_handle argument_type; - typedef Point result_type; - result_type & operator()(argument_type & x) const - { - return x->point(); - } - const result_type & operator()(const argument_type & x) const - { - return x->point(); - } -}; - -} // namespace Triangulation -} // namespace internal - -} //namespace CGAL - -#endif // CGAL_INTERNAL_TRIANGULATION_UTILITIES_H -- cgit v1.2.3