Skeleton_blocker_simple_geometric_traits.h
1/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
2 * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
3 * Author(s): David Salinas
4 *
5 * Copyright (C) 2014 Inria
6 *
7 * Modification(s):
8 * - YYYY/MM Author: Description of the modification
9 */
10
11#ifndef SKELETON_BLOCKER_SKELETON_BLOCKER_SIMPLE_GEOMETRIC_TRAITS_H_
12#define SKELETON_BLOCKER_SKELETON_BLOCKER_SIMPLE_GEOMETRIC_TRAITS_H_
13
14#include <gudhi/Skeleton_blocker/Skeleton_blocker_simple_traits.h>
15
16#include <string>
17#include <sstream>
18
19namespace Gudhi {
20
21namespace skeleton_blocker {
22
29template<typename GeometryTrait>
32 public:
33 typedef GeometryTrait GT;
34 typedef typename GT::Point Point;
36 typedef typename Skeleton_blocker_simple_traits::Graph_vertex Simple_vertex;
37
41 class Simple_geometric_vertex : public Simple_vertex {
42 template<class ComplexGeometricTraits> friend class Skeleton_blocker_geometric_complex;
43 private:
44 Point point_;
45
46 Point& point() {
47 return point_;
48 }
49
50 const Point& point() const {
51 return point_;
52 }
53 };
54
55 class Simple_geometric_edge :
56 public Skeleton_blocker_simple_traits::Graph_edge {
57 int index_;
58 public:
59 Simple_geometric_edge()
60 : Skeleton_blocker_simple_traits::Graph_edge(),
61 index_(-1) { }
62
68 int& index() {
69 return index_;
70 }
71
72 int index() const {
73 return index_;
74 }
75 };
76
77 typedef Simple_geometric_vertex Graph_vertex;
78 typedef Skeleton_blocker_simple_traits::Graph_edge Graph_edge;
79};
80
81} // namespace skeleton_blocker
82
83namespace skbl = skeleton_blocker;
84
85} // namespace Gudhi
86
87#endif // SKELETON_BLOCKER_SKELETON_BLOCKER_SIMPLE_GEOMETRIC_TRAITS_H_
Class that represents a geometric complex that can be simplified. The class allows access to points o...
Definition: Skeleton_blocker_geometric_complex.h:29
Vertex with a point attached.
Definition: Skeleton_blocker_simple_geometric_traits.h:41
Simple traits that is a model of SkeletonBlockerGeometricDS and can be passed as a template argument ...
Definition: Skeleton_blocker_simple_geometric_traits.h:31
Global and local handle similar to boost subgraphs. Vertices are stored in a vector....
Definition: Skeleton_blocker_simple_traits.h:38
Simple traits that is a model of SkeletonBlockerDS and can be passed as a template argument to Skelet...
Definition: Skeleton_blocker_simple_traits.h:29
GeometryTrait GT
Definition: SkeletonBlockerGeometricDS.h:32
GeometryTrait::Point Point
Definition: SkeletonBlockerGeometricDS.h:37