Flow123d  release_1.8.2-1603-g0109a2b
mesh_types.hh
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file mesh_types.hh
15  * @brief
16  * @author Jan Brezina
17  */
18 
19 #ifndef MESH_TYPES_HH_
20 #define MESH_TYPES_HH_
21 
22 #include "system/sys_vector.hh"
23 
24 class Node;
25 class Element;
26 class Boundary;
27 class Edge;
28 
29 // Preparation for next development
33 
34 // iterator over elements
35 // should be mesh member, but then we have problem how to have ElementIter as memeber of
36 // Node or other classes without cyclic inclusion
40 
44 
48 
49 #endif /* MESH_TYPES_HH_ */
flow::Vector< Edge > EdgeVector
Definition: mesh_types.hh:45
ElementVector::Iter ElementIter
Definition: mesh_types.hh:38
Envelop over std::vector, use enhanced iterators.
Definition: sys_vector.hh:206
Definition: nodes.hh:32
ElementVector::FullIter ElementFullIter
Definition: mesh_types.hh:39
EdgeVector::Iter EdgeIter
Definition: mesh_types.hh:46
BoundaryVector::Iter BoundaryIter
Definition: mesh_types.hh:42
BoundaryVector::FullIter BoundaryFullIter
Definition: mesh_types.hh:43
Definition: edges.h:26
flow::VectorId< Element > ElementVector
Definition: mesh_types.hh:37
Iterator that keeps also reference to its container. Safer and provides indexes.
Definition: sys_vector.hh:48
flow::VectorId< Node > NodeVector
Definition: mesh_types.hh:27
flow::Vector< Boundary > BoundaryVector
Definition: mesh_types.hh:41
NodeVector::Iter NodeIter
Definition: mesh_types.hh:31
Vector classes to support both Iterator, index and Id access and creating co-located vectors...
T * Iter
Default iterator for this class.
Definition: sys_vector.hh:212
NodeVector::FullIter NodeFullIter
Definition: mesh_types.hh:32
EdgeVector::FullIter EdgeFullIter
Definition: mesh_types.hh:47