mirror of https://github.com/CGAL/cgal
update
This commit is contained in:
parent
138be31cba
commit
eb39602066
|
|
@ -428,9 +428,6 @@ namespace CGAL {
|
||||||
template < unsigned int, class, class, class, class >
|
template < unsigned int, class, class, class, class >
|
||||||
friend class Combinatorial_map_base;
|
friend class Combinatorial_map_base;
|
||||||
|
|
||||||
template <unsigned int, typename>
|
|
||||||
friend struct Index::Dart;
|
|
||||||
|
|
||||||
template < unsigned int, class, class, class, class >
|
template < unsigned int, class, class, class, class >
|
||||||
friend class Generalized_map_base;
|
friend class Generalized_map_base;
|
||||||
|
|
||||||
|
|
@ -439,23 +436,10 @@ namespace CGAL {
|
||||||
|
|
||||||
template<unsigned int, unsigned int, class, class, class, class>
|
template<unsigned int, unsigned int, class, class, class, class>
|
||||||
friend class GMap_linear_cell_complex_storage_1;
|
friend class GMap_linear_cell_complex_storage_1;
|
||||||
>>>>>>> master
|
|
||||||
|
|
||||||
template < unsigned int, typename>
|
|
||||||
friend struct GMap_dart;
|
|
||||||
|
|
||||||
template <class, class, class, class>
|
template <class, class, class, class>
|
||||||
friend class Compact_container_with_index;
|
friend class Compact_container_with_index;
|
||||||
|
|
||||||
template<typename, unsigned int, typename>
|
|
||||||
friend struct internal::Decrease_attribute_functor_run;
|
|
||||||
|
|
||||||
template <typename, typename>
|
|
||||||
friend struct internal::Reverse_orientation_of_map_functor;
|
|
||||||
|
|
||||||
template <typename, typename>
|
|
||||||
friend struct internal::Reverse_orientation_of_connected_component_functor;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef Tag_false Supports_cell_dart;
|
typedef Tag_false Supports_cell_dart;
|
||||||
|
|
||||||
|
|
@ -544,27 +528,12 @@ namespace CGAL {
|
||||||
template < unsigned int, class, class, class, class >
|
template < unsigned int, class, class, class, class >
|
||||||
friend class Combinatorial_map_base;
|
friend class Combinatorial_map_base;
|
||||||
|
|
||||||
template <unsigned int, typename>
|
|
||||||
friend struct Index::Dart;
|
|
||||||
|
|
||||||
template < unsigned int, class, class, class, class >
|
template < unsigned int, class, class, class, class >
|
||||||
friend class Generalized_map_base;
|
friend class Generalized_map_base;
|
||||||
|
|
||||||
template <unsigned int, typename>
|
|
||||||
friend struct GMap_dart;
|
|
||||||
|
|
||||||
template <class, class, class, class>
|
template <class, class, class, class>
|
||||||
friend class Compact_container_with_index;
|
friend class Compact_container_with_index;
|
||||||
|
|
||||||
template<typename, unsigned int, typename>
|
|
||||||
friend struct internal::Decrease_attribute_functor_run;
|
|
||||||
|
|
||||||
template <typename, typename>
|
|
||||||
friend struct internal::Reverse_orientation_of_map_functor;
|
|
||||||
|
|
||||||
template <typename, typename>
|
|
||||||
friend struct internal::Reverse_orientation_of_connected_component_functor;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef Tag_true Supports_cell_dart;
|
typedef Tag_true Supports_cell_dart;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -435,9 +435,10 @@ namespace CGAL
|
||||||
iterator_type;
|
iterator_type;
|
||||||
|
|
||||||
// TODO case when there is no Use_index typedef in CMap
|
// TODO case when there is no Use_index typedef in CMap
|
||||||
typedef typename boost::mpl::if_
|
/* TODO ask sebastien ?
|
||||||
|
typedef typename boost::mpl::if_
|
||||||
< typename boost::is_same<typename CMap::Use_index,Tag_true>::type,
|
< typename boost::is_same<typename CMap::Use_index,Tag_true>::type,
|
||||||
typename CMap::Dart_handle, iterator_type >::type type;
|
typename CMap::Dart_handle, iterator_type >::type type;*/
|
||||||
|
|
||||||
typedef typename GetIndexOrHandle
|
typedef typename GetIndexOrHandle
|
||||||
<typename CMap::template Container_for_attributes<T> >::type type;
|
<typename CMap::template Container_for_attributes<T> >::type type;
|
||||||
|
|
@ -451,10 +452,11 @@ namespace CGAL
|
||||||
typedef typename CMap::template Container_for_attributes<T>::
|
typedef typename CMap::template Container_for_attributes<T>::
|
||||||
const_iterator iterator_type;
|
const_iterator iterator_type;
|
||||||
|
|
||||||
|
/* TODO ask sebastien ?
|
||||||
typedef typename boost::mpl::if_
|
typedef typename boost::mpl::if_
|
||||||
< typename boost::is_same<typename CMap::Use_index,Tag_true>::type,
|
< typename boost::is_same<typename CMap::Use_index,Tag_true>::type,
|
||||||
typename CMap::Dart_handle, iterator_type >::type type;
|
typename CMap::Dart_handle, iterator_type >::type type;
|
||||||
|
*/
|
||||||
typedef typename GetConstIndexOrConstHandle
|
typedef typename GetConstIndexOrConstHandle
|
||||||
<typename CMap::template Container_for_attributes<T> >::type type;
|
<typename CMap::template Container_for_attributes<T> >::type type;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -29,12 +29,18 @@ namespace CGAL {
|
||||||
template<unsigned int, class, class, class>
|
template<unsigned int, class, class, class>
|
||||||
class Combinatorial_map_storage_1;
|
class Combinatorial_map_storage_1;
|
||||||
|
|
||||||
|
template<unsigned int, class, class, class>
|
||||||
|
class Combinatorial_map_storage_2;
|
||||||
|
|
||||||
template<unsigned int, class, class, class>
|
template<unsigned int, class, class, class>
|
||||||
class Generalized_map_storage_1;
|
class Generalized_map_storage_1;
|
||||||
|
|
||||||
template<unsigned int, unsigned int, class, class, class, class>
|
template<unsigned int, unsigned int, class, class, class, class>
|
||||||
class CMap_linear_cell_complex_storage_1;
|
class CMap_linear_cell_complex_storage_1;
|
||||||
|
|
||||||
|
template<unsigned int, unsigned int, class, class, class, class>
|
||||||
|
class CMap_linear_cell_complex_storage_2;
|
||||||
|
|
||||||
template<unsigned int, unsigned int, class, class, class, class>
|
template<unsigned int, unsigned int, class, class, class, class>
|
||||||
class GMap_linear_cell_complex_storage_1;
|
class GMap_linear_cell_complex_storage_1;
|
||||||
|
|
||||||
|
|
@ -264,14 +270,12 @@ namespace CGAL {
|
||||||
public:
|
public:
|
||||||
typedef CGAL::Void Info;
|
typedef CGAL::Void Info;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Index
|
namespace Index
|
||||||
{
|
{
|
||||||
template <unsigned int d, typename Refs>
|
template <unsigned int d, typename Refs>
|
||||||
struct Dart
|
struct Dart
|
||||||
{
|
{
|
||||||
template < unsigned int, class, class, class, class >
|
|
||||||
friend class Combinatorial_map_base;
|
|
||||||
|
|
||||||
template<unsigned int, class, class>
|
template<unsigned int, class, class>
|
||||||
friend class Combinatorial_map_storage_1;
|
friend class Combinatorial_map_storage_1;
|
||||||
|
|
||||||
|
|
@ -287,27 +291,15 @@ namespace CGAL {
|
||||||
template <class, class, class, class>
|
template <class, class, class, class>
|
||||||
friend class Compact_container;
|
friend class Compact_container;
|
||||||
|
|
||||||
|
template <class, class>
|
||||||
|
friend class Concurrent_compact_container;
|
||||||
|
|
||||||
template <class, class, class, class>
|
template <class, class, class, class>
|
||||||
friend class Compact_container_with_index;
|
friend class Compact_container_with_index;
|
||||||
|
|
||||||
template <class, class, class, class>
|
template <class, class, class, class>
|
||||||
friend class Compact_container_with_index_2;
|
friend class Compact_container_with_index_2;
|
||||||
|
|
||||||
template<class, unsigned int, unsigned int>
|
|
||||||
friend struct Remove_cell_functor;
|
|
||||||
|
|
||||||
template<class, unsigned int>
|
|
||||||
friend struct Contract_cell_functor;
|
|
||||||
|
|
||||||
template <typename,unsigned int>
|
|
||||||
friend struct internal::link_beta_functor;
|
|
||||||
|
|
||||||
template <typename, typename>
|
|
||||||
friend struct internal::Reverse_orientation_of_map_functor;
|
|
||||||
|
|
||||||
template <typename, typename>
|
|
||||||
friend struct internal::Reverse_orientation_of_connected_component_functor;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef Dart<d,Refs> Self;
|
typedef Dart<d,Refs> Self;
|
||||||
typedef typename Refs::Dart_handle Dart_handle;
|
typedef typename Refs::Dart_handle Dart_handle;
|
||||||
|
|
@ -329,47 +321,11 @@ namespace CGAL {
|
||||||
/// The dimension of the combinatorial map.
|
/// The dimension of the combinatorial map.
|
||||||
static const unsigned int dimension = d;
|
static const unsigned int dimension = d;
|
||||||
|
|
||||||
/** Return the beta of this dart for a given dimension.
|
Dart_handle get_f(unsigned int i) const
|
||||||
* @param i the dimension.
|
|
||||||
* @return beta(\em i).
|
|
||||||
*/
|
|
||||||
template<unsigned int i>
|
|
||||||
Dart_handle beta()
|
|
||||||
{
|
{
|
||||||
CGAL_assertion(i <= dimension);
|
assert(i<=dimension);
|
||||||
return mbeta[i];
|
return mf[i];
|
||||||
}
|
}
|
||||||
Dart_handle beta(unsigned int i)
|
|
||||||
{
|
|
||||||
CGAL_assertion(i <= dimension);
|
|
||||||
return mbeta[i];
|
|
||||||
}
|
|
||||||
template<unsigned int i>
|
|
||||||
Dart_const_handle beta() const
|
|
||||||
{
|
|
||||||
CGAL_assertion(i <= dimension);
|
|
||||||
return mbeta[i];
|
|
||||||
}
|
|
||||||
Dart_const_handle beta(unsigned int i) const
|
|
||||||
{
|
|
||||||
CGAL_assertion(i <= dimension);
|
|
||||||
return mbeta[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Return the beta inverse of this dart for a given dimension.
|
|
||||||
* @param i the dimension.
|
|
||||||
* @return beta^{-1}(\em i).
|
|
||||||
*/
|
|
||||||
template<unsigned int i>
|
|
||||||
Dart_handle beta_inv()
|
|
||||||
{ return beta<CGAL_BETAINV(i)>(); }
|
|
||||||
Dart_handle beta_inv(unsigned int i)
|
|
||||||
{ return beta(CGAL_BETAINV(i)); }
|
|
||||||
template<unsigned int i>
|
|
||||||
Dart_const_handle beta_inv() const
|
|
||||||
{ return beta<CGAL_BETAINV(i)>(); }
|
|
||||||
Dart_const_handle beta_inv(unsigned int i) const
|
|
||||||
{ return beta(CGAL_BETAINV(i)); }
|
|
||||||
|
|
||||||
/// @return a handle on the i-attribute
|
/// @return a handle on the i-attribute
|
||||||
template<int i>
|
template<int i>
|
||||||
|
|
@ -455,18 +411,18 @@ namespace CGAL {
|
||||||
mattribute_handles(adart.mattribute_handles)
|
mattribute_handles(adart.mattribute_handles)
|
||||||
{
|
{
|
||||||
for (unsigned int i = 0; i <= dimension; ++i)
|
for (unsigned int i = 0; i <= dimension; ++i)
|
||||||
mbeta[i] = adart.mbeta[i];
|
mf[i] = adart.mf[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
size_type for_compact_container_with_index() const
|
size_type for_compact_container_with_index() const
|
||||||
{ return mbeta[0].for_compact_container_with_index(); }
|
{ return mf[0].for_compact_container_with_index(); }
|
||||||
size_type& for_compact_container_with_index()
|
size_type& for_compact_container_with_index()
|
||||||
{ return mbeta[0].for_compact_container_with_index(); }
|
{ return mf[0].for_compact_container_with_index(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/// Beta for each dimension +1 (from 0 to dimension).
|
/// Neighboors for each dimension +1 (from 0 to dimension).
|
||||||
Dart_handle mbeta[dimension+1];
|
Dart_handle mf[dimension+1];
|
||||||
|
|
||||||
/// Values of Boolean marks.
|
/// Values of Boolean marks.
|
||||||
mutable std::bitset<NB_MARKS> mmarks;
|
mutable std::bitset<NB_MARKS> mmarks;
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,14 @@ template<unsigned int d_, unsigned int ambient_dim,
|
||||||
class Traits_, class Items_, class Alloc_, class Concurrent_tag=CGAL::Tag_false >
|
class Traits_, class Items_, class Alloc_, class Concurrent_tag=CGAL::Tag_false >
|
||||||
class GMap_linear_cell_complex_storage_1;
|
class GMap_linear_cell_complex_storage_1;
|
||||||
|
|
||||||
|
template<unsigned int d_, unsigned int ambient_dim,
|
||||||
|
class Traits_, class Items_, class Alloc_, class Size_type> // TODO add Concurrent_tag
|
||||||
|
class CMap_linear_cell_complex_storage_2;
|
||||||
|
|
||||||
|
template<unsigned int d_, unsigned int ambient_dim,
|
||||||
|
class Traits_, class Items_, class Alloc_, class Size_type> // TODO add Concurrent_tag class Concurrent_tag=CGAL::Tag_false >
|
||||||
|
class GMap_linear_cell_complex_storage_2;
|
||||||
|
|
||||||
template <unsigned int d>
|
template <unsigned int d>
|
||||||
struct LCC_default_kernel;
|
struct LCC_default_kernel;
|
||||||
|
|
||||||
|
|
@ -67,6 +75,33 @@ template < unsigned int d_, unsigned int ambient_dim = d_,
|
||||||
Alloc_, CGAL::Tag_false> >
|
Alloc_, CGAL::Tag_false> >
|
||||||
class Linear_cell_complex_for_generalized_map;
|
class Linear_cell_complex_for_generalized_map;
|
||||||
|
|
||||||
|
namespace Index
|
||||||
|
{
|
||||||
|
template < unsigned int d_, unsigned int ambient_dim = d_,
|
||||||
|
class Traits_ = Linear_cell_complex_traits<ambient_dim>,
|
||||||
|
class Items_ = Linear_cell_complex_min_items,
|
||||||
|
class Alloc_ = CGAL_ALLOCATOR(int),
|
||||||
|
template<unsigned int,class,class,class,class>
|
||||||
|
class CMap = Combinatorial_map_base,
|
||||||
|
class Storage_ = CMap_linear_cell_complex_storage_2<d_, ambient_dim,
|
||||||
|
Traits_, Items_,
|
||||||
|
Alloc_, unsigned int>>
|
||||||
|
// TODO READD CGAL::Tag_false> >
|
||||||
|
class Linear_cell_complex_for_combinatorial_map;
|
||||||
|
|
||||||
|
/* TODO GMap_linear_cell_complex_storage_2
|
||||||
|
template < unsigned int d_, unsigned int ambient_dim = d_,
|
||||||
|
class Traits_ = Linear_cell_complex_traits<ambient_dim>,
|
||||||
|
class Items_ = Linear_cell_complex_min_items,
|
||||||
|
class Alloc_ = CGAL_ALLOCATOR(int),
|
||||||
|
template<unsigned int,class,class,class,class>
|
||||||
|
class CMap = Generalized_map_base,
|
||||||
|
class Storage_ = GMap_linear_cell_complex_storage_2<d_, ambient_dim,
|
||||||
|
Traits_, Items_, unsigned int>>
|
||||||
|
// TODO READD CGAL::Tag_false> >
|
||||||
|
class Linear_cell_complex_for_generalized_map; */
|
||||||
|
} // namespace Index
|
||||||
|
|
||||||
} // CGAL
|
} // CGAL
|
||||||
|
|
||||||
#endif // LINEAR_CELL_COMPLEX_FWD_H
|
#endif // LINEAR_CELL_COMPLEX_FWD_H
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ namespace CGAL {
|
||||||
|
|
||||||
namespace Index
|
namespace Index
|
||||||
{
|
{
|
||||||
template <unsigned int d>
|
|
||||||
struct Linear_cell_complex_min_items
|
struct Linear_cell_complex_min_items
|
||||||
{
|
{
|
||||||
/// Dart_wrapper defines the type of darts used.
|
/// Dart_wrapper defines the type of darts used.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue