MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / insphere

Function insphere

tools/Predicates/predicates.c:4158–4263  ·  view source on GitHub ↗
(pa, pb, pc, pd, pe)

Source from the content-addressed store, hash-verified

4156}
4157
4158REAL insphere(pa, pb, pc, pd, pe)
4159REAL *pa;
4160REAL *pb;
4161REAL *pc;
4162REAL *pd;
4163REAL *pe;
4164{
4165 REAL aex, bex, cex, dex;
4166 REAL aey, bey, cey, dey;
4167 REAL aez, bez, cez, dez;
4168 REAL aexbey, bexaey, bexcey, cexbey, cexdey, dexcey, dexaey, aexdey;
4169 REAL aexcey, cexaey, bexdey, dexbey;
4170 REAL alift, blift, clift, dlift;
4171 REAL ab, bc, cd, da, ac, bd;
4172 REAL abc, bcd, cda, dab;
4173 REAL aezplus, bezplus, cezplus, dezplus;
4174 REAL aexbeyplus, bexaeyplus, bexceyplus, cexbeyplus;
4175 REAL cexdeyplus, dexceyplus, dexaeyplus, aexdeyplus;
4176 REAL aexceyplus, cexaeyplus, bexdeyplus, dexbeyplus;
4177 REAL det;
4178 REAL permanent, errbound;
4179
4180 aex = pa[0] - pe[0];
4181 bex = pb[0] - pe[0];
4182 cex = pc[0] - pe[0];
4183 dex = pd[0] - pe[0];
4184 aey = pa[1] - pe[1];
4185 bey = pb[1] - pe[1];
4186 cey = pc[1] - pe[1];
4187 dey = pd[1] - pe[1];
4188 aez = pa[2] - pe[2];
4189 bez = pb[2] - pe[2];
4190 cez = pc[2] - pe[2];
4191 dez = pd[2] - pe[2];
4192
4193 aexbey = aex * bey;
4194 bexaey = bex * aey;
4195 ab = aexbey - bexaey;
4196 bexcey = bex * cey;
4197 cexbey = cex * bey;
4198 bc = bexcey - cexbey;
4199 cexdey = cex * dey;
4200 dexcey = dex * cey;
4201 cd = cexdey - dexcey;
4202 dexaey = dex * aey;
4203 aexdey = aex * dey;
4204 da = dexaey - aexdey;
4205
4206 aexcey = aex * cey;
4207 cexaey = cex * aey;
4208 ac = aexcey - cexaey;
4209 bexdey = bex * dey;
4210 dexbey = dex * bey;
4211 bd = bexdey - dexbey;
4212
4213 abc = aez * bc - bez * ac + cez * ab;
4214 bcd = bez * cd - cez * bd + dez * bc;
4215 cda = cez * da + dez * ac + aez * cd;

Callers 2

is_delaunayMethod · 0.85
init_predicatesFunction · 0.85

Calls 1

insphereadaptFunction · 0.85

Tested by

no test coverage detected