MEPP2 Project
DataStructures_cgal_linear_cell_complex.h
Go to the documentation of this file.
1 // Copyright (c) 2012-2019 University of Lyon and CNRS (France).
2 // All rights reserved.
3 //
4 // This file is part of MEPP2; you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as
6 // published by the Free Software Foundation; either version 3 of
7 // the License, or (at your option) any later version.
8 //
9 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
10 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11 #pragma once
12 
13 #include <CGAL/version_macros.h>
14 
15 #include <CGAL/Cartesian.h>
16 
17 #include <CGAL/boost/graph/graph_traits_Linear_cell_complex_for_combinatorial_map.h>
18 
19 // FIXME: the following inclusion can be removed once the generic
20 // reader becomes the only one used (as opposed to using the
21 // LCC native ones).
22 #include <CGAL/Linear_cell_complex_incremental_builder.h>
23 
24 namespace FEVV {
25 
26 using CGALKernel = CGAL::Cartesian< double >;
27 using CGALLCCTraits = CGAL::Linear_cell_complex_traits< 3, CGALKernel >;
28 
29 struct CGALItem
30 {
31  template< class Refs >
32  struct Dart_wrapper
33  {
34  typedef CGAL::Tag_true Darts_with_id;
35  using Vertex_attribute = CGAL::Cell_attribute_with_point_and_id< Refs >;
36  using Face_attribute = CGAL::Cell_attribute_with_id< Refs >;
37  using Attributes =
38  CGAL::cpp11::tuple< Vertex_attribute, void, Face_attribute >;
39  };
40 };
41 
42 using MeshLCC = CGAL::
43  Linear_cell_complex_for_combinatorial_map< 2, 3, CGALLCCTraits, CGALItem >;
44 
45 } // namespace FEVV
46 
FEVV::CGALItem::Dart_wrapper
Definition: DataStructures_cgal_linear_cell_complex.h:33
FEVV::CGALItem
Definition: DataStructures_cgal_linear_cell_complex.h:30
FEVV::MeshLCC
CGAL::Linear_cell_complex_for_combinatorial_map< 2, 3, CGALLCCTraits, CGALItem > MeshLCC
Definition: DataStructures_cgal_linear_cell_complex.h:43
FEVV::CGALKernel
CGAL::Cartesian< double > CGALKernel
Definition: DataStructures_cgal_linear_cell_complex.h:26
FEVV::CGALItem::Dart_wrapper::Attributes
CGAL::cpp11::tuple< Vertex_attribute, void, Face_attribute > Attributes
Definition: DataStructures_cgal_linear_cell_complex.h:38
FEVV
Interfaces for plugins These interfaces will be used for different plugins.
Definition: Assert.h:16
FEVV::CGALItem::Dart_wrapper::Vertex_attribute
CGAL::Cell_attribute_with_point_and_id< Refs > Vertex_attribute
Definition: DataStructures_cgal_linear_cell_complex.h:35
FEVV::CGALLCCTraits
CGAL::Linear_cell_complex_traits< 3, CGALKernel > CGALLCCTraits
Definition: DataStructures_cgal_linear_cell_complex.h:27
FEVV::CGALItem::Dart_wrapper::Darts_with_id
CGAL::Tag_true Darts_with_id
Definition: DataStructures_cgal_linear_cell_complex.h:34
FEVV::CGALItem::Dart_wrapper::Face_attribute
CGAL::Cell_attribute_with_id< Refs > Face_attribute
Definition: DataStructures_cgal_linear_cell_complex.h:36