Flow123d  release_2.2.0-914-gf1a3a4f
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 // Forward declarations
25 template <int spacedim>
26  class ElementAccessor;
27 class BIHTree;
28 class Node;
29 class Element;
30 class Boundary;
31 class Edge;
33 
34 // Preparation for next development
38 
39 // iterator over elements
40 // should be mesh member, but then we have problem how to have ElementIter as memeber of
41 // Node or other classes without cyclic inclusion
45 
49 
53 
54 #endif /* MESH_TYPES_HH_ */
flow::Vector< Edge > EdgeVector
Definition: mesh_types.hh:50
ElementVector::Iter ElementIter
Definition: mesh_types.hh:43
Envelop over std::vector, use enhanced iterators.
Definition: sys_vector.hh:206
Definition: nodes.hh:32
ElementVector::FullIter ElementFullIter
Definition: mesh_types.hh:44
EdgeVector::Iter EdgeIter
Definition: mesh_types.hh:51
BoundaryVector::Iter BoundaryIter
Definition: mesh_types.hh:47
BoundaryVector::FullIter BoundaryFullIter
Definition: mesh_types.hh:48
Definition: edges.h:26
flow::VectorId< Element > ElementVector
Definition: mesh_types.hh:42
Iterator that keeps also reference to its container. Safer and provides indexes.
Definition: sys_vector.hh:48
Class for O(log N) lookup for intersections with a set of bounding boxes.
Definition: bih_tree.hh:36
flow::VectorId< Node > NodeVector
Definition: mesh_types.hh:32
flow::Vector< Boundary > BoundaryVector
Definition: mesh_types.hh:46
NodeVector::Iter NodeIter
Definition: mesh_types.hh:36
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:37
EdgeVector::FullIter EdgeFullIter
Definition: mesh_types.hh:52
Main class for computation of intersection of meshes of combined dimensions.