private int calculateCapacity(Geometry geometry) { int numPoints = points.size(); int prefixSize = 6; if (geometry instanceof Point) { int capacity = prefixSize + 16 * numPoints; if (geometry.is3D()) { capacity += 8 * numPoints; } if (geometry.isMeasured()) { capacity += 8 * numPoints; } return capacity; } int pointSize = 16 + (geometry.is3D() ? 8 : 0) + (geometry.isMeasured() ? 8 : 0); int size = prefixSize + 3 * 4; // prefix + 3 ints for points, shapes and // figures size += numPoints * pointSize; size += figures.size() * 5; size += shapes.size() * 9; return size; }
private int calculateCapacity(Geometry geometry) { int numPoints = points.size(); int prefixSize = 6; if (geometry instanceof Point) { int capacity = prefixSize + 16 * numPoints; if (geometry.is3D()) { capacity += 8 * numPoints; } if (geometry.isMeasured()) { capacity += 8 * numPoints; } return capacity; } int pointSize = 16 + (geometry.is3D() ? 8 : 0) + (geometry.isMeasured() ? 8 : 0); int size = prefixSize + 3 * 4; // prefix + 3 ints for points, shapes and // figures size += numPoints * pointSize; size += figures.size() * 5; size += shapes.size() * 9; return size; }
buffer.put((byte)1); buffer.put((byte)((geometry.is3D() ? 1 : 0) + (geometry.isMeasured() ? 2 : 0) + 4 // is valid + (singlePoint ? 8 : 0) if (geometry.isMeasured()) { for (Point point : points) { buffer.putDouble(point.getM());
buffer.put((byte) 1); buffer.put((byte) ((geometry.is3D() ? 1 : 0) + (geometry.isMeasured() ? 2 : 0) + 4 // is valid + (singlePoint ? 8 : 0) if (geometry.isMeasured()) { for (Point point : points) { buffer.putDouble(point.getM());