WaveBEM: Unsteady Nonlinear Potential Flow Solver for Ship-Wave Interaction.
geometry_flags.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 // $Id: fe_update_flags.h,v 1.31 2005/10/24 04:33:03 guido Exp $
3 // Version: $Name: $
4 //
5 // Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2011 by the deal.II authors
6 //
7 // This file is subject to QPL and may not be distributed
8 // without copyright and license information. Please refer
9 // to the file deal.II/doc/license.html for the text and
10 // further information on this license.
11 //
12 //---------------------------------------------------------------------------
13 #ifndef __deal2__geometry_flags_h
14 #define __deal2__geometry_flags_h
15 
16 #include <deal.II/base/config.h>
29 {
31  none = 0,
32  // Surface nodes
33  water = 0x0001,
34  boat = 0x0002,
35  walls = 0x0004,
36  inflow = 0x0008,
37  // Edge nodes
38  near_water = 0x0010,
39  near_boat = 0x0020,
40  near_walls = 0x0040,
41  edge = 0x0080,
42  keel = 0x0100,
43  near_inflow = 0x0200,
44  // Position characterization
45  right_side = 0x0400,
46  left_side = 0x0800,
47  // transom on water or boat
48  transom_on_boat = 0x1000,
49  transom_on_water = 0x2000,
50  // pressure condition nodes
51  pressure = 0x4000,
52  near_pressure = 0x8000
53 };
54 
55 
56 
57 
66 inline
69 {
70  return static_cast<GeometryFlags> (
71  static_cast<unsigned int> (f1) |
72  static_cast<unsigned int> (f2));
73 }
74 
83 inline
86 {
87  return static_cast<GeometryFlags> (
88  static_cast<unsigned int> (f1) ^
89  static_cast<unsigned int> (f2));
90 }
91 
96 inline
99 {
100  f1 = f1 | f2;
101  return f1;
102 }
103 
108 inline
111 {
112  f1 = f1 ^ f2;
113  return f1;
114 }
115 
116 
125 inline
128 {
129  return static_cast<GeometryFlags> (
130  static_cast<unsigned int> (f1) &
131  static_cast<unsigned int> (f2));
132 }
133 
134 
139 inline
142 {
143  f1 = f1 & f2;
144  return f1;
145 }
146 
147 
148 
149 #endif
GeometryFlags operator&(GeometryFlags f1, GeometryFlags f2)
Global operator which returns an object in which all bits are set which are set in the first as well ...
GeometryFlags & operator&=(GeometryFlags &f1, GeometryFlags f2)
Global operator which clears all the bits in the first argument if they are not also set in the secon...
GeometryFlags & operator|=(GeometryFlags &f1, GeometryFlags f2)
Global operator which sets the bits from the second argument also in the first one.
GeometryFlags & operator^=(GeometryFlags &f1, GeometryFlags f2)
Global operator which sets the bits from the second argument also in the first one only if they are n...
GeometryFlags operator|(GeometryFlags f1, GeometryFlags f2)
Global operator which returns an object in which all bits are set which are either set in the first o...
GeometryFlags operator^(GeometryFlags f1, GeometryFlags f2)
Global operator which returns an object in which all bits are set which are either set in the first o...
No update.
GeometryFlags
The enum type given to the constructors of LocalAssembleBase objects, telling those objects which dat...