aGrUM  0.14.2
defaultTriangulation.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005 by Christophe GONZALES and Pierre-Henri WUILLEMIN *
3  * {prenom.nom}_at_lip6.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
25 #ifndef GUM_DEFAULT_TRIANGULATION_H
26 #define GUM_DEFAULT_TRIANGULATION_H
27 
30 
31 namespace gum {
32 
60  public:
61  // ############################################################################
63  // ############################################################################
65 
67  explicit DefaultTriangulation(const UndiGraph* graph,
68  const NodeProperty< Size >* dom_sizes,
69  bool minimality = false,
70  double theRatio = GUM_QUASI_RATIO,
71  double theThreshold = GUM_WEIGHT_THRESHOLD);
72 
74  explicit DefaultTriangulation(bool minimality = false,
75  double theRatio = GUM_QUASI_RATIO,
76  double theThreshold = GUM_WEIGHT_THRESHOLD);
77 
80 
83 
86 
88 
94  virtual DefaultTriangulation* newFactory() const;
95 
97  virtual DefaultTriangulation* copyFactory() const;
98 
100 
101 
102  private:
105 
108  double __threshold;
109 
110 
111  // ############################################################################
113  // ############################################################################
115 
118 
120  };
121 
122 
123 } /* namespace gum */
124 
125 
126 #endif /* GUM_DEFAULT_TRIANGULATION_H */
virtual DefaultTriangulation * newFactory() const
virtual clone constructor
#define GUM_WEIGHT_THRESHOLD
Definition: simplicialSet.h:38
Class for fast retrieval of simplicial and quasi/almost simplicial nodes.
Interface for all triangulation methods without constraints on node elimination orderings.
base class for graph triangulations without constraints on nodes elimination ordering.
DefaultTriangulation(const UndiGraph *graph, const NodeProperty< Size > *dom_sizes, bool minimality=false, double theRatio=GUM_QUASI_RATIO, double theThreshold=GUM_WEIGHT_THRESHOLD)
basic constructor. initialize the triangulation
gum is the global namespace for all aGrUM entities
Definition: agrum.h:25
double __quasi_ratio
the ratio above which we consider nodes to be quasi simplicial
~DefaultTriangulation()
destructor
The class for generic Hash Tables.
Definition: hashTable.h:676
double __threshold
threshold under which almost and quasi simplicial nodes can be chosen to be eliminated ...
The default triangulation algorithm used by aGrUM.
virtual DefaultTriangulation * copyFactory() const
virtual copy constructor
Base class for undirected graphs.
Definition: undiGraph.h:106
#define GUM_QUASI_RATIO
Definition: simplicialSet.h:37
DefaultTriangulation & operator=(const DefaultTriangulation &)
forbid copy operator