Placement_policy.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 CONTRACTION_POLICIES_PLACEMENT_POLICY_H_
12 #define CONTRACTION_POLICIES_PLACEMENT_POLICY_H_
13 
14 #include <boost/optional.hpp>
15 
16 namespace Gudhi {
17 
18 namespace contraction {
19 
24 template< typename EdgeProfile>
26  public:
27  typedef typename EdgeProfile::Point Point;
28  typedef boost::optional<Point> Placement_type;
29 
30  virtual Placement_type operator()(const EdgeProfile& profile) const = 0;
31 
32  virtual ~Placement_policy() { }
33 };
34 
35 } // namespace contraction
36 
37 } // namespace Gudhi
38 
39 #endif // CONTRACTION_POLICIES_PLACEMENT_POLICY_H_
Policy to specify where the merged point had to be placed after an edge contraction.
Definition: Placement_policy.h:25
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14