LiTe
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
TTessel::Split Class Reference

A split that can be applied to a T-tessellation. More...

#include <ttessel.h>

Inheritance diagram for TTessel::Split:
TTessel::Modification

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...
 

Detailed Description

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:

Constructor & Destructor Documentation

TTessel::Split::Split ( Halfedge_handle  e,
double  x = .5,
double  angle = CGAL_PI/2 
)

Constructor that creates an effective Split object.

Parameters
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
Returns
A Split object

Member Function Documentation

Halfedge_handle TTessel::Split::get_e1 ( )
inline

Return a handle to one of the split edges.

The other split edge can be accessed using Split::get_e2.

Halfedge_handle TTessel::Split::get_e2 ( )
inline

Return a handle to one of the split edges.

The other split edge can be accessed using Split::get_e1.

Point2 TTessel::Split::get_p1 ( )
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

Point2 TTessel::Split::get_p2 ( )
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

  • Both split edges bound the same face.
  • The split edges should not be aligned.
  • The new vertices should not be at the end of the split edges.

If the split is not valid, messages are sent to the standard output for logging.


The documentation for this class was generated from the following files: