A split that can be applied to a T-tessellation. More...
#include <ttessel.h>
Public Member Functions | |
Split () | |
Default constructor that creates an empty Split object. | |
Split (Halfedge_handle, double=.5, double=CGAL_PI/2) | |
Constructor that creates an effective Split object. More... | |
virtual ModList | modified_elements () |
Compute elements of a T-tessellation that are modified by a split. | |
Halfedge_handle | get_e1 () |
Return a handle to one of the split edges. More... | |
Point2 | get_p1 () |
Get the location of the new vertex on one of the new edge. More... | |
Halfedge_handle | get_e2 () |
Return a handle to one of the split edges. More... | |
Point2 | get_p2 () |
Get the location of the new vertex on one of the new edge. More... | |
bool | is_valid () |
Check a split is valid. More... | |
A split that can be applied to a T-tessellation.
A split is the division of a face by a line segment.
A split is represented by a halfedge bounding the face to be split, a relative position (between 0 and 1) along that halfedge and an angle greater than zero and smaller than pi. The splitting segment starts at the point lying on the halfedge at the given relative position and makes the given angle with the halfedge.
A split has several effects on tessellation elements:
TTessel::Split::Split | ( | Halfedge_handle | e, |
double | x = .5 , |
||
double | angle = CGAL_PI/2 |
||
) |
Constructor that creates an effective Split object.
e | : halfedge handle bounding the cell to be split where the splitting segment starts |
x | : relative position along the halfedge defining where the splitting segments starts. When s is closed to 0, the splitting segment starts near the source of the halfedge. When s is closed to 1, the splitting segment is near the target of the halfedge |
angle | : angle between the halfedge and the splitting segment. Must be between 0 and pi |
|
inline |
Return a handle to one of the split edges.
The other split edge can be accessed using Split::get_e2.
|
inline |
Return a handle to one of the split edges.
The other split edge can be accessed using Split::get_e1.
|
inline |
Get the location of the new vertex on one of the new edge.
The new vertex lies on the new edge returned by Split::get_e1
|
inline |
Get the location of the new vertex on one of the new edge.
The new vertex lies on the new edge returned by Split::get_e2
bool TTessel::Split::is_valid | ( | ) |
Check a split is valid.
The following tests are performed
If the split is not valid, messages are sent to the standard output for logging.