5 out << marker.toString();
21 for (
int faceNumber=0; faceNumber<2*Dimensions; faceNumber++) {
25 const int normal = faceNumber % Dimensions;
27 std::bitset<Dimensions> studiedVertex = i;
28 studiedVertex.set(
normal,faceNumber>=Dimensions);
38 int normal = i % Dimensions;
51 int index = i % Dimensions;
52 result(index) += i<Dimensions ? -
_h(index) :
_h(index);
64 int index = i % Dimensions;
65 bool negativeSign = i<Dimensions;
67 result(index) += negativeSign ? -
_h(index) :
_h(index);
78 std::ostringstream msg;
83 <<
",is-face-local=" <<
isLocal()
155 const int normal = i % Dimensions;
156 result(
normal) += i>=Dimensions ? 1 : 0;
165 for(
int d=0; d<Dimensions; d++){
#define assertion2(expr, param0, param1)
#define assertion1(expr, param)
std::ostream & operator<<(std::ostream &out, const peano4::datamanagement::FaceMarker &marker)
std::string toString(Filter filter)
Provide information about selected face.
std::bitset< 2 *Dimensions > _willBeRefined
std::string toString() const
bool willBeRefined() const
tarch::la::Vector< Dimensions, double > outerNormal(int i) const
This operation gives you the outer normal of a cell.
tarch::la::Vector< Dimensions, double > outerNormal() const
tarch::la::Vector< Dimensions, int > _relativePositionOfCellWithinFatherCell
Entries from (0,1,2).
FaceMarker(const peano4::grid::GridTraversalEvent &event, int select=0)
The derivation of _isLocal and _isRefined is very similar to peano4::grid::Spacetree::getFaceType().
bool hasBeenRefined() const
Has a face been refined.
int getSelectedFaceNumber() const
Return the number of the face.
tarch::la::Vector< Dimensions, double > x() const
A marker is always tied to one particular face.
tarch::la::Vector< Dimensions, double > normal() const
tarch::la::Vector< Dimensions, double > _cellCentre
Centre of the underlying cell.
FaceMarker & select(int face)
Selects a face within a cell, i.e.
tarch::la::Vector< Dimensions-1, int > getRelativePositionWithinFatherFace() const
Return relative position of a subface within its father face.
std::bitset< 2 *Dimensions > _hasBeenRefined
bool isInteriorFaceWithinPatch() const
The term patch here refers to a 3x3 or 3x3x3 refinement.
tarch::la::Vector< Dimensions, double > x(int i) const
Center of a particular face with respective reference cell.
tarch::la::Vector< Dimensions, int > getRelativePositionWithinFatherCell() const
Return relative position within father cell.
bool isAdjacentToParallelBoundary() const
std::bitset< 2 *Dimensions > _isLocal
tarch::la::Vector< Dimensions, double > h() const
Size of the underlying cell.
std::bitset< 2 *Dimensions > _isAdjacentToParallelBoundary
tarch::la::Vector< Dimensions, double > _h
Size of the underlying cell.
tarch::la::Vector< Dimensions, double > normal(int i) const
This operation gives you the normal of a certain face.
std::bitset< TwoPowerD > getHasBeenRefined() const
std::bitset< TwoPowerD > getWillBeRefined() const