51 scalar
s = (iso_-s0)/d;
53 if (
s >= 0.5 &&
s <= 1 && p1Index != -1)
55 return snappedPoints[p1Index];
57 else if (
s >= 0.0 &&
s <= 0.5 && p0Index != -1)
59 return snappedPoints[p0Index];
63 return s*p1 + (1.0-
s)*p0;
70 return s*p1 + (1.0-
s)*p0;
129 generatePoint(snapped,s0,p0,p0Index,s1,p1,p1Index)
133 generatePoint(snapped,s0,p0,p0Index,s2,p2,p2Index)
137 generatePoint(snapped,s0,p0,p0Index,s3,p3,p3Index)
139 if (triIndex == 0x0E)
142 label sz = pts.size();
143 Swap(pts[sz-2], pts[sz-1]);
153 generatePoint(snapped,s1,p1,p1Index,s0,p0,p0Index)
157 generatePoint(snapped,s1,p1,p1Index,s3,p3,p3Index)
161 generatePoint(snapped,s1,p1,p1Index,s2,p2,p2Index)
164 if (triIndex == 0x0D)
167 label sz = pts.size();
168 Swap(pts[sz-2], pts[sz-1]);
177 generatePoint(snapped,s0,p0,p0Index,s2,p2,p2Index);
179 generatePoint(snapped,s1,p1,p1Index,s3,p3,p3Index);
183 generatePoint(snapped,s0,p0,p0Index,s3,p3,p3Index)
191 generatePoint(snapped,s1,p1,p1Index,s2,p2,p2Index)
195 if (triIndex == 0x0C)
198 label sz = pts.size();
199 Swap(pts[sz-5], pts[sz-4]);
200 Swap(pts[sz-2], pts[sz-1]);
210 generatePoint(snapped,s2,p2,p2Index,s0,p0,p0Index)
214 generatePoint(snapped,s2,p2,p2Index,s1,p1,p1Index)
218 generatePoint(snapped,s2,p2,p2Index,s3,p3,p3Index)
221 if (triIndex == 0x0B)
224 label sz = pts.size();
225 Swap(pts[sz-2], pts[sz-1]);
234 generatePoint(snapped,s0,p0,p0Index,s1,p1,p1Index);
236 generatePoint(snapped,s2,p2,p2Index,s3,p3,p3Index);
242 generatePoint(snapped,s0,p0,p0Index,s3,p3,p3Index)
248 generatePoint(snapped,s1,p1,p1Index,s2,p2,p2Index)
252 if (triIndex == 0x0A)
255 label sz = pts.size();
256 Swap(pts[sz-5], pts[sz-4]);
257 Swap(pts[sz-2], pts[sz-1]);
266 generatePoint(snapped,s0,p0,p0Index,s1,p1,p1Index);
268 generatePoint(snapped,s2,p2,p2Index,s3,p3,p3Index);
273 generatePoint(snapped,s1,p1,p1Index,s3,p3,p3Index)
281 generatePoint(snapped,s0,p0,p0Index,s2,p2,p2Index)
284 if (triIndex == 0x09)
287 label sz = pts.size();
288 Swap(pts[sz-5], pts[sz-4]);
289 Swap(pts[sz-2], pts[sz-1]);
299 generatePoint(snapped,s3,p3,p3Index,s0,p0,p0Index)
303 generatePoint(snapped,s3,p3,p3Index,s2,p2,p2Index)
307 generatePoint(snapped,s3,p3,p3Index,s1,p1,p1Index)
309 if (triIndex == 0x07)
312 label sz = pts.size();
313 Swap(pts[sz-2], pts[sz-1]);
339 label countNotFoundTets = 0;
341 forAll(mesh_.cells(), cellI)
343 if (cellCutType_[cellI] != NOTCUT)
347 const cell& cFaces = mesh_.cells()[cellI];
349 if (tet.
isA(mesh_, cellI))
354 const face& f0 = mesh_.faces()[cFaces[0]];
357 const face&
f1 = mesh_.faces()[cFaces[1]];
358 label oppositeI = -1;
371 if (mesh_.faceOwner()[cFaces[0]] == cellI)
391 snappedPoint[oppositeI],
416 snappedPoint[oppositeI],
426 label faceI = cFaces[cFaceI];
427 const face&
f = mesh_.faces()[faceI];
429 label fp0 = mesh_.tetBasePtIs()[faceI];
438 label fp =
f.fcIndex(fp0);
439 for (
label i = 2; i <
f.size(); i++)
441 label nextFp =
f.fcIndex(fp);
446 if (mesh_.faceOwner()[faceI] == cellI)
454 snappedPoint[tri[1]],
458 snappedPoint[tri[0]],
462 snappedPoint[tri[2]],
479 snappedPoint[tri[0]],
483 snappedPoint[tri[1]],
487 snappedPoint[tri[2]],
505 for (
label i = 0; i < nCells; i++)
507 triMeshCells.
append(cellI);
512 if (countNotFoundTets > 0)
515 <<
"Could not find " << countNotFoundTets
516 <<
" tet base points, which may lead to inverted triangles."
539 labelList snappedPoint(mesh_.nPoints(), -1);
562 interpolatedOldPoints_,
563 interpolationWeights_,