51#ifndef GUM_MULTI_DIM_FUNCTION_GRAPH_PROJECTOR_H
52#define GUM_MULTI_DIM_FUNCTION_GRAPH_PROJECTOR_H
70 template <
typename GUM_ELEMENT,
71 template <
typename >
class FUNCTOR,
86 const GUM_ELEMENT 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.
const MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * _src_
One of the two function graphs used for the Projection.
const GUM_ELEMENT _neutral_
The function to be performed on the leaves.
MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * _rd_
The resulting function graph.
const FUNCTOR< GUM_ELEMENT > _function_
The function to be performed on the leaves.
~MultiDimFunctionGraphProjector()
Default destructor.
const gum::VariableSet & _delVars_
The list of variables on which the projection is performed.
MultiDimFunctionGraphProjector(const MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > *src, const gum::VariableSet &delVars, const GUM_ELEMENT neutral)
Default constructor.
MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * project()
Computes and builds the Function Graph that is the result of the Projection.
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