49#ifndef GUM_JUNCTION_TREE_STRATEGY_H
50#define GUM_JUNCTION_TREE_STRATEGY_H
Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting fr...
virtual JunctionTreeStrategy * newFactory() const =0
create a clone not assigned to any triangulation algorithm
JunctionTreeStrategy()
default constructor
virtual ~JunctionTreeStrategy()
destructor
StaticTriangulation * triangulation_
the triangulation to which the junction tree is associated
virtual const CliqueGraph & junctionTree()=0
returns the junction tree computed
virtual bool requiresFillIns() const =0
indicates whether the junction tree strategy needs fill-ins to work properly
virtual NodeId createdClique(const NodeId id)=0
returns the Id of the clique of the junction tree created by the elimination of a given node during t...
virtual void moveTriangulation(StaticTriangulation *triangulation)
assigns a new triangulation to the junction tree strategy during a move construction
virtual const NodeProperty< NodeId > & createdCliques()=0
returns, for each node, the clique of the junction tree which was created by its deletion
virtual void clear()=0
resets the current junction tree strategy data structures
virtual void setTriangulation(StaticTriangulation *triangulation)=0
assigns the triangulation to the junction tree strategy
virtual JunctionTreeStrategy * copyFactory(StaticTriangulation *triangulation=nullptr) const =0
virtual copy constructor
base class for all non-incremental triangulation methods
Basic class for all graphs of cliques (join trees, etc).
Size NodeId
Type for node ids.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
gum is the global namespace for all aGrUM entities