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

Arak::CN94Proposal::BoundaryTriangleBirth Class Reference

#include <cn94.hpp>

Inheritance diagram for Arak::CN94Proposal::BoundaryTriangleBirth:

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

Collaboration graph
[legend]
List of all members.

Detailed Description

Adds a triangle with one edge along the boundary of the colored region; all points inside the triangle are recolored.

Definition at line 511 of file cn94.hpp.

Public Member Functions

 BoundaryTriangleBirth ()
void reset (Coloring::BdEdgeHandle e, const Point &u, const Point &v, const Point &w)
 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::BdEdgeHandle edge
 The window edge along which the triangle is created.

Point u
 The boundary vertices of the boundary triangle; these vertices lie along edge.

Point v
 The boundary vertices of the boundary triangle; these vertices lie along edge.

Point w
 The interior vertex of the boundary triangle.

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


Friends

class CN94Proposal
class ModifiedCN94Proposal


Constructor & Destructor Documentation

Arak::CN94Proposal::BoundaryTriangleBirth::BoundaryTriangleBirth  )  [inline]
 

Definition at line 547 of file cn94.hpp.


Member Function Documentation

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

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

void CN94Proposal::BoundaryTriangleBirth::reset Coloring::BdEdgeHandle  e,
const Point u,
const Point v,
const Point w
 

Resets this move with the new values.

Parameters:
e the window edge
u the first boundary vertex of the new triangle
v the second boundary vertex of the new triangle
w the interior vertex of the new triangle

Definition at line 206 of file cn94.cpp.

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

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

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

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


Friends And Related Function Documentation

friend class CN94Proposal [friend]
 

Definition at line 513 of file cn94.hpp.

friend class ModifiedCN94Proposal [friend]
 

Definition at line 514 of file cn94.hpp.


Member Data Documentation

Coloring::BdEdgeHandle Arak::CN94Proposal::BoundaryTriangleBirth::edge [protected]
 

The window edge along which the triangle is created.

This is set to NULL when the move is executed, and it is restored if the move is undone.

Definition at line 524 of file cn94.hpp.

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

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

The boundary vertices of the boundary triangle; these vertices lie along edge.

Definition at line 530 of file cn94.hpp.

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

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

The boundary vertices of the boundary triangle; these vertices lie along edge.

Definition at line 530 of file cn94.hpp.

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

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

A handle on 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 542 of file cn94.hpp.

Point Arak::CN94Proposal::BoundaryTriangleBirth::w [protected]
 

The interior vertex of the boundary triangle.

Definition at line 535 of file cn94.hpp.


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