template<typename Arrangement>
class CGAL::Arr_vertex_index_map< Arrangement >
Arr_vertex_index_map maintains a mapping of vertex handles of an attached arrangement object to indices (of type unsigned int). This class template is a model of the concept ReadablePropertyMap. A mapping between vertex handles and indices enables convenient usage of property-map classes supplied by boost. For example, the property-map class templates boost::vector_property_map, which is based on std::vector, and boost::iterator_property_map, which can be used to implement a property map based on a native C++ array, require the user to supply a mapping such as Arr_vertex_index_map.
As new vertices might be inserted into the attached arrangement, and existing vertices might be removed, the notification mechanism is used to dynamically maintain the mapping of vertex handles to indices.
- Is Model Of:
DefaultConstructible
CopyConstructible
Assignable
ReadablePropertyMap
- See also
Arr_observer<Arrangement>
-
Arr_face_index_map<Arrangement>
- Examples
- Arrangement_on_surface_2/bgl_primal_adapter.cpp.
|
| typedef unspecified_type | Arrangement_2 |
| | the type of the associated arrangement. More...
|
| |
| typedef Arrangement_2::Point_2 | Point_2 |
| | the point type. More...
|
| |
| typedef Arrangement_2::X_monotone_curve_2 | X_monotone_curve_2 |
| | the \( x\)-monotone curve type. More...
|
| |
| typedef Arrangement_2::Vertex_handle | Vertex_handle |
| |
| typedef Arrangement_2::Halfedge_handle | Halfedge_handle |
| |
| typedef Arrangement_2::Face_handle | Face_handle |
| |
| typedef Arrangement_2::Ccb_halfedge_circulator | Ccb_halfedge_circulator |
| | represents the boundary of a connected component (CCB). More...
|
| |
| | Arr_observer () |
| | constructs an observer that is unattached to any arrangement instance. More...
|
| |
| | Arr_observer (Arrangement_2 &arr) |
| | constructs an observer and attaches it to the given arrangement arr. More...
|
| |
| void | attach (Arrangement_2 &arr) |
| | attaches the observer to the given arrangement arr. More...
|
| |
| void | detach () |
| | detaches the observer from its arrangement. More...
|
| |
| virtual void | before_assign (const Arrangement_2 &arr) |
| | issued just before the attached arrangement is assigned with the contents of another arrangement arr. More...
|
| |
| virtual void | after_assign () |
| | issued immediately after the attached arrangement has been assigned with the contents of another arrangement. More...
|
| |
| virtual void | before_clear () |
| | issued just before the attached arrangement is cleared. More...
|
| |
| virtual void | after_clear (Face_handle uf) |
| | issued immediately after the attached arrangement has been cleared, so it now consists only of a the unbounded face uf. More...
|
| |
| virtual void | before_global_change () |
| | issued just before a global function starts to modify the attached arrangement. More...
|
| |
| virtual void | after_global_change () |
| | issued immediately after a global function has stopped modifying the attached arrangement. More...
|
| |
| virtual void | before_attach (const Arrangement_2 &arr) |
| | issued just before the observer is attached to the arrangement instance arr. More...
|
| |
| virtual void | after_attach () |
| | issued immediately after the observer has been attached to an arrangement instance. More...
|
| |
| virtual void | before_detach () |
| | issued just before the observer is detached from its arrangement instance. More...
|
| |
| virtual void | after_detach () |
| | issued immediately after the observer has been detached from its arrangement instance. More...
|
| |
| virtual void | before_create_vertex (const Point_2 &p) |
| | issued just before a new vertex that corresponds to the point p is created. More...
|
| |
| virtual void | after_create_vertex (Vertex_handle v) |
| | issued immediately after a new vertex v has been created. More...
|
| |
| virtual void | before_create_boundary_vertex (const X_monotone_curve_2 &cv, Arr_curve_end ind, Arr_parameter_space ps_x, Arr_parameter_space ps_y) |
| | issued just before a new vertex at infinity is created, cv is the curve incident to the surface boundary, ind is the relevant curve-end, ps_x is the boundary condition of the vertex in \( x\) and ps_y is the boundary condition of the vertex in \( y\). More...
|
| |
| virtual void | after_create_boundary_vertex (Vertex_handle v) |
| | issued immediately after a new vertex v has been created. More...
|
| |
| virtual void | before_create_edge (const X_monotone_curve_2 &c, Vertex_handle v1, Vertex_handle v2) |
| | issued just before a new edge that corresponds to the \( x\)-monotone curve c and connects the vertices v1 and v2 is created. More...
|
| |
| virtual void | after_create_edge (Halfedge_handle e) |
| | issued immediately after a new edge e has been created. More...
|
| |
| virtual void | before_modify_vertex (Vertex_handle v, const Point_2 &p) |
| | issued just before a vertex v is modified to be associated with the point p. More...
|
| |
| virtual void | after_modify_vertex (Vertex_handle v) |
| | issued immediately after an existing vertex v has been modified. More...
|
| |
| virtual void | before_modify_edge (Halfedge_handle e, const X_monotone_curve_2 &c) |
| | issued just before an edge e is modified to be associated with the \( x\)-monotone curve c. More...
|
| |
| virtual void | after_modify_edge (Halfedge_handle e) |
| | issued immediately after an existing edge e has been modified. More...
|
| |
| virtual void | before_split_edge (Halfedge_handle e, Vertex_handle v, const X_monotone_curve_2 &c1, const X_monotone_curve_2 &c2) |
| | issued just before an edge e is split into two edges that should be associated with the \( x\)-monotone curves c1 and c2. More...
|
| |
| virtual void | after_split_edge (Halfedge_handle e1, Halfedge_handle e2) |
| | issued immediately after an existing edge has been split into the two given edges e1 and e2. More...
|
| |
| virtual void | before_split_fictitious_edge (Halfedge_handle e, Vertex_handle v) |
| | issued just before a fictitious edge e is split into two. More...
|
| |
| virtual void | after_split_fictitious_edge (Halfedge_handle e1, Halfedge_handle e2) |
| | issued immediately after an existing fictitious edge has been split into the two given fictitious edges e1 and e2. More...
|
| |
| virtual void | before_split_face (Face_handle f, Halfedge_handle e) |
| | issued just before a face f is split into two, as a result of the insertion of the edge e into the arrangement. More...
|
| |
| virtual void | after_split_face (Face_handle f1, Face_handle f2, bool is_hole) |
| | issued immediately after the existing face f1 has been split into the two faces f1 and f2. More...
|
| |
| virtual void | before_split_outer_ccb (Face_handle f, Ccb_halfedge_circulator h, Halfedge_handle e) |
| | issued just before outer ccb h inside a face f is split into two, as a result of the removal of the edge e from the arrangement. More...
|
| |
| virtual void | after_split_outer_ccb (Face_handle f, Ccb_halfedge_circulator h1, Ccb_halfedge_circulator h2) |
| | issued immediately after outer ccb the face f has been split, resulting in the two holes h1 and h2. More...
|
| |
| virtual void | before_split_inner_ccb (Face_handle f, Ccb_halfedge_circulator h, Halfedge_handle e) |
| | issued just before inner ccb h inside a face f is split into two, as a result of the removal of the edge e from the arrangement. More...
|
| |
| virtual void | after_split_inner_ccb (Face_handle f, Ccb_halfedge_circulator h1, Ccb_halfedge_circulator h2) |
| | issued immediately after inner ccb the face f has been split, resulting in the two holes h1 and h2. More...
|
| |
| virtual void | before_add_outer_ccb (Face_handle f, Halfedge_handle e) |
| | issued just before the edge e is inserted as a new outer ccb inside the face f. More...
|
| |
| virtual void | after_add_outer_ccb (Ccb_halfedge_circulator h) |
| | issued immediately after a new outer ccb h has been created. More...
|
| |
| virtual void | before_add_inner_ccb (Face_handle f, Halfedge_handle e) |
| | issued just before the edge e is inserted as a new inner ccb inside the face f. More...
|
| |
| virtual void | after_add_inner_ccb (Ccb_halfedge_circulator h) |
| | issued immediately after a new inner ccb h has been created. More...
|
| |
| virtual void | before_add_isolated_vertex (Face_handle f, Vertex_handle v) |
| | issued just before the vertex v is inserted as an isolated vertex inside the face f. More...
|
| |
| virtual void | after_add_isolated_vertex (Vertex_handle v) |
| | issued immediately after the vertex v has been set as an isolated vertex. More...
|
| |
| virtual void | before_merge_edge (Halfedge_handle e1, Halfedge_handle e2, const X_monotone_curve_2 &c) |
| | issued just before the two edges e1 and e2 are merged to form a single edge that will be associated with the \( x\)-monotone curve c. More...
|
| |
| virtual void | after_merge_edge (Halfedge_handle e) |
| | issued immediately after two edges have been merged to form the edge e. More...
|
| |
| virtual void | before_merge_fictitious_edge (Halfedge_handle e1, Halfedge_handle e2) |
| | issued just before the two fictitious edges e1 and e2 are merged to form a single fictitious edge. More...
|
| |
| virtual void | after_merge_fictitious_edge (Halfedge_handle e) |
| | issued immediately after two fictitious edges have been merged to form the fictitious edge e. More...
|
| |
| virtual void | before_merge_face (Face_handle f1, Face_handle f2, Halfedge_handle e) |
| | issued just before the two edges f1 and f2 are merged to form a single face, following the removal of the edge e from the arrangement. More...
|
| |
| virtual void | after_merge_face (Face_handle f) |
| | issued immediately after two faces have been merged to form the face f. More...
|
| |
| virtual void | before_merge_outer_ccb (Face_handle f, Ccb_halfedge_circulator h1, Ccb_halfedge_circulator h2, Halfedge_handle e) |
| | issued just before two outer ccbs h1 and h2 inside the face f are merged to form a single connected component, following the insertion of the edge e into the arrangement. More...
|
| |
| virtual void | after_merge_outer_ccb (Face_handle f, Ccb_halfedge_circulator h) |
| | issued immediately after two outer ccbs have been merged to form a single outer ccb h inside the face f. More...
|
| |
| virtual void | before_merge_inner_ccb (Face_handle f, Ccb_halfedge_circulator h1, Ccb_halfedge_circulator h2, Halfedge_handle e) |
| | issued just before two inner ccbs h1 and h2 inside the face f are merged to form a single connected component, following the insertion of the edge e into the arrangement. More...
|
| |
| virtual void | after_merge_inner_ccb (Face_handle f, Ccb_halfedge_circulator h) |
| | issued immediately after two inner ccbs have been merged to form a single inner ccb h inside the face f. More...
|
| |
| virtual void | before_move_outer_ccb (Face_handle from_f, Face_handle to_f, Ccb_halfedge_circulator h) |
| | issued just before the outer ccb h is moved from one face to another. More...
|
| |
| virtual void | after_move_outer_ccb (Ccb_halfedge_circulator h) |
| | issued immediately after the outer ccb h has been moved to a new face. More...
|
| |
| virtual void | before_move_inner_ccb (Face_handle from_f, Face_handle to_f, Ccb_halfedge_circulator h) |
| | issued just before the inner ccb h is moved from one face to another. More...
|
| |
| virtual void | after_move_inner_ccb (Ccb_halfedge_circulator h) |
| | issued immediately after the inner ccb h has been moved to a new face. More...
|
| |
| virtual void | before_move_isolated_vertex (Face_handle from_f, Face_handle to_f, Vertex_handle v) |
| | issued just before the isolated vertex v is moved from one face to another. More...
|
| |
| virtual void | after_move_isolated_vertex (Vertex_handle v) |
| | issued immediately after the isolated vertex v has been moved to a new face. More...
|
| |
| virtual void | before_remove_vertex (Vertex_handle v) |
| | issued just before the vertex v is removed from the arrangement. More...
|
| |
| virtual void | after_remove_vertex () |
| | issued immediately after a vertex has been removed (and deleted) from the arrangement. More...
|
| |
| virtual void | before_remove_edge (Halfedge_handle e) |
| | issued just before the edge e is removed from the arrangement. More...
|
| |
| virtual void | after_remove_edge () |
| | issued immediately after an edge has been removed (and deleted) from the arrangement. More...
|
| |
| virtual void | before_remove_outer_ccb (Face_handle f, Ccb_halfedge_circulator h) |
| | issued just before the outer ccb f is removed from inside the face f. More...
|
| |
| virtual void | after_remove_outer_ccb (Face_handle f) |
| | issued immediately after a outer ccb has been removed (and deleted) from inside the face f. More...
|
| |
| virtual void | before_remove_inner_ccb (Face_handle f, Ccb_halfedge_circulator h) |
| | issued just before the inner ccb f is removed from inside the face f. More...
|
| |
| virtual void | after_remove_inner_ccb (Face_handle f) |
| | issued immediately after a inner ccb has been removed (and deleted) from inside the face f. More...
|
| |