34 using FlagType = Int32;
44 II_HasFrontCell = 1 << 2,
45 II_HasBackCell = 1 << 3,
46 II_FrontCellIsFirst = 1 << 4,
47 II_BackCellIsFirst = 1 << 5,
50 II_Suppressed = 1 << 8,
52 II_SubDomainBoundary = 1 << 10,
54 II_JustAdded = 1 << 12,
55 II_NeedRemove = 1 << 13,
56 II_SlaveFace = 1 << 14,
57 II_MasterFace = 1 << 15,
58 II_Detached = 1 << 16,
59 II_HasTrace = 1 << 17,
62 II_DoNothing = 1 << 19,
64 II_JustRefined = 1 << 21,
65 II_JustCoarsened = 1 << 22,
66 II_Inactive = 1 << 23,
67 II_CoarsenInactive = 1 << 24,
69 II_UserMark1 = 1 << 25,
70 II_UserMark2 = 1 << 26
73 static const int II_InterfaceFlags = II_Boundary + II_HasFrontCell + II_HasBackCell +
74 II_FrontCellIsFirst + II_BackCellIsFirst;
76 static constexpr bool isOwn(FlagType f) {
return (f & II_Own) != 0; }
77 static constexpr bool isShared(FlagType f) {
return (f & II_Shared) != 0; }
78 static constexpr bool isBoundary(FlagType f) {
return (f & II_Boundary) != 0; }
79 static constexpr bool isSubDomainBoundary(FlagType f) {
return (f & II_Boundary) != 0; }
80 static constexpr bool hasBackCell(FlagType f) {
return (f & II_HasBackCell) != 0; }
81 static constexpr bool isSubDomainBoundaryOutside(FlagType f)
83 return isSubDomainBoundary(f) && hasBackCell(f);
96 if (f & II_HasBackCell)
97 return (f & II_BackCellIsFirst) ? 0 : 1;
111 if (f & II_HasFrontCell)
112 return (f & II_FrontCellIsFirst) ? 0 : 1;