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

Arak::CN94Proposal::CornerCutBirth Class Reference

#include <cn94.hpp>

Inheritance diagram for Arak::CN94Proposal::CornerCutBirth:

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

Collaboration graph
[legend]
List of all members.

Detailed Description

Recolors a triangle in a corner of the region.

Definition at line 644 of file cn94.hpp.

Public Member Functions

 CornerCutBirth ()
void reset (Coloring::VertexHandle corner, const Point &u, const Point &v)
 Resets this move with the new values.

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 corner
 The corner that will form a vertex of the recolored triangle.

Point u
 The point on the previous boundary edge incident to corner that will be another vertex of the triangle.

Point v
 The point on the next boundary edge incident to corner that will be another vertex of the triangle.

Coloring::VertexHandle vh
 A handle to the root vertex of the triangle created by the move.


Friends

class CN94Proposal


Constructor & Destructor Documentation

Arak::CN94Proposal::CornerCutBirth::CornerCutBirth  )  [inline]
 

Definition at line 676 of file cn94.hpp.


Member Function Documentation

void CN94Proposal::CornerCutBirth::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 283 of file cn94.cpp.

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

void CN94Proposal::CornerCutBirth::reset Coloring::VertexHandle  corner,
const Point u,
const Point v
 

Resets this move with the new values.

Parameters:
corner the corner that will become one vertex of the triangle
u the point on the previous boundary edge incident to the corner that will become another vertex of the triangle
v the point on the next boundary edge incident to the corner that will become another vertex of the triangle

Definition at line 269 of file cn94.cpp.

References Arak::Geometry::Point, and Arak::Coloring::VertexHandle.

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

void CN94Proposal::CornerCutBirth::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 289 of file cn94.cpp.

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


Friends And Related Function Documentation

friend class CN94Proposal [friend]
 

Definition at line 646 of file cn94.hpp.


Member Data Documentation

Coloring::VertexHandle Arak::CN94Proposal::CornerCutBirth::corner [protected]
 

The corner that will form a vertex of the recolored triangle.

Definition at line 653 of file cn94.hpp.

Referenced by execute(), Arak::CN94Proposal::ll(), and Arak::CN94Proposal::rll().

Point Arak::CN94Proposal::CornerCutBirth::u [protected]
 

The point on the previous boundary edge incident to corner that will be another vertex of the triangle.

Definition at line 659 of file cn94.hpp.

Point Arak::CN94Proposal::CornerCutBirth::v [protected]
 

The point on the next boundary edge incident to corner that will be another vertex of the triangle.

Definition at line 665 of file cn94.hpp.

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

A handle to the root vertex of the triangle created by the move.

This is invalid unless the move has been executed; it is invalidated if the move is undone.

Definition at line 672 of file cn94.hpp.


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