#include <coloring_mcmc.hpp>
Inheritance diagram for Arak::ColoringMove:
Definition at line 15 of file coloring_mcmc.hpp.
Public Member Functions | |
virtual void | execute (Coloring &c)=0 |
Updates the supplied coloring according to this move. | |
virtual void | undo (Coloring &c)=0 |
Updates the supplied Coloring so that the effects of performing this move are undone. | |
virtual | ~ColoringMove () |
Destructor. |
|
Destructor.
Definition at line 43 of file coloring_mcmc.hpp. |
|
Updates the supplied coloring according to this move. It is an error to call this method if the move is not valid for the supplied coloring.
Implemented in Arak::CN94Proposal::InteriorTriangleBirth, Arak::CN94Proposal::InteriorTriangleDeath, Arak::CN94Proposal::Recolor, Arak::CN94Proposal::MoveInteriorVertex, Arak::CN94Proposal::MoveVertexAlongBdEdge, Arak::CN94Proposal::MoveBdVertexPastCorner, Arak::CN94Proposal::InteriorVertexBirth, Arak::CN94Proposal::InteriorVertexDeath, Arak::CN94Proposal::BoundaryTriangleBirth, Arak::CN94Proposal::BoundaryTriangleDeath, Arak::CN94Proposal::CornerCutBirth, Arak::CN94Proposal::CornerCutDeath, and Arak::NullColoringMove. |
|
Updates the supplied Coloring so that the effects of performing this move are undone. The semantics of this method ensure that applying execute(Coloring&) and then undo(Coloring&) to the same coloring leaves the coloring invariant. It is an error to call this method if this undo is not valid for the supplied coloring.
Implemented in Arak::CN94Proposal::InteriorTriangleBirth, Arak::CN94Proposal::InteriorTriangleDeath, Arak::CN94Proposal::Recolor, Arak::CN94Proposal::MoveInteriorVertex, Arak::CN94Proposal::MoveVertexAlongBdEdge, Arak::CN94Proposal::MoveBdVertexPastCorner, Arak::CN94Proposal::InteriorVertexBirth, Arak::CN94Proposal::InteriorVertexDeath, Arak::CN94Proposal::BoundaryTriangleBirth, Arak::CN94Proposal::BoundaryTriangleDeath, Arak::CN94Proposal::CornerCutBirth, Arak::CN94Proposal::CornerCutDeath, and Arak::NullColoringMove. |