Loading...
Searching...
No Matches
Intersection.hpp
1/*---------------------------------------------------------------------------*\
2 *
3 * bitpit
4 *
5 * Copyright (C) 2015-2021 OPTIMAD engineering Srl
6 *
7 * -------------------------------------------------------------------------
8 * License
9 * This file is part of bitpit.
10 *
11 * bitpit is free software: you can redistribute it and/or modify it
12 * under the terms of the GNU Lesser General Public License v3 (LGPL)
13 * as published by the Free Software Foundation.
14 *
15 * bitpit is distributed in the hope that it will be useful, but WITHOUT
16 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18 * License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with bitpit. If not, see <http://www.gnu.org/licenses/>.
22 *
23\*---------------------------------------------------------------------------*/
24
25#ifndef __BITPIT_PABLO_INTERSECTION_HPP__
26#define __BITPIT_PABLO_INTERSECTION_HPP__
27
28// =================================================================================== //
29// INCLUDES //
30// =================================================================================== //
31#include <stdint.h>
32
33namespace bitpit {
34
35// =================================================================================== //
36// NAME SPACES //
37// =================================================================================== //
38
39// =================================================================================== //
40// CLASS DEFINITION //
41// =================================================================================== //
63
64 // =================================================================================== //
65 // FRIENDSHIPS
66 // =================================================================================== //
67
68 friend class LocalTree;
69 friend class ParaTree;
70
71 // =================================================================================== //
72 // TYPEDEFS
73 // =================================================================================== //
74
75 // =================================================================================== //
76 // MEMBERS
77 // =================================================================================== //
78private:
79 uint32_t m_owners[2];
80 uint8_t m_iface;
81 bool m_out;
82 bool m_outisghost;
83 bool m_finer;
84 bool m_isghost;
85 bool m_isnew;
86 bool m_bound;
87 bool m_pbound;
88 uint8_t m_dim;
90 // =================================================================================== //
91 // CONSTRUCTORS AND OPERATORS
92 // =================================================================================== //
93public:
95 Intersection(const Intersection & intersection);
96 Intersection & operator =(const Intersection & intersection);
97private:
98 Intersection(uint8_t dim);
99 bool operator ==(const Intersection & intersection);
100
101 // =================================================================================== //
102 // METHODS
103 // =================================================================================== //
104
105 // =================================================================================== //
106 // BASIC GET/SET METHODS
107 // =================================================================================== //
108
109 uint32_t getOut() const;
110 bool getOutIsGhost() const;
111 uint32_t getIn() const;
112 uint32_t getFiner() const;
113 void getNormal(int8_t normal[3], int8_t normals[6][3]) const;
114 bool getBound() const;
115 bool getIsGhost() const;
116 bool getPbound() const;
117
118};
119
120}
121
122#endif /* __BITPIT_PABLO_INTERSECTION_HPP__ */
Intersection class definition.
Intersection & operator=(const Intersection &intersection)
Local octree portion for each process.
Definition LocalTree.hpp:71
Para Tree is the user interface class.
Definition ParaTree.hpp:113
--- layout: doxygen_footer ---