29 #ifndef GUM_JUNCTION_TREE_STRATEGY_H 30 #define GUM_JUNCTION_TREE_STRATEGY_H 32 #include <agrum/agrum.h> 34 #include <agrum/tools/graphs/cliqueGraph.h> 35 #include <agrum/tools/graphs/graphElements.h> 110 virtual void clear() = 0;
virtual const NodeProperty< NodeId > & createdCliques()=0
returns, for each node, the clique of the junction tree which was created by its deletion ...
INLINE void emplace(Args &&... args)
StaticTriangulation * triangulation_
the triangulation to which the junction tree is associated
virtual bool requiresFillIns() const =0
indicates whether the junction tree strategy needs fill-ins to work properly
virtual void clear()=0
resets the current junction tree strategy data structures
virtual JunctionTreeStrategy * copyFactory(StaticTriangulation *triangulation=nullptr) const =0
virtual copy constructor
virtual void setTriangulation(StaticTriangulation *triangulation)=0
assigns the triangulation to the junction tree strategy
Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting fr...
JunctionTreeStrategy(const JunctionTreeStrategy &from)
copy constructor
JunctionTreeStrategy()
default constructor
base class for all non-incremental triangulation methods
virtual ~JunctionTreeStrategy()
destructor
JunctionTreeStrategy(JunctionTreeStrategy &&from)
move constructor
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 const CliqueGraph & junctionTree()=0
returns the junction tree computed
virtual JunctionTreeStrategy * newFactory() const =0
create a clone not assigned to any triangulation algorithm
virtual void moveTriangulation(StaticTriangulation *triangulation)
assigns a new triangulation to the junction tree strategy during a move construction ...