Graphite Version 3
An experimental 3D geometry processing program
Loading...
Searching...
No Matches
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.
 
 DList (CDTBase2d &cdt)
 Creates an uninitialized DList.
 
void initialize (index_t list_id)
 Initializes a list.
 
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.

◆ ~DList()

GEO::CDTBase2d::DList::~DList ( )
inline

Definition at line 460 of file CDT_2d.h.

Member Function Documentation

◆ back()

index_t GEO::CDTBase2d::DList::back ( ) const
inline

Definition at line 484 of file CDT_2d.h.

◆ clear()

void GEO::CDTBase2d::DList::clear ( )
inline

Definition at line 501 of file CDT_2d.h.

◆ contains()

bool GEO::CDTBase2d::DList::contains ( index_t  t) const
inline

Definition at line 474 of file CDT_2d.h.

◆ empty()

bool GEO::CDTBase2d::DList::empty ( ) const
inline

Definition at line 466 of file CDT_2d.h.

◆ front()

index_t GEO::CDTBase2d::DList::front ( ) const
inline

Definition at line 479 of file CDT_2d.h.

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

◆ initialized()

bool GEO::CDTBase2d::DList::initialized ( ) const
inline

Tests whether a DList is initialized.

Definition at line 456 of file CDT_2d.h.

◆ next()

index_t GEO::CDTBase2d::DList::next ( index_t  t) const
inline

Definition at line 489 of file CDT_2d.h.

◆ pop_back()

index_t GEO::CDTBase2d::DList::pop_back ( )
inline

Definition at line 535 of file CDT_2d.h.

◆ pop_front()

index_t GEO::CDTBase2d::DList::pop_front ( )
inline

Definition at line 568 of file CDT_2d.h.

◆ prev()

index_t GEO::CDTBase2d::DList::prev ( index_t  t) const
inline

Definition at line 495 of file CDT_2d.h.

◆ push_back()

void GEO::CDTBase2d::DList::push_back ( index_t  t)
inline

Definition at line 518 of file CDT_2d.h.

◆ push_front()

void GEO::CDTBase2d::DList::push_front ( index_t  t)
inline

Definition at line 551 of file CDT_2d.h.

◆ remove()

void GEO::CDTBase2d::DList::remove ( index_t  t)
inline

Definition at line 584 of file CDT_2d.h.

◆ show()

void GEO::CDTBase2d::DList::show ( std::ostream &  out = std::cerr) const
inline

Definition at line 600 of file CDT_2d.h.

◆ size()

index_t GEO::CDTBase2d::DList::size ( ) const
inline

Definition at line 509 of file CDT_2d.h.


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