28 #ifndef GUM_ORDERED_TRIANGULATION_H 29 #define GUM_ORDERED_TRIANGULATION_H 33 #include <agrum/tools/graphs/algorithms/triangulations/eliminationStrategies/orderedEliminationSequenceStrategy.h> 34 #include <agrum/tools/graphs/algorithms/triangulations/junctionTreeStrategies/defaultJunctionTreeStrategy.h> 35 #include <agrum/tools/graphs/algorithms/triangulations/staticTriangulation.h> 63 bool minimality =
false);
84 const NodeProperty< Size >* domsizes,
85 const std::vector< NodeId >* sequence,
86 const OrderedEliminationSequenceStrategy& elimSeq
89 bool minimality =
false);
126 virtual void setGraph(
const UndiGraph* graph,
const NodeProperty< Size >* domsizes)
final;
131 virtual void setOrder(
const std::vector< NodeId >* order)
final;
virtual ~OrderedTriangulation()
destructor
OrderedTriangulation(const OrderedTriangulation &from)
copy constructor
INLINE void emplace(Args &&... args)
OrderedTriangulation(const UndiGraph *graph, const NodeProperty< Size > *domsizes, const std::vector< NodeId > *sequence, const OrderedEliminationSequenceStrategy &elimSeq=OrderedEliminationSequenceStrategy(), const JunctionTreeStrategy &JTStrategy=DefaultJunctionTreeStrategy(), bool minimality=false)
constructor with a given graph
OrderedTriangulation(const OrderedEliminationSequenceStrategy &elimSeq=OrderedEliminationSequenceStrategy(), const JunctionTreeStrategy &JTStrategy=DefaultJunctionTreeStrategy(), bool minimality=false)
default constructor
OrderedTriangulation(OrderedTriangulation &&from)
move constructor
virtual OrderedTriangulation * copyFactory() const final
virtual copy constructor
virtual void initTriangulation_(UndiGraph &graph) final
the function called to initialize the triangulation process
virtual void setOrder(const std::vector< NodeId > *order) final
sets the sequence of elimination (only the reference is stored)
OrderedTriangulation & operator=(const OrderedTriangulation &)
forbid copy operator
virtual OrderedTriangulation * newFactory() const final
returns a fresh triangulation over the same graph and of the same type as the current object (using t...
class for graph triangulations for which we enforce a given complete ordering on the nodes eliminatio...
const std::vector< NodeId > * _order_
the elimination sequence to apply
virtual void setGraph(const UndiGraph *graph, const NodeProperty< Size > *domsizes) final
initialize the triangulation data structures for a new graph