67 d[i] = ((tri[i] -
p.refPoint()) &
p.normal());
69 if (
mag(d[i]) < tol*len)
95 || ((nPos == 2) && (nCoPlanar == 1))
96 || ((nPos == 1) && (nCoPlanar == 2))
111 else if ((nPos == 2) && (nCoPlanar == 0))
134 point p01 = planeIntersection(d, tri, i0, i1);
135 point p02 = planeIntersection(d, tri, i0, i2);
139 setTriPoints(tri[i1], tri[i2], p02, nTris, tris);
140 setTriPoints(tri[i1], p02, p01, nTris, tris);
167 point p01 = planeIntersection(d, tri, i1, i0);
168 point p02 = planeIntersection(d, tri, i2, i0);
171 setTriPoints(tri[i0], p01, p02, nTris, tris);
194 point p01 = planeIntersection(d, tri, i1, i0);
199 setTriPoints(tri[i0], p01, tri[i2], nTris, tris);
203 setTriPoints(tri[i0], tri[i2], p01, nTris, tris);
231 label nWorkTris1 = 0;
234 label nWorkTris2 = 0;
239 scalar t =
sqrt(triArea(src));
246 scalar
s =
mag(tgt[1] - tgt[0]);
247 plane pl0(tgt[0], tgt[1], tgt[1] +
s*
n);
248 triSliceWithPlane(src, pl0, workTris1, nWorkTris1, t);
261 scalar
s =
mag(tgt[2] - tgt[1]);
262 plane pl1(tgt[1], tgt[2], tgt[2] +
s*
n);
266 for (
label i = 0; i < nWorkTris1; i++)
268 triSliceWithPlane(workTris1[i], pl1, workTris2, nWorkTris2, t);
282 scalar
s =
mag(tgt[2] - tgt[0]);
283 plane pl2(tgt[2], tgt[0], tgt[0] +
s*
n);
287 for (
label i = 0; i < nWorkTris2; i++)
289 triSliceWithPlane(workTris2[i], pl2, workTris1, nWorkTris1, t);
300 for (
label i = 0; i < nWorkTris1; i++)
302 area += triArea(workTris1[i]);
344 triangleFan(faceA, trisA);
345 triangleFan(faceB, trisB);
359 <<
"Unknown triangulation mode enumeration"
365 scalar totalArea = 0.0;
368 triPoints tpA = getTriPoints(pointsA_, trisA[tA],
false);
374 triPoints tpB = getTriPoints(pointsB_, trisB[tB], !reverseB_);
378 totalArea += triangleIntersect(tpA, tpB,
n);