void computeSymmetricDifference( CorkTriMesh in0, CorkTriMesh in1, CorkTriMesh *out ) { CorkMesh cmIn0, cmIn1; corkTriMesh2CorkMesh(in0, &cmIn0); corkTriMesh2CorkMesh(in1, &cmIn1); cmIn0.boolXor(cmIn1); corkMesh2CorkTriMesh(&cmIn0, out); }
void computeUnion( CorkTriMesh in0, CorkTriMesh in1, CorkTriMesh *out ) { CorkMesh cmIn0, cmIn1; corkTriMesh2CorkMesh(in0, &cmIn0); corkTriMesh2CorkMesh(in1, &cmIn1); cmIn0.boolUnion(cmIn1); corkMesh2CorkTriMesh(&cmIn0, out); }
void computeIntersection( CorkTriMesh in0, CorkTriMesh in1, CorkTriMesh *out ) { CorkMesh cmIn0, cmIn1; corkTriMesh2CorkMesh(in0, &cmIn0); corkTriMesh2CorkMesh(in1, &cmIn1); cmIn0.boolIsct(cmIn1); corkMesh2CorkTriMesh(&cmIn0, out); }
void computeSecond( CorkTriMesh in0, CorkTriMesh in1, CorkTriMesh *out ) { CorkMesh cmIn0, cmIn1; corkTriMesh2CorkMesh(in0, &cmIn0); corkTriMesh2CorkMesh(in1, &cmIn1); cmIn1.boolFirst(cmIn0); corkMesh2CorkTriMesh(&cmIn1, out); }
void resolveIntersections( CorkTriMesh in0, CorkTriMesh in1, CorkTriMesh *out ) { CorkMesh cmIn0, cmIn1; corkTriMesh2CorkMesh(in0, &cmIn0); corkTriMesh2CorkMesh(in1, &cmIn1); cmIn0.disjointUnion(cmIn1); cmIn0.resolveIntersections(); corkMesh2CorkTriMesh(&cmIn0, out); }