32 Foam::label Foam::blockDescriptor::edgePointsWeights
43 const labelList& blockLabels = blockShape_;
53 const blockEdge& cedge = edges_[cedgei];
55 const int cmp = cedge.compare(blockLabels[start], blockLabels[end]);
64 const lineDivide divEdge(cedge, nDiv, expand_[edgei]);
66 edgePoints[edgei] = divEdge.points();
67 edgeWeights[edgei] = divEdge.lambdaDivisions();
74 const lineDivide divEdge(cedge, nDiv, expand_[edgei].
inv());
77 const scalarList& d = divEdge.lambdaDivisions();
79 edgePoints[edgei].
setSize(p.size());
80 edgeWeights[edgei].setSize(d.size());
82 label pn = p.size() - 1;
85 edgePoints[edgei][
pi] = p[pn -
pi];
86 edgeWeights[edgei][
pi] = 1 - d[pn -
pi];
99 blockEdges::lineEdge(blockPoints, start, end),
104 edgePoints[edgei] = divEdge.points();
105 edgeWeights[edgei] = divEdge.lambdaDivisions();
119 label nCurvedEdges = 0;
122 const label ni = density_.
x();
123 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 0, 0, 1, ni);
124 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 1, 3, 2, ni);
125 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 2, 7, 6, ni);
126 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 3, 4, 5, ni);
129 const label nj = density_.
y();
130 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 4, 0, 3, nj);
131 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 5, 1, 2, nj);
132 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 6, 5, 6, nj);
133 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 7, 4, 7, nj);
136 const label nk = density_.
z();
137 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 8, 0, 4, nk);
138 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 9, 1, 5, nk);
139 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 10, 2, 6, nk);
140 nCurvedEdges += edgePointsWeights(edgePoints, edgeWeights, 11, 3, 7, nk);
label edgesPointsWeights(pointField(&edgePoints)[12], scalarList(&edgeWeights)[12]) const
Calculate the points and weights for all edges.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
pointField points(const pointField &meshPoints) const
Return the points corresponding to this cellShape.
vectorField pointField
pointField is a vectorField.
List< scalar > scalarList
A List of scalars.
List< label > labelList
A List of labels.
void setSize(const label)
Reset size of List.