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

Arak::CN94Proposal::BoundaryTriangleDeath Class Reference

#include <cn94.hpp>

Inheritance diagram for Arak::CN94Proposal::BoundaryTriangleDeath:

Inheritance graph
[legend]
Collaboration diagram for Arak::CN94Proposal::BoundaryTriangleDeath:

Collaboration graph
[legend]
List of all members.

Detailed Description

Removes a triangle against the boundary of the colored region; all points inside the triangle are recolored.

Definition at line 577 of file cn94.hpp.

Public Member Functions

 BoundaryTriangleDeath ()
void reset (Coloring::VertexHandle vertex)
 Resets this move.

virtual void execute (Coloring &c)
 Updates the supplied coloring according to this move.

virtual void undo (Coloring &c)
 Updates the supplied Coloring so that the effects of performing this move are undone.


Protected Attributes

Coloring::VertexHandle vh
 A handle on the root vertex of the triangle removed by the move.

Point up
 The boundary vertices of the boundary triangle.

Point vp
 The boundary vertices of the boundary triangle.

Point wp
 The interior vertex of the boundary triangle.

Coloring::VertexHandle prevBoundaryVertex
 A handle on the boundary vertex that precedes the earlier boundary vertex of the boundary triangle.

Coloring::VertexHandle nextBoundaryVertex
 A handle on the boundary vertex that follows the later boundary vertex of the boundary triangle.


Friends

class CN94Proposal
class ModifiedCN94Proposal


Constructor & Destructor Documentation

Arak::CN94Proposal::BoundaryTriangleDeath::BoundaryTriangleDeath  )  [inline]
 

Definition at line 621 of file cn94.hpp.


Member Function Documentation

void CN94Proposal::BoundaryTriangleDeath::execute Coloring c  )  [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

Implements Arak::ColoringMove.

Definition at line 255 of file cn94.cpp.

References Arak::Coloring::deleteBdTriangle(), and PointerHandle< T >::valid().

void CN94Proposal::BoundaryTriangleDeath::reset Coloring::VertexHandle  vertex  ) 
 

Resets this move.

Parameters:
vertex the root vertex of the boundary triangle

Definition at line 232 of file cn94.cpp.

References nextBoundaryVertex, prevBoundaryVertex, up, Arak::Coloring::VertexHandle, vp, and wp.

Referenced by Arak::CN94Proposal::proposeBdTriangleDeath().

void CN94Proposal::BoundaryTriangleDeath::undo Coloring c  )  [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

Implements Arak::ColoringMove.

Definition at line 260 of file cn94.cpp.

References Arak::Coloring::BdEdgeHandle, Arak::Coloring::newBoundaryTriangle(), prevBoundaryVertex, up, PointerHandle< T >::valid(), vp, and wp.


Friends And Related Function Documentation

friend class CN94Proposal [friend]
 

Definition at line 579 of file cn94.hpp.

friend class ModifiedCN94Proposal [friend]
 

Definition at line 580 of file cn94.hpp.


Member Data Documentation

Coloring::VertexHandle Arak::CN94Proposal::BoundaryTriangleDeath::nextBoundaryVertex [protected]
 

A handle on the boundary vertex that follows the later boundary vertex of the boundary triangle.

This is used to restore the boundary triangle in case the move is undone.

Definition at line 617 of file cn94.hpp.

Referenced by reset(), and Arak::CN94Proposal::rll().

Coloring::VertexHandle Arak::CN94Proposal::BoundaryTriangleDeath::prevBoundaryVertex [protected]
 

A handle on the boundary vertex that precedes the earlier boundary vertex of the boundary triangle.

This is used to restore the boundary triangle in case the move is undone.

Definition at line 610 of file cn94.hpp.

Referenced by reset(), Arak::CN94Proposal::rll(), and undo().

Point Arak::CN94Proposal::BoundaryTriangleDeath::up [protected]
 

The boundary vertices of the boundary triangle.

This information is used to restore the triangle if the move is undone.

Definition at line 596 of file cn94.hpp.

Referenced by reset(), Arak::CN94Proposal::rll(), and undo().

Coloring::VertexHandle Arak::CN94Proposal::BoundaryTriangleDeath::vh [protected]
 

A handle on the root vertex of the triangle removed by the move.

This is invalidated after the move has been executed, but is reset if the move is undone.

Definition at line 589 of file cn94.hpp.

Point Arak::CN94Proposal::BoundaryTriangleDeath::vp [protected]
 

The boundary vertices of the boundary triangle.

This information is used to restore the triangle if the move is undone.

Definition at line 596 of file cn94.hpp.

Referenced by reset(), Arak::CN94Proposal::rll(), and undo().

Point Arak::CN94Proposal::BoundaryTriangleDeath::wp [protected]
 

The interior vertex of the boundary triangle.

This information is used to restore the triangle if the move is undone.

Definition at line 603 of file cn94.hpp.

Referenced by reset(), and undo().


The documentation for this class was generated from the following files:
Generated on Wed May 25 14:40:46 2005 for Arak by doxygen 1.3.6