GemaCoreLib
The GeMA Core library
gmCellBoundary.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_BOUNDARY_H_
25 #define _GEMA_CELL_BOUNDARY_H_
26 
27 #include "gmCoreConfig.h"
28 
31 {
34 };
35 
36 
37 class GmCell;
38 class GmCellMesh;
39 
44 {
45 public:
47  virtual ~GmCellBoundary() {}
48 
50  virtual QString id() const = 0;
51 
53  virtual GmCellBoundaryType type() const = 0;
54 
56  virtual GmCellMesh* mesh() const = 0;
57 
59  virtual int numCells() const = 0;
60 
62  virtual GmCell* cell(int i) const = 0;
63 
71  virtual int cellBorder(int i) const = 0;
72 
80  virtual bool setBoundaryData(int numCells, int* cellList, int* borderList)
81  {
82  Q_UNUSED(numCells); Q_UNUSED(cellList); Q_UNUSED(borderList);
83  return false;
84  }
85 
87  virtual size_t usedMemory() const = 0;
88 
89  int* buildNodeList(int* size);
90 };
91 
92 
93 #endif
94 
virtual bool setBoundaryData(int numCells, int *cellList, int *borderList)
Updates the cell and border lists in the border object.
Definition: gmCellBoundary.h:80
Declaration of usefull configuration definitions for the Core library.
This class stores a set of cell edges or cell faces that together form a piece of the boundary of a m...
Definition: gmCellBoundary.h:43
Base interface for mesh cells.
Definition: gmCell.h:81
virtual ~GmCellBoundary()
Virtual destructor.
Definition: gmCellBoundary.h:47
The boundary is formed by faces.
Definition: gmCellBoundary.h:33
Base interface class for CellMesh type plugins.
Definition: gmCellMesh.h:39
The boundary is formed by edges.
Definition: gmCellBoundary.h:32
#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
GmCellBoundaryType
Cell boundary type.
Definition: gmCellBoundary.h:30