|
CGAL 6.3 - 1D Arrangements
|
A model of the concept ArrangementOnCurve_1 can be used to represent a 1D subdivision of a continuous geometric curve (a 1D "master curve" or line space) into alternating vertices and edges, collectively referred to as cells.
Types | |
| typedef unspecified_type | Size |
| the size type (convertible to size_t). | |
| typedef unspecified_type | Point_1 |
| The 1D arrangement point representation. | |
| typedef unspecified_type | Vertex_descriptor |
| Descriptor targeting a mutable vertex element. | |
| typedef unspecified_type | Edge_descriptor |
| Descriptor targeting a mutable edge element. | |
| typedef unspecified_type | Vertex_const_descriptor |
| Descriptor targeting an immutable vertex element. | |
| typedef unspecified_type | Edge_const_descriptor |
| Descriptor targeting an immutable edge element. | |
| typedef std::variant< Vertex_descriptor, Edge_descriptor > | Location_result |
| Represents a point localization result within the 1D curve structure. | |
| typedef std::variant< Vertex_const_descriptor, Edge_const_descriptor > | Const_location_result |
Creation | |
| ArrangementOnCurve_1 () | |
| Default Constructor. | |
Accessors | |
| bool | empty () const |
| obtains true if the arrangement does not contains any vertices. | |
| Size | number_of_vertices () const |
| obtains the total count of vertices resting along the line track. | |
| Size | number_of_edges () const |
| obtains the total number of bounded and unbounded edge sections. | |
| auto | vertices () const |
| obtains an iterator range tracking all constant vertex descriptors. | |
| auto | edges () const |
| obtains an iterator range tracking all constant edge descriptors. | |
| auto | vertex_point_map () const |
| obtains an lvalue property map matching vertex descriptors to their coordinate positions. | |
| auto | vertex_data_map () const |
| obtains an lvalue property map matching vertex descriptors to their extended user attributes. | |
| auto | edge_data_map () const |
| obtains an lvalue property map matching edge descriptors to their extended user attributes. | |
| Edge_descriptor | unbounded_left_edge () |
| obtains the descriptor of the leftmost unbounded edge spanning \((-\infty, v_{first})\). | |
| Edge_const_descriptor | unbounded_left_edge () const |
| obtains the constant descriptor of the leftmost unbounded edge. | |
| Edge_descriptor | unbounded_right_edge () |
| obtains the descriptor of the rightmost unbounded edge spanning \((v_{last}, +\infty)\). | |
| Edge_const_descriptor | unbounded_right_edge () const |
| obtains the constant descriptor of the rightmost unbounded edge. | |
| Vertex_const_descriptor | left_vertex (Edge_const_descriptor e) const |
| obtains the descriptor of the left vertex of an edge. | |
| Vertex_const_descriptor | right_vertex (Edge_const_descriptor e) const |
| obtains the descriptor of the vertex of an edge. | |
| Edge_const_descriptor | left_edge (Vertex_const_descriptor v) const |
| obtains the descriptor of left edge of a vertex. | |
| Edge_const_descriptor | right_edge (Vertex_const_descriptor v) const |
| obtains the descriptor of right edge of a vertex. | |
| bool | has_left_vertex (Edge_const_descriptor e) const |
| determines whether an edge has a left vertex. | |
| bool | has_right_vertex (Edge_const_descriptor e) const |
| determines whether an edge has a right vertex. | |
Modification Modifiers | |
| void | reset_shared_geometry_traits (Shared_geometry_traits new_shared_traits_traits) |
| safety resets function allowing empty arrangements to bind to a separate existing traits memory frame. | |
| Vertex_descriptor | create_vertex (const Point_1 &p) |
| creates a new vertex, enforcing the rightmost ordering invariant when BinarySearch is active. | |
| Edge_descriptor | create_edge () |
| creates an new edge. | |
| void | destroy_vertex (Vertex_descriptor v) |
| destroys a given vertex. | |
| void | destroy_edge (Edge_descriptor e) |
| destroys a given edge. | |
| Vertex_descriptor | insert_empty (const Point_1 &p) |
| Vertex_descriptor | insert_before (Vertex_descriptor v, const Point_1 &p) |
| inserts a new point p strictly to the left of an existing vertex v. | |
| Vertex_descriptor | insert_after (Vertex_descriptor v, const Point_1 &p) |
| inserts a new point p strictly to the right of an existing vertex v. | |
| Vertex_descriptor | split_edge (Edge_descriptor e, const Point_1 &p) |
| splits the edge e by inserting a new point p inside it. | |
| void | remove (Vertex_descriptor v) |
| removes an active vertex node from the 1D track, cleanly merging its left and right segments into an individual unified edge. | |
| typedef std::variant<Vertex_descriptor, Edge_descriptor> ArrangementOnCurve_1::Location_result |
Represents a point localization result within the 1D curve structure.
A coordinate query point must match a Vertex_descriptor if it rests on an arrangement node, or an Edge_descriptor if it falls securely between two nodes or out inside an infinity frontier.
| ArrangementOnCurve_1::ArrangementOnCurve_1 | ( | ) |
Default Constructor.
Allocates a new default-constructed instance on the heap.
| bool ArrangementOnCurve_1::has_left_vertex | ( | Edge_const_descriptor | e | ) | const |
determines whether an edge has a left vertex.
| e | the edge. |
| bool ArrangementOnCurve_1::has_right_vertex | ( | Edge_const_descriptor | e | ) | const |
determines whether an edge has a right vertex.
| e | the edge. |
| Edge_const_descriptor ArrangementOnCurve_1::left_edge | ( | Vertex_const_descriptor | v | ) | const |
obtains the descriptor of left edge of a vertex.
| v | the vertex. |
| Vertex_const_descriptor ArrangementOnCurve_1::left_vertex | ( | Edge_const_descriptor | e | ) | const |
obtains the descriptor of the left vertex of an edge.
| e | the edge. |
| void ArrangementOnCurve_1::reset_shared_geometry_traits | ( | Shared_geometry_traits | new_shared_traits_traits | ) |
safety resets function allowing empty arrangements to bind to a separate existing traits memory frame.
| Edge_const_descriptor ArrangementOnCurve_1::right_edge | ( | Vertex_const_descriptor | v | ) | const |
obtains the descriptor of right edge of a vertex.
| v | the vertex. |
| Vertex_const_descriptor ArrangementOnCurve_1::right_vertex | ( | Edge_const_descriptor | e | ) | const |
obtains the descriptor of the vertex of an edge.
| e | the edge. |
| Vertex_descriptor ArrangementOnCurve_1::split_edge | ( | Edge_descriptor | e, |
| const Point_1 & | p ) |
splits the edge e by inserting a new point p inside it.
e becomes the left sub-edge; a new edge becomes the right sub-edge.
#include <Concepts/ArrangementOnCurve_1.h>
A model of the concept ArrangementOnCurve_1 can be used to represent a 1D subdivision of a continuous geometric curve (a 1D "master curve" or line space) into alternating vertices and edges, collectively referred to as cells.
Types | |
| typedef unspecified_type | Size |
| the size type (convertible to size_t). | |
| typedef unspecified_type | Point_1 |
| The 1D arrangement point representation. | |
| typedef unspecified_type | Vertex_descriptor |
| Descriptor targeting a mutable vertex element. | |
| typedef unspecified_type | Edge_descriptor |
| Descriptor targeting a mutable edge element. | |
| typedef unspecified_type | Vertex_const_descriptor |
| Descriptor targeting an immutable vertex element. | |
| typedef unspecified_type | Edge_const_descriptor |
| Descriptor targeting an immutable edge element. | |
| typedef std::variant< Vertex_descriptor, Edge_descriptor > | Location_result |
| Represents a point localization result within the 1D curve structure. | |
| typedef std::variant< Vertex_const_descriptor, Edge_const_descriptor > | Const_location_result |
Creation | |
| ArrangementOnCurve_1 () | |
| Default Constructor. | |
Accessors | |
| bool | empty () const |
| obtains true if the arrangement does not contains any vertices. | |
| Size | number_of_vertices () const |
| obtains the total count of vertices resting along the line track. | |
| Size | number_of_edges () const |
| obtains the total number of bounded and unbounded edge sections. | |
| auto | vertices () const |
| obtains an iterator range tracking all constant vertex descriptors. | |
| auto | edges () const |
| obtains an iterator range tracking all constant edge descriptors. | |
| auto | vertex_point_map () const |
| obtains an lvalue property map matching vertex descriptors to their coordinate positions. | |
| auto | vertex_data_map () const |
| obtains an lvalue property map matching vertex descriptors to their extended user attributes. | |
| auto | edge_data_map () const |
| obtains an lvalue property map matching edge descriptors to their extended user attributes. | |
| Edge_descriptor | unbounded_left_edge () |
| obtains the descriptor of the leftmost unbounded edge spanning \((-\infty, v_{first})\). | |
| Edge_const_descriptor | unbounded_left_edge () const |
| obtains the constant descriptor of the leftmost unbounded edge. | |
| Edge_descriptor | unbounded_right_edge () |
| obtains the descriptor of the rightmost unbounded edge spanning \((v_{last}, +\infty)\). | |
| Edge_const_descriptor | unbounded_right_edge () const |
| obtains the constant descriptor of the rightmost unbounded edge. | |
| Vertex_const_descriptor | left_vertex (Edge_const_descriptor e) const |
| obtains the descriptor of the left vertex of an edge. | |
| Vertex_const_descriptor | right_vertex (Edge_const_descriptor e) const |
| obtains the descriptor of the vertex of an edge. | |
| Edge_const_descriptor | left_edge (Vertex_const_descriptor v) const |
| obtains the descriptor of left edge of a vertex. | |
| Edge_const_descriptor | right_edge (Vertex_const_descriptor v) const |
| obtains the descriptor of right edge of a vertex. | |
| bool | has_left_vertex (Edge_const_descriptor e) const |
| determines whether an edge has a left vertex. | |
| bool | has_right_vertex (Edge_const_descriptor e) const |
| determines whether an edge has a right vertex. | |
Modification Modifiers | |
| void | reset_shared_geometry_traits (Shared_geometry_traits new_shared_traits_traits) |
| safety resets function allowing empty arrangements to bind to a separate existing traits memory frame. | |
| Vertex_descriptor | create_vertex (const Point_1 &p) |
| creates a new vertex, enforcing the rightmost ordering invariant when BinarySearch is active. | |
| Edge_descriptor | create_edge () |
| creates an new edge. | |
| void | destroy_vertex (Vertex_descriptor v) |
| destroys a given vertex. | |
| void | destroy_edge (Edge_descriptor e) |
| destroys a given edge. | |
| Vertex_descriptor | insert_empty (const Point_1 &p) |
| Vertex_descriptor | insert_before (Vertex_descriptor v, const Point_1 &p) |
| inserts a new point p strictly to the left of an existing vertex v. | |
| Vertex_descriptor | insert_after (Vertex_descriptor v, const Point_1 &p) |
| inserts a new point p strictly to the right of an existing vertex v. | |
| Vertex_descriptor | split_edge (Edge_descriptor e, const Point_1 &p) |
| splits the edge e by inserting a new point p inside it. | |
| void | remove (Vertex_descriptor v) |
| removes an active vertex node from the 1D track, cleanly merging its left and right segments into an individual unified edge. | |
| typedef std::variant<Vertex_descriptor, Edge_descriptor> ArrangementOnCurve_1::Location_result |
Represents a point localization result within the 1D curve structure.
A coordinate query point must match a Vertex_descriptor if it rests on an arrangement node, or an Edge_descriptor if it falls securely between two nodes or out inside an infinity frontier.
| ArrangementOnCurve_1::ArrangementOnCurve_1 | ( | ) |
Default Constructor.
Allocates a new default-constructed instance on the heap.
| bool ArrangementOnCurve_1::has_left_vertex | ( | Edge_const_descriptor | e | ) | const |
determines whether an edge has a left vertex.
| e | the edge. |
| bool ArrangementOnCurve_1::has_right_vertex | ( | Edge_const_descriptor | e | ) | const |
determines whether an edge has a right vertex.
| e | the edge. |
| Edge_const_descriptor ArrangementOnCurve_1::left_edge | ( | Vertex_const_descriptor | v | ) | const |
obtains the descriptor of left edge of a vertex.
| v | the vertex. |
| Vertex_const_descriptor ArrangementOnCurve_1::left_vertex | ( | Edge_const_descriptor | e | ) | const |
obtains the descriptor of the left vertex of an edge.
| e | the edge. |
| void ArrangementOnCurve_1::reset_shared_geometry_traits | ( | Shared_geometry_traits | new_shared_traits_traits | ) |
safety resets function allowing empty arrangements to bind to a separate existing traits memory frame.
| Edge_const_descriptor ArrangementOnCurve_1::right_edge | ( | Vertex_const_descriptor | v | ) | const |
obtains the descriptor of right edge of a vertex.
| v | the vertex. |
| Vertex_const_descriptor ArrangementOnCurve_1::right_vertex | ( | Edge_const_descriptor | e | ) | const |
obtains the descriptor of the vertex of an edge.
| e | the edge. |
| Vertex_descriptor ArrangementOnCurve_1::split_edge | ( | Edge_descriptor | e, |
| const Point_1 & | p ) |
splits the edge e by inserting a new point p inside it.
e becomes the left sub-edge; a new edge becomes the right sub-edge.