GemaMesh
The GeMA Mesh Plugin
Classes | Macros
uibhmTopology.h File Reference

Declaration of the UibhmTopology familiy of classes. More...

#include <vector>
#include <assert.h>
#include "gmpGemaMeshConfig.h"
#include <gmLog.h>
Include dependency graph for uibhmTopology.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UibhmQuery< Geometry >
 The basic class for topological queries using the UibhmTopology structure. Implements the GmCellMeshTopology API functions that are independent of the mesh type (surface or solid). More...
 
class  UibhmSurfaceQuery< Geometry >
 The UibhmQuery especialization for surface meshes. More...
 
class  UibhmSolidQuery< Geometry >
 The UibhmQuery especialization for solid meshes. More...
 
class  UibhmTopologyBase
 Interface for accessing the "exported" functions of a UibhmTopology class instance, independently from its template parameters. More...
 
class  UibhmTopology< Geometry >
 
struct  UibhmTopology< Geometry >::V3
 

Macros

#define GMP_UIBHM_SIDE_BITS   4
 The number of bits used to encode the side value inside a half-side id.
 
#define GM_UIBHM_SIDE_MASK   (~(~0u >> GMP_UIBHM_SIDE_BITS))
 A mask with 1 at the higher side bits.
 
#define GMP_UIBHM_MAX_SIDE_VALUE   ((1 << GMP_UIBHM_SIDE_BITS) - 1)
 The maximum value represented by the side part of the half-side index (including special values)
 
#define GMP_UIBHM_BORDER_SIDE   GMP_UIBHM_MAX_SIDE_VALUE
 The special side value used to specify that a half-side is at the border.
 
#define GMP_UIBHM_MID_SIDE   (GMP_UIBHM_MAX_SIDE_VALUE - 1)
 The special side value used to specify that the half-side stores only a cell id (for mid nodes)
 
#define GMP_UIBHM_MAX_NUM_SIDES   GMP_UIBHM_MID_SIDE
 The maximum number of sides (keeping in mind the special values used for borders and mid nodes).
 
#define GMP_UIBHM_CELL_BITS   (32 - GMP_UIBHM_SIDE_BITS)
 The number of bits effectivelly used to encode the cell id inside a 32 bits half-side integer.
 
#define GM_UIBHM_CELL_MASK   (~GM_UIBHM_SIDE_MASK)
 Mask with 1 on bits representing the cell id part (least significant bits up to the side mask).
 
#define GMP_UIBHM_MAX_NUM_CELLS   (1 << GMP_UIBHM_CELL_BITS)
 The maximum number of allowed cells.
 
#define GMP_UIBHM_INVALID_VALUE   (~0u)
 The value used to represent both the side and the cell for a border half-side when the border index is not specified. Also used to represent an invalid half-side (coded as a BORDER_SIDE + all ones on the cell part, or -1 if seen as a signed value)
 

Detailed Description

Declaration of the UibhmTopology familiy of classes.

Author
Carlos Augusto Teixeira Mendes
Date
march, 2024