Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Arak::ColoringMove Class Reference

#include <coloring_mcmc.hpp>

Inheritance diagram for Arak::ColoringMove:

Inheritance graph
[legend]
List of all members.

Detailed Description

A change to a coloring that is reversible.

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.


Constructor & Destructor Documentation

virtual Arak::ColoringMove::~ColoringMove  )  [inline, virtual]
 

Destructor.

Definition at line 43 of file coloring_mcmc.hpp.


Member Function Documentation

virtual void Arak::ColoringMove::execute Coloring c  )  [pure virtual]
 

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.

Parameters:
c a coloring to be updated

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.

virtual void Arak::ColoringMove::undo Coloring c  )  [pure virtual]
 

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.

Parameters:
c a coloring to be updated

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.


The documentation for this class was generated from the following file:
Generated on Wed May 25 14:41:05 2005 for Arak by doxygen 1.3.6