CGAL 6.1 - 2D Straight Skeleton and Polygon Offsetting

Loading...
Searching...
No Matches
List of all members
StraightSkeletonBuilder_2_Visitor Concept Reference
Reference Manual » Concepts

## Definition

The concept `StraightSkeletonBuilder_2_Visitor` describes the requirements of the visitor class required by the algorithm class `CGAL::Straight_skeleton_builder_2` in its third template parameter.

Has models
  `CGAL::Dummy_straight_skeleton_builder_2_visitor`

See also
  `CGAL::Straight_skeleton_builder_2`

## Types
typedef unspecified_type | Halfedge_const_handle
| A constant handle to a straight skeleton halfedge.
typedef unspecified_type | Vertex_const_handle
| A constant handle to a straight skeleton vertex.

## Operations
void | on_contour_edge_entered (const Halfedge_const_handle &) const
| Called for each contour halfedge added to the skeleton).
void | on_initialization_started (std::size_t number_of_vertices) const
| Called before the initialization stage (when initial events are discovered) is started.
void | on_initial_events_collected (const Vertex_const_handle &v, bool is_reflex, bool is_degenerate) const
| Called after the initial events involving the contour vertex `v` have been discovered.
void | on_edge_event_created (const Vertex_const_handle &node0, const Vertex_const_handle &node1) const
| Called after an edge event for nodes `node0` and `node1` has been discovered and put on the queue for later processing.
void | on_split_event_created (const Vertex_const_handle &node) const
| Called after a slipt event for node `node` has been discovered and put on the queue for later processing.
void | on_pseudo_split_event_created (const Vertex_const_handle &node0, const Vertex_const_handle &node1) const
| Called after a pseudo slipt event for nodes `node0` and `node1` has been discovered and put on the queue for later processing.
void | on_initialization_finished () const
| Called after all initial events have been discovered.
void | on_propagation_started () const
| Called before the propagation stage (when events are popped off the queue and processed) is started.
void | on_anihiliation_event_processed (const Vertex_const_handle &node0, const Vertex_const_handle &node1) const
| Called after an annihilation event for nodes `node0` and `node1` has been processed.
void | on_edge_event_processed (const Vertex_const_handle &seed0, const Vertex_const_handle &seed1, const Vertex_const_handle &newnode) const
| Called after an edge for nodes `seed0` and `seed1` has been processed.
void | on_split_event_processed (const Vertex_const_handle &seed, const Vertex_const_handle &newnode0, const Vertex_const_handle &newnode1) const
| Called after a split event for node `seed` has been processed.
void | on_pseudo_split_event_processed (const Vertex_const_handle &seed0, const Vertex_const_handle &seed1, const Vertex_const_handle &newnode0, const Vertex_const_handle &newnode1) const
| Called after a pseudo split event for nodes `seed0` and `seed1` has been processed.
void | on_vertex_processed (const Vertex_const_handle &v) const
| Called after vertex `v` has been marked as already processed.
void | on_propagation_finished () const
| Called after all events have been processed.
void | on_cleanup_started () const
| Called when the skeleton clean up (when multiple nodes are merged) is started.
void | on_cleanup_finished () const
| Called when clean up finished.
void | on_algorithm_finished (bool finished_ok) const
| Called when the algorithm terminated.
void | on_error (char const *msg) const
| Called whenever an error was detected.

## Member Function Documentation

## ◆ on_algorithm_finished()

void StraightSkeletonBuilder_2_Visitor::on_algorithm_finished | ( | bool | finished_ok | ) | const

Called when the algorithm terminated.

`finished_ok` is false if it terminated before completion or the resulting skeleton was found to be invalid.

## ◆ on_anihiliation_event_processed()

void StraightSkeletonBuilder_2_Visitor::on_anihiliation_event_processed | ( | const Vertex_const_handle & | node0,
|  | const Vertex_const_handle & | node1
| ) |  | const

Called after an annihilation event for nodes `node0` and `node1` has been processed.

A new skeleton edge between these nodes has been added.

## ◆ on_edge_event_processed()

void StraightSkeletonBuilder_2_Visitor::on_edge_event_processed | ( | const Vertex_const_handle & | seed0,
|  | const Vertex_const_handle & | seed1,
|  | const Vertex_const_handle & | newnode
| ) |  | const

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.

## ◆ on_error()

void StraightSkeletonBuilder_2_Visitor::on_error | ( | char const * | msg | ) | const

Called whenever an error was detected.

`msg` is whatever error message accompanies the error. This pointer can be `null`.

## ◆ on_pseudo_split_event_processed()

void StraightSkeletonBuilder_2_Visitor::on_pseudo_split_event_processed | ( | const Vertex_const_handle & | seed0,
|  | const Vertex_const_handle & | seed1,
|  | const Vertex_const_handle & | newnode0,
|  | const Vertex_const_handle & | newnode1
| ) |  | const

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.

## ◆ on_split_event_processed()

void StraightSkeletonBuilder_2_Visitor::on_split_event_processed | ( | const Vertex_const_handle & | seed,
|  | const Vertex_const_handle & | newnode0,
|  | const Vertex_const_handle & | newnode1
| ) |  | const

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.