diff --git a/Mesh/meshGRegionBoundaryRecovery.cpp b/Mesh/meshGRegionBoundaryRecovery.cpp index 02f4c8f596b3091ede000e19a31f538d5e249dfc..407adb5e118deeb15250ba6cca8b4544a3b4c934 100644 --- a/Mesh/meshGRegionBoundaryRecovery.cpp +++ b/Mesh/meshGRegionBoundaryRecovery.cpp @@ -1876,63 +1876,53 @@ REAL meshGRegionBoundaryRecovery::insphere_s(REAL* pa, REAL* pb, REAL* pc, return oriB; } -REAL orient4dfast(REAL* pa, REAL* pb, REAL* pc, REAL* pd, REAL* pe, - REAL aheight, REAL bheight, REAL cheight, REAL dheight, - REAL eheight) +inline REAL orient4dfast(REAL* pa, REAL* pb, REAL* pc, REAL* pd, REAL* pe, + REAL aheight, REAL bheight, REAL cheight, + REAL dheight, REAL eheight) { - REAL aex, bex, cex, dex; - REAL aey, bey, cey, dey; - REAL aez, bez, cez, dez; - REAL aexbey, bexaey, bexcey, cexbey, cexdey, dexcey, dexaey, aexdey; - REAL aexcey, cexaey, bexdey, dexbey; - REAL aeheight, beheight, ceheight, deheight; - REAL ab, bc, cd, da, ac, bd; - REAL abc, bcd, cda, dab; - REAL det; - - aex = pa[0] - pe[0]; - bex = pb[0] - pe[0]; - cex = pc[0] - pe[0]; - dex = pd[0] - pe[0]; - aey = pa[1] - pe[1]; - bey = pb[1] - pe[1]; - cey = pc[1] - pe[1]; - dey = pd[1] - pe[1]; - aez = pa[2] - pe[2]; - bez = pb[2] - pe[2]; - cez = pc[2] - pe[2]; - dez = pd[2] - pe[2]; - aeheight = aheight - eheight; - beheight = bheight - eheight; - ceheight = cheight - eheight; - deheight = dheight - eheight; - - aexbey = aex * bey; - bexaey = bex * aey; - ab = aexbey - bexaey; - bexcey = bex * cey; - cexbey = cex * bey; - bc = bexcey - cexbey; - cexdey = cex * dey; - dexcey = dex * cey; - cd = cexdey - dexcey; - dexaey = dex * aey; - aexdey = aex * dey; - da = dexaey - aexdey; - - aexcey = aex * cey; - cexaey = cex * aey; - ac = aexcey - cexaey; - bexdey = bex * dey; - dexbey = dex * bey; - bd = bexdey - dexbey; - - abc = aez * bc - bez * ac + cez * ab; - bcd = bez * cd - cez * bd + dez * bc; - cda = cez * da + dez * ac + aez * cd; - dab = dez * ab + aez * bd + bez * da; - - det = (deheight * abc - ceheight * dab) + (beheight * cda - aeheight * bcd); + const REAL aex = pa[0] - pe[0]; + const REAL bex = pb[0] - pe[0]; + const REAL cex = pc[0] - pe[0]; + const REAL dex = pd[0] - pe[0]; + const REAL aey = pa[1] - pe[1]; + const REAL bey = pb[1] - pe[1]; + const REAL cey = pc[1] - pe[1]; + const REAL dey = pd[1] - pe[1]; + const REAL aez = pa[2] - pe[2]; + const REAL bez = pb[2] - pe[2]; + const REAL cez = pc[2] - pe[2]; + const REAL dez = pd[2] - pe[2]; + const REAL aeheight = aheight - eheight; + const REAL beheight = bheight - eheight; + const REAL ceheight = cheight - eheight; + const REAL deheight = dheight - eheight; + + const REAL aexbey = aex * bey; + const REAL bexaey = bex * aey; + const REAL ab = aexbey - bexaey; + const REAL bexcey = bex * cey; + const REAL cexbey = cex * bey; + const REAL bc = bexcey - cexbey; + const REAL cexdey = cex * dey; + const REAL dexcey = dex * cey; + const REAL cd = cexdey - dexcey; + const REAL dexaey = dex * aey; + const REAL aexdey = aex * dey; + const REAL da = dexaey - aexdey; + + const REAL aexcey = aex * cey; + const REAL cexaey = cex * aey; + const REAL ac = aexcey - cexaey; + const REAL bexdey = bex * dey; + const REAL dexbey = dex * bey; + const REAL bd = bexdey - dexbey; + + const REAL abc = aez * bc - bez * ac + cez * ab; + const REAL bcd = bez * cd - cez * bd + dez * bc; + const REAL cda = cez * da + dez * ac + aez * cd; + const REAL dab = dez * ab + aez * bd + bez * da; + + const REAL det = (deheight * abc - ceheight * dab) + (beheight * cda - aeheight * bcd); return det; }