/** * Flip triangles as necessary * * @param flippedA Bit set for triangles to test * @param flippedB Bit set to mark triangles as done */ int flipTriangles(long[] flippedA, long[] flippedB) { final int size = tris.size(); int numflips = 0; BitsUtil.zeroI(flippedB); if(flippedA == null) { for(int i = 0; i < size; i++) { if(flipTriangle(i, flippedB) > 0) { numflips += 2; } } } else { for(int i = BitsUtil.nextSetBit(flippedA, 0); i > -1; i = BitsUtil.nextSetBit(flippedA, i + 1)) { if(flipTriangle(i, flippedB) > 0) { numflips += 2; } } } return numflips; }
/** * Flip triangles as necessary * * @param flippedB Bit set to mark triangles as done */ int flipTriangles(long[] flippedB) { final int size = tris.size(); int numflips = 0; BitsUtil.zeroI(flippedB); for(int i = 0; i < size; i++) { if(!BitsUtil.get(flippedB, i) && flipTriangle(i, flippedB) >= 0) { numflips += 2; } } if(LOG.isDebuggingFinest()) { LOG.debugFinest("Flips: " + numflips); } return numflips; }
/** * Flip triangles as necessary * * @param flippedB Bit set to mark triangles as done */ int flipTriangles(long[] flippedB) { final int size = tris.size(); int numflips = 0; BitsUtil.zeroI(flippedB); for(int i = 0; i < size; i++) { if(!BitsUtil.get(flippedB, i) && flipTriangle(i, flippedB) >= 0) { numflips += 2; } } if(LOG.isDebuggingFinest()) { LOG.debugFinest("Flips: " + numflips); } return numflips; }
/** * Flip triangles as necessary * * @param flippedA Bit set for triangles to test * @param flippedB Bit set to mark triangles as done */ int flipTriangles(long[] flippedA, long[] flippedB) { int numflips = 0; BitsUtil.zeroI(flippedB); for(int i = BitsUtil.nextSetBit(flippedA, 0); i > -1; i = BitsUtil.nextSetBit(flippedA, i + 1)) { if(!BitsUtil.get(flippedB, i) && flipTriangle(i, flippedB) >= 0) { numflips += 2; } } if(LOG.isDebuggingFinest()) { LOG.debugFinest("Flips: " + numflips); } return numflips; }
/** * Flip triangles as necessary * * @param flippedA Bit set for triangles to test * @param flippedB Bit set to mark triangles as done */ int flipTriangles(long[] flippedA, long[] flippedB) { int numflips = 0; BitsUtil.zeroI(flippedB); for(int i = BitsUtil.nextSetBit(flippedA, 0); i > -1; i = BitsUtil.nextSetBit(flippedA, i + 1)) { if(!BitsUtil.get(flippedB, i) && flipTriangle(i, flippedB) >= 0) { numflips += 2; } } if(LOG.isDebuggingFinest()) { LOG.debugFinest("Flips: " + numflips); } return numflips; }