Causes future calls to factor.
Causes future calls to factor.valuesIterator to limit the returned values to those value combinations seen in the current values of the variables in factors touching "vars". Note that this will limit the values of all DiscreteVar neighbors of the resulting factors, not just the "vars" argument.
Implement this method to create and return all Factors of this Template touching the given Var.
Implement this method to create and return all Factors of this Template touching the given Var. Users of the Template should not call this method directly, however, because this method's implementation is permitted to return duplicate Factors. Instead call factors(Var), which will deduplicate the Factors (using the helper function addFactors).
Assign this Template a name which will be used later when its factors are printed.
Assign this Template a name which will be used later when its factors are printed.
Not intended to be called by users.
Append to "result" all Factors in this Model that are affected by the given DiffList.
Append to "result" all Factors in this Model that are affected by the given DiffList. This method must not append duplicates.
Append to "result" all Factors in this Model that are affected by the given Diff.
Append to "result" all Factors in this Model that are affected by the given Diff. This method must not append duplicates.
Append to "result" all Factors in this Model that touch any of the given "variables".
Append to "result" all Factors in this Model that touch any of the given "variables". This method must not append duplicates.
Return all Factors in this Model that touch any of the given "variables".
Users should call this method to create and return all Factors of this Template touching the given Var.
Return all Factors in this Model that are affected by the given DiffList.
Return all Factors in this Model that are affected by the given DiffList. The result will not have any duplicate Factors. By default returns just the factors that neighbor the DiffList.variables, but this method may be overridden for special handling of the DiffList
Return all Factors in this Model that are affected by the given Diff.
Return all Factors in this Model that are affected by the given Diff. The result will not have any duplicate Factors. By default returns just the factors that neighbor Diff.variable, but this method may be overridden for special handling of the Diff
A Factor Template has just one Factor Family: itself.
The "factors" methods need a new collection to return; this method is used by them to construct this collection.
The "factors" methods need a new collection to return; this method is used by them to construct this collection.
Assign this Template a name which will be used later when its factors are printed.
Assign this Template a name which will be used later when its factors are printed.
A template for creating Factors. The creation of Factors is keyed by neighboring variables. Superclass of Template1, Template2, Template3, Template4. They are templates that are also Model's with Variable context. Its subclasses use "unroll*" methods, which given on of the Factor's variables, finding the other neighboring variables. The "unroll(Var)" method here can be used (or overridden in subclasses) to return Factors keyed by non-neighbor variables.