41#ifndef GEOGRAM_DELAUNAY_CAVITY 
   42#define GEOGRAM_DELAUNAY_CAVITY 
   57#ifdef CAVITY_WITH_STATS 
   58#define CAVITY_STATS(x) x 
   60#define CAVITY_STATS(x) 
   83#ifdef CAVITY_WITH_STATS 
 
   95            ::memset(h2t_, END_OF_LIST, 
sizeof(h2t_));
 
 
   99#ifdef CAVITY_WITH_STATS 
  100            for(
index_t i=0; i<MAX_H; ++i) {
 
  101                std::cerr << i  << 
": get=" << stats_get_[i]
 
  102                          << 
"   set=" << stats_set_[i] << std::endl;
 
  143            set_vv2t(v0, v1, new_t);
 
  144            set_vv2t(v1, v2, new_t);
 
  145            set_vv2t(v2, v0, new_t);
 
  152            tglobal_[new_t] = tglobal;
 
  153            boundary_f_[new_t] = boundary_f;
 
 
  196            return boundary_f_[f];
 
 
  223            t0 = tglobal_[get_vv2t(v2,v1)];
 
  224            t1 = tglobal_[get_vv2t(v0,v2)];
 
  225            t2 = tglobal_[get_vv2t(v1,v0)];
 
 
  229        static constexpr index_t        MAX_H = 1033;
 
  231        static constexpr index_t        MAX_F = 128;
 
  242                 (
index_t(v2+1) * 83492791)) % MAX_H
 
  259                if(h2t_[cur] == END_OF_LIST) {
 
  268                    CAVITY_STATS(++stats_set_[cnt];)
 
  293                if((h2v_[cur][0] == v1) && (h2v_[cur][1] == v2)) {
 
  297                        CAVITY_STATS(++stats_get_[cnt];)
 
  335            CAVITY_STATS(
mutable index_t stats_set_[MAX_H];)
 
  336                CAVITY_STATS(
mutable index_t stats_get_[MAX_H];)
 
 
#define geo_assert_not_reached
Sets a non reachable point in the program.
#define geo_debug_assert(x)
Verifies that a condition is met.
Represents the set of tetrahedra on the boundary of the cavity in a 3D Delaunay triangulation.
Cavity()
Cavity constructor.
index_t nb_facets() const
Gets the number of facets.
Numeric::uint8 local_index_t
Type used for local indices.
bool OK() const
Tests whether this Cavity is valid.
void clear()
Clears this cavity.
index_t facet_facet(index_t f) const
Gets the local tetrahedron facet that corresponds to a facet.
void set_facet_tet(index_t f, index_t t)
Sets the tetrahedron associated with a facet.
void get_facet_neighbor_tets(index_t f, index_t &t0, index_t &t1, index_t &t2) const
Gets the neighbors of a facet.
index_t facet_vertex(index_t f, index_t lv) const
Gets the vertex of a facet.
index_t facet_tet(index_t f) const
Gets the tetrahedron associated with a facet.
void new_facet(index_t tglobal, index_t boundary_f, index_t v0, index_t v1, index_t v2)
Inserts a new boundary facet in the structure.
Common include file, providing basic definitions. Should be included before anything else by all head...
Types and functions for memory manipulation.
void clear(void *addr, size_t size)
Clears a memory block.
Global Vorpaline namespace.
geo_index_t index_t
The type for storing and manipulating indices.
Types and functions for numbers manipulation.
Functions for string manipulation.