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

Arak::CN94Proposal::InteriorVertexBirth Class Reference

#include <cn94.hpp>

Inheritance diagram for Arak::CN94Proposal::InteriorVertexBirth:

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

Collaboration graph
[legend]
List of all members.

Detailed Description

Splits an interior edge into two by creating a new interior vertex between its endpoints.

Definition at line 404 of file cn94.hpp.

Public Member Functions

void reset (Coloring::IntEdgeHandle edge, const Point &point)
 Resets this move with the supplied parameters.

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 prevVertex
 The first vertex incident to the edge that is segmented in two.

Coloring::VertexHandle nextVertex
 The second vertex incident to the edge that is segmented in two.

Point point
 The location of a new vertex that segments the edge.


Friends

class CN94Proposal


Member Function Documentation

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

References Arak::Coloring::IntEdgeHandle, point, prevVertex, and Arak::Coloring::splitEdge().

void CN94Proposal::InteriorVertexBirth::reset Coloring::IntEdgeHandle  edge,
const Point point
 

Resets this move with the supplied parameters.

Parameters:
edge an interior edge that is segmented in two
point the location of a new vertex that segments the edge

Definition at line 133 of file cn94.cpp.

References Arak::Coloring::IntEdgeHandle, nextVertex, point, Arak::Geometry::Point, and prevVertex.

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

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

References Arak::Coloring::deleteVertex(), prevVertex, and Arak::Coloring::VertexHandle.


Friends And Related Function Documentation

friend class CN94Proposal [friend]
 

Definition at line 406 of file cn94.hpp.


Member Data Documentation

Coloring::VertexHandle Arak::CN94Proposal::InteriorVertexBirth::nextVertex [protected]
 

The second vertex incident to the edge that is segmented in two.

Definition at line 419 of file cn94.hpp.

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

Point Arak::CN94Proposal::InteriorVertexBirth::point [protected]
 

The location of a new vertex that segments the edge.

Definition at line 424 of file cn94.hpp.

Referenced by execute().

Coloring::VertexHandle Arak::CN94Proposal::InteriorVertexBirth::prevVertex [protected]
 

The first vertex incident to the edge that is segmented in two.

Definition at line 413 of file cn94.hpp.

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


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