Geogram  Version 1.9.1-rc
A programming library of geometric algorithms
GEO::CDTBase2d::DList Struct Reference

Doubly connected triangle list. More...

#include <geogram/delaunay/CDT_2d.h>

Public Member Functions

 DList (CDTBase2d &cdt, index_t list_id)
 Constructs an empty DList. More...
 
 DList (CDTBase2d &cdt)
 Creates an uninitialized DList. More...
 
void initialize (index_t list_id)
 Initializes a list. More...
 
bool initialized () const
 Tests whether a DList is initialized.
 
bool empty () const
 
bool contains (index_t t) const
 
index_t front () const
 
index_t back () const
 
index_t next (index_t t) const
 
index_t prev (index_t t) const
 
void clear ()
 
index_t size () const
 
void push_back (index_t t)
 
index_t pop_back ()
 
void push_front (index_t t)
 
index_t pop_front ()
 
void remove (index_t t)
 
void show (std::ostream &out=std::cerr) const
 

Detailed Description

Doubly connected triangle list.

DList is used to implement:

  • the stack S of triangles to flip in insert()
  • the queue Q of intersected edges in detect_intersected_edges() and constrain_edges()
  • the list N of new edges in constrain_edges() Everything is stored in CDBase vectors Tnext_, Tprev_ and Tflags_. As a consequence, the same triangle can be only in a single DList at the same time.

Definition at line 418 of file CDT_2d.h.

Constructor & Destructor Documentation

◆ DList() [1/2]

GEO::CDTBase2d::DList::DList ( CDTBase2d cdt,
index_t  list_id 
)
inline

Constructs an empty DList.

Parameters
[in]cdta reference to the CDTBase2d
[in]list_idthe DList id, in 0..DLIST_NB-1

Definition at line 424 of file CDT_2d.h.

◆ DList() [2/2]

GEO::CDTBase2d::DList::DList ( CDTBase2d cdt)
inline

Creates an uninitialized DList.

One cannot do anything with an uninitialized Dlist, except:

Definition at line 438 of file CDT_2d.h.

Member Function Documentation

◆ initialize()

void GEO::CDTBase2d::DList::initialize ( index_t  list_id)
inline

Initializes a list.

Parameters
[in]list_idthe DList id, in 0..DLIST_NB-1

Definition at line 447 of file CDT_2d.h.


The documentation for this struct was generated from the following file: