20 #if !defined(__MITSUBA_BIDIR_MUT_BIDIR_H_)
21 #define __MITSUBA_BIDIR_MUT_BIDIR_H_
88 std::vector<
int> m_temp;
Stores supplemental information about an executed mutation strategy.
Definition: mutator.h:115
Bidirectional mutation strategy.
Definition: mut_bidir.h:38
virtual void accept(const MutationRecord &muRec)=0
Record an accepted mutation.
Generic interface to path-space mutators.
Definition: mutator.h:33
Principal scene data structure.
Definition: scene.h:49
Base class of all sample generators.
Definition: sampler.h:66
Bidirectional path data structure.
Definition: path.h:46
virtual Float Q(const Path &source, const Path &proposal, const MutationRecord &muRec) const =0
For a pair of paths, this function computes the inverse transition probability (matching the Q term i...
virtual bool sampleMutation(Path &source, Path &proposal, MutationRecord &muRec, const MutationRecord &sourceMuRec)=0
Given a path, this function produces a new proposal according to the internally implemented mutation ...
virtual EMutationType getType() const =0
What kind of mutations does this mutator perform?
EMutationType
Specifies the type of mutation implemented by the mutator.
Definition: mutator.h:36
#define MTS_DECLARE_CLASS()
This macro must be used in the initial definition in classes that derive from Object.
Definition: class.h:158
Reference counting helper.
Definition: ref.h:40
virtual Float suitability(const Path &path) const =0
Determine the general "suitability" of this mutator for a given kind of path.