StraightSkeletonBuilder_2_Visitor

Definition

The concept StraightSkeletonBuilder_2_Visitor describes the requirements of the visitor class required by the algorithm class Straight_skeleton_builder_2<Gt,Ss,Visitor> in its third template parameter.

Types

StraightSkeletonBuilder_2_Visitor::Halfedge_const_handle
A constant handle to a straight skeleton halfedge.

StraightSkeletonBuilder_2_Visitor::Vertex_const_handle
A constant handle to a straight skeleton vertex.

Creation

Operations

void v.on_contour_edge_entered ( Halfedge_ _handle const)
Called for each contour halfedge added to the skeleton).
void v.on_initialization_started ( std::size_t number_of_vertices)
Called before the initialization stage (when initial events are discovered) is started.
void v.on_contour_vertex_processed ( Vertex_ _handle const v, bool is_reflex, bool is_degenerate)
Called after the events for contour vertex v have been discovered. is_reflex is true if this vertex has an internal angle >PI, or is_degenerate is true if the internal angle is =PI.
void v.on_edge_event_created ( Vertex_ _handle const node0, Vertex_ _handle const node1)
Called after an edge event for nodes node0 and node1 has been discovered and put on the queue for later processing.
void v.on_split_event_created ( Vertex_ _handle const node)
Called after a slipt event for node node has been discovered and put on the queue for later processing.
void v.on_pseudo_split_event_created ( Vertex_ _handle const node0, Vertex_ _handle const node1)
Called after a pseudo slipt event for nodes node0 and node1 has been discovered and put on the queue for later processing.
void v.on_initialization_finished () Called after all initial events have been discovered.
void v.on_propagation_started () Called before the propagation stage (when events are poped off the queue and processed) is started.
void v.on_anihiliation_event_processed ( Vertex_ _handle const node0, Vertex_ _handle const node1)
Called after an anhiliation event for nodes node0 and node1 has been processed. A new skeleton edge between these nodes has been added.
void
v.on_edge_event_processed ( Vertex_ _handle const seed0,
Vertex_ _handle const seed1,
Vertex_ _handle const newnode)
Called after an edge for nodes seed0 and seed1 has been processed. Skeleton vertex newnode and edges from node0 to newnode and node1 to newnode has been added.
void
v.on_split_event_processed ( Vertex_ _handle const seed,
Vertex_ _handle const newnode0,
Vertex_ _handle const newnode1)
Called after a split event for node seed has been processed. Skeleton vertices newnode0 and newnode1 have been added. An skeleton edge from seed to newnode0 has been added. In the final skeleton, newnode1 is removed and only newnode0 remains.
void
v.on_pseudo_split_event_processed ( Vertex_ _handle const seed0,
Vertex_ _handle const seed1,
Vertex_ _handle const newnode0,
Vertex_ _handle const newnode1)
Called after a pseudo split event for nodes seed0 and seed1 has been processed. Skeleton vertices newnode0 and newnode1 have been added. Skeleton edges from seed0 to newnode0 and seed1 to newnode1 has been added.
void v.on_vertex_processed ( Vertex_ _handle const v)
Called after vertex v has been marked as already processed.
void v.on_propagation_finished () Called after all events have been processed.
void v.on_cleanup_started () Called when the skeleton clean up (when multiple nodes are merged) is started.
void v.on_cleanup_finished () Called when clean up finished.
void v.on_algorithm_finished ( bool finished_ok)
Called when the algorithm terminated. finished_ok is false if it terminated before completion or the resulting skeleton was found to be invalid.
void v.on_error ( char const* msg) Called whenever an error was detected. msg is whatever error message accompanies the error. This pointer can be null.

Has Models

CGAL::Dummy_straight_skeleton_builder_2_visitor<Ss>.

See Also

CGAL::Straight_skeleton_builder_2<Gt,Ss>