BRL-CAD
#include "common.h"
#include "vmath.h"
#include "bu/list.h"
#include "nmg/defines.h"
Include dependency graph for index.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nmg_struct_counts
 

Macros

#define NMG_INDEX_VALUE(_tab, _index)   ((_tab)[_index])
 
#define NMG_INDEX_TEST(_tab, _p)   ((_tab)[(_p)->index])
 
#define NMG_INDEX_SET(_tab, _p)   {(_tab)[(_p)->index] = 1;}
 
#define NMG_INDEX_CLEAR(_tab, _p)   {(_tab)[(_p)->index] = 0;}
 
#define NMG_INDEX_TEST_AND_SET(_tab, _p)   ((_tab)[(_p)->index] == 0 ? ((_tab)[(_p)->index] = 1) : 0)
 
#define NMG_INDEX_IS_SET(_tab, _p)   NMG_INDEX_TEST(_tab, _p)
 
#define NMG_INDEX_FIRST_TIME(_tab, _p)   NMG_INDEX_TEST_AND_SET(_tab, _p)
 
#define NMG_INDEX_ASSIGN(_tab, _p, _val)   {(_tab)[(_p)->index] = _val;}
 
#define NMG_INDEX_GET(_tab, _p)   ((_tab)[(_p)->index])
 
#define NMG_INDEX_GETP(_ty, _tab, _p)   ((struct _ty *)((_tab)[(_p)->index]))
 
#define NMG_INDEX_OR(_tab, _p, _val)   {(_tab)[(_p)->index] |= _val;}
 
#define NMG_INDEX_AND(_tab, _p, _val)   {(_tab)[(_p)->index] &= _val;}
 
#define NMG_INDEX_RETURN_IF_SET_ELSE_SET(_tab, _index)
 
#define NMG_0MANIFOLD   1
 
#define NMG_1MANIFOLD   2
 
#define NMG_2MANIFOLD   4
 
#define NMG_DANGLING   8 /* NMG_2MANIFOLD + 4th bit for special cond (UNUSED) */
 
#define NMG_3MANIFOLD   16
 
#define NMG_SET_MANIFOLD(_t, _p, _v)   NMG_INDEX_OR(_t, _p, _v)
 
#define NMG_MANIFOLDS(_t, _p)   NMG_INDEX_VALUE(_t, (_p)->index)
 
#define NMG_CP_MANIFOLD(_t, _p, _q)   (_t)[(_p)->index] = (_t)[(_q)->index]
 

Functions

int nmg_index_of_struct (const uint32_t *p)
 
uint32_t ** nmg_m_struct_count (struct nmg_struct_counts *ctr, const struct model *m)
 
void nmg_pr_m_struct_counts (const struct model *m, const char *str)
 
void nmg_vls_struct_counts (struct bu_vls *str, const struct nmg_struct_counts *ctr)
 
void nmg_pr_struct_counts (const struct nmg_struct_counts *ctr, const char *str)