Programmer's Documentation

Public Member Functions | Private Attributes | List of all members
DnTriangleHeap Class Reference

Detailed Description

Priority queue for mesh refinement/improvement.

The idea is to keep a heap of triangles sorted by their geometric quality, so that the top element is always the 'worst'. Unfortunately, this does not work very well, because the refinement process modifies the quality of triangles already in the heap, so that the heap property is destroyed.

See Also

#include <dnrefine.h>

Collaboration diagram for DnTriangleHeap:

Public Member Functions

 DnTriangleHeap (const DnCriterion &crit, const DnTriangleArray &t)
 initialize, put all valid triangles into heap
 DnTriangleHeap (const DnCriterion &crit, const DnTriangleArray &t, const Indices &idx)
 initialize, put valid triangles from index set into heap
void refill ()
 put all critical triangles into heap again
bool empty () const
 empty or not?
uint size () const
 number of elements on heap
uint top () const
 return top element
void pop ()
 pop top element
void push (uint i)
 push new element on heap
void append (const Indices &idx)
 add list of triangles to existing ones, re-establish heap
void print ()

Private Attributes

const DnTriangleArray & triangles
 triangle array
DnTriangleCompare cmp
 comparison object
Indices iheap
 indices into triangle array

The documentation for this class was generated from the following files:
Generated on Wed Jan 19 2022 03:03:16 for libsurf by   doxygen 1.8.5