BWAPI
|
#include <Arr_construction_event.h>
Stores the data associated with an event. In addition to the information stored in Sweep_line_event, when constructing an arrangement, additional information is kept, in order to speed insertion of curves into the planar map.
The additional infomation contains the following:
Inherits from Sweep_line_event.
typedef Arrangement_ Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Arrangement_2 |
typedef Sweep_line_event<Traits_2, Subcurve> Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Base |
typedef Arrangement_2::Halfedge_handle Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Halfedge_handle |
typedef Traits_2::Point_2 Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Point_2 |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
typedef Arr_construction_event<Traits_2, Subcurve, Halfedge_handle> Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Self |
typedef Subcurve_ Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Subcurve |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
typedef Base::Subcurve_container Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Subcurve_container |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
typedef Base::Subcurve_iterator Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Subcurve_iterator |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
typedef Base::Subcurve_reverse_iterator Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Subcurve_reverse_iterator |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
typedef Traits_ Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Traits_2 |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
typedef Arrangement_2::Vertex_handle Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Vertex_handle |
typedef Traits_2::X_monotone_curve_2 Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::X_monotone_curve_2 |
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::Arr_construction_event | ( | ) | [inline] |
Default constructor.
Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::~Arr_construction_event | ( | ) | [inline] |
Destructor
std::pair<bool, Subcurve_iterator> Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::add_curve_pair_to_right | ( | Subcurve * | sc1, |
Subcurve * | sc2 | ||
) | [inline] |
Add a curve pair to the right of the event.
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
std::pair<bool, Subcurve_iterator> Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::add_curve_to_right | ( | Subcurve * | curve, |
const Traits_2 * | tr | ||
) | [inline] |
Add a curve to the right of the event.
Reimplemented from Sweep_line_event< Traits_, Subcurve_ >.
int Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::compute_halfedge_jump_count | ( | Subcurve * | curve | ) | [inline] |
using the additional data that we store at the event, we compute how much we have to jump (he = he->next()->twin()) from the halfedge that is stored in the event, to the halefge that is previous to 'curve' that is about to be inserted into the arrangement.
unsigned int Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::dec_right_curves_counter | ( | ) | [inline] |
Decrement the count of curves to the right that we have't done yet with (haven't been inserted to the arrangement).
Halfedge_handle Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::halfedge_handle | ( | ) | const [inline] |
Get the halfedge handle.
void Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::init_subcurve_in_arrangement_flags | ( | unsigned int | n | ) | [inline] |
Resize the bit-vector indicating whether the incident curves are already in the arrangement, and set all flags to false.
bool Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::is_curve_largest | ( | Subcurve * | curve | ) | [inline] |
return true iff 'curve' is the toppest curve among the halfedges to the right fo the event that were already were inserted to the arrangement.
bool Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::is_subcurve_in_arrangement | ( | unsigned int | i | ) | const [inline] |
Check if the i'th subcurve is in the arrangement.
unsigned int Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::right_curves_counter | ( | ) | const [inline] |
Get the number of subcurves to the right of the event that we have't done yet with (haven't been inserted to the arrangement).
void Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::set_halfedge_handle | ( | Halfedge_handle | h | ) | [inline] |
Set the halfedge handle.
void Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::set_subcurve_in_arrangement | ( | unsigned int | i, |
bool | flag | ||
) | [inline] |
Set the flag indicating whether the i'th subcurve is in the arrangement.
void Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::set_vertex_handle | ( | Vertex_handle | v | ) | [inline] |
Set the vertex handle.
Vertex_handle Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::vertex_handle | ( | ) | const [inline] |
Get the vertex handle.
Halfedge_handle Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::m_halfedge [protected] |
std::vector<bool> Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::m_isCurveInArr [protected] |
unsigned int Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::m_right_curves_counter [protected] |
Vertex_handle Arr_construction_event< Traits_, Subcurve_, Arrangement_ >::m_vertex [protected] |