51#ifndef GUM_MULTI_DIM_FUNCTION_GRAPH_PROJECTOR_H
52#define GUM_MULTI_DIM_FUNCTION_GRAPH_PROJECTOR_H
70 template <
typename GUM_SCALAR,
71 template <
typename >
class FUNCTOR,
86 const GUM_SCALAR neutral);
124#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Implementation of a Terminal Node Policy that maps nodeid directly to value.
Class used to perform Function Graph projections.
MultiDimFunctionGraphProjector(const MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > *src, const gum::VariableSet &delVars, const GUM_SCALAR neutral)
Default constructor.
const gum::VariableSet & _delVars_
The list of variables on which the projection is performed.
const FUNCTOR< GUM_SCALAR > _function_
The function to be performed on the leaves.
MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * _rd_
The resulting function graph.
MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * project()
Computes and builds the Function Graph that is the result of the Projection.
~MultiDimFunctionGraphProjector()
Default destructor.
const MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * _src_
One of the two function graphs used for the Projection.
const GUM_SCALAR _neutral_
The function to be performed on the leaves.
Class used to compute the projection of a function graph.
Headers of MultiDimFunctionGraph.
gum is the global namespace for all aGrUM entities
Set< const DiscreteVariable * > VariableSet