87 return vertices_[blockShape_[i]];
98 if (facei == 0 || facei == 1)
104 + j*(sizes().
y() + 1)
107 else if (facei == 2 || facei == 3)
113 + j*(sizes().
x() + 1)
130 const label i,
const label j,
const label
k
133 bool iEnd = (i == 0 || i == sizes().x());
134 bool jEnd = (j == 0 || j ==
sizes().y());
135 bool kEnd = (
k == 0 ||
k ==
sizes().z());
137 return (iEnd && jEnd && kEnd);
143 const label i,
const label j,
const label
k
146 bool iEnd = (i == 0 || i == sizes().x());
147 bool jEnd = (j == 0 || j ==
sizes().y());
148 bool kEnd = (
k == 0 ||
k ==
sizes().z());
150 return (iEnd && jEnd) || (iEnd && kEnd) || (jEnd && kEnd);
156 const label i,
const label j,
const label
k
159 if (i == 0 && curvedFaces_[0] < 0)
return true;
160 if (i == sizes().
x() && curvedFaces_[1] < 0)
return true;
162 if (j == 0 && curvedFaces_[2] < 0)
return true;
163 if (j == sizes().
y() && curvedFaces_[3] < 0)
return true;
165 if (
k == 0 && curvedFaces_[4] < 0)
return true;
166 if (
k == sizes().z() && curvedFaces_[5] < 0)
return true;
168 return this->
edge(i, j,
k);
A 1D vector of objects of type <T> with a fixed length <N>.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
bool edge(const label i, const label j, const label k) const
True if point i,j,k addresses a block edge.
label nCurvedFaces() const noexcept
Number of curved faces in this block.
const pointField & vertices() const noexcept
Reference to point field defining the block mesh.
const List< gradingDescriptors > & grading() const noexcept
Expansion ratios in all directions.
const FixedList< label, 6 > & curvedFaces() const noexcept
Curved-face labels for each block-face (-1 for flat faces).
bool flatFaceOrEdge(const label i, const label j, const label k) const
Return true if point i,j,k addresses a block flat face or edge.
const point & blockPoint(const label i) const
Return block point for local label i.
bool vertex(const label i, const label j, const label k) const
True if point i,j,k addresses a block vertex.
label facePointLabel(const direction facei, const label i, const label j) const
Face vertex label offset for a particular i,j,k position on hex face (0-5).
const cellShape & blockShape() const noexcept
Return the block shape.
const labelVector & density() const noexcept
The mesh density (number of cells) in the i,j,k directions.
const word & zoneName() const noexcept
Return the (optional) zone name.
const blockFaceList & blockFaces() const noexcept
Return reference to the list of curved faces.
An analytical geometric cellShape.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
const labelVector & sizes() const noexcept
The (i,j,k) addressing dimensions.
A class for handling words, derived from Foam::string.
Vector< label > labelVector
Vector of labels.
vector point
Point is a vector.
PtrList< blockFace > blockFaceList
A PtrList of blockFaces.
vectorField pointField
pointField is a vectorField.