GemaCoreLib
The GeMA Core library
gmCellMeshTopology.h
Go to the documentation of this file.
1 /************************************************************************
2 **
3 ** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4 ** All rights reserved.
5 **
6 ** This file is part of the "GeMA" software. It's use should respect
7 ** the terms in the license agreement that can be found together
8 ** with this source code.
9 ** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10 ** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11 ** A PARTICULAR PURPOSE.
12 **
13 ************************************************************************/
14 
24 #ifndef _GEMA_CELL_MESH_TOPOLOGY_H_
25 #define _GEMA_CELL_MESH_TOPOLOGY_H_
26 
27 #include "gmLog.h"
28 
29 class GmCell;
30 
33 {
34 public:
35 
38  {
39  STAR,
41  };
42 
56  virtual GmCell* adjacentCell(const GmCell* cell, int sideIndex, int* adjSideIndex = NULL) const = 0;
57 
71  virtual void nodeAdjacentNodes(int nodeIndex, QueryOptions options, QVector<int>& list) const = 0;
72 
74  virtual void nodeAdjacentCells(int nodeIndex, QVector<GmCell*>& list) const = 0;
75 
77  virtual void nodeAdjacentCells(int nodeIndex, QVector<const GmCell*>& list) const = 0;
78 
83  virtual void edgeAdjacentCells(const GmCell* cell, int edgeIndex, QVector<GmCell*>& list) const = 0;
84 
86  virtual void edgeAdjacentCells(const GmCell* cell, int edgeIndex, QVector<const GmCell*>& list) const = 0;
87 
92  virtual bool isBorderNode(int nodeIndex) const = 0;
93 
95  virtual void printParameters(const GmLogCategory& logger, GmLogLevel level) const = 0;
96 
98  virtual void print(const GmLogCategory& logger, GmLogLevel level) const = 0;
99 
101  virtual size_t printMemoryStatistics(const GmLogCategory& logger, GmLogLevel level) const = 0;
102 
104  virtual size_t usedMemory() const = 0;
105 };
106 
107 #endif
108 
Base interface for mesh cells.
Definition: gmCell.h:81
QueryOptions
Query options for adjacent nodes retrieval.
Definition: gmCellMeshTopology.h:37
void print(const GmMatrix &m, const GmLogCategory &logger, GmLogLevel level, int fieldWidth, char format, int precision)
Prints the matrix using the specified logger, level and precision fields.
Definition: gmMatrixUtils.cpp:34
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
Base interface class for mesh topological queries.
Definition: gmCellMeshTopology.h:32
GmLogLevel
Available log levels list.
Definition: gmLog.h:36
Class representing a category with multiple logging levels.
Definition: gmLog.h:58
Returns the set of connected nodes, ignoring quadratic nodes.
Definition: gmCellMeshTopology.h:40
Declaration of support functions and macros for information logging.