@Override public void writeExternal(final ObjectOutput out) throws IOException { super.writeExternal(out); final PolygonRegionOfInterest roi = getRegionOfInterest(); final int vertexCount = roi.getVertexCount(); out.writeInt(vertexCount); for (int i = 0; i < vertexCount; i++) { final RealLocalizable vertex = roi.getVertex(i); out.writeDouble(vertex.getDoublePosition(0)); out.writeDouble(vertex.getDoublePosition(1)); } }
@Override public void writeExternal(final ObjectOutput out) throws IOException { super.writeExternal(out); final PolygonRegionOfInterest roi = getRegionOfInterest(); final int vertexCount = roi.getVertexCount(); out.writeInt(vertexCount); for (int i = 0; i < vertexCount; i++) { final RealLocalizable vertex = roi.getVertex(i); out.writeDouble(vertex.getDoublePosition(0)); out.writeDouble(vertex.getDoublePosition(1)); } }
@Override public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { super.readExternal(in); final PolygonRegionOfInterest roi = getRegionOfInterest(); while (roi.getVertexCount() > 0) { roi.removeVertex(0); } final int vertexCount = in.readInt(); for (int i = 0; i < vertexCount; i++) { final RealPoint vertex = new RealPoint(new double[] { in.readDouble(), in.readDouble() }); roi.addVertex(i, vertex); } }
@Override public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { super.readExternal(in); final PolygonRegionOfInterest roi = getRegionOfInterest(); while (roi.getVertexCount() > 0) { roi.removeVertex(0); } final int vertexCount = in.readInt(); for (int i = 0; i < vertexCount; i++) { final RealPoint vertex = new RealPoint(new double[] { in.readDouble(), in.readDouble() }); roi.addVertex(i, vertex); } }
private Roi createPointRoi(final PolygonOverlay overlay) { PolygonRegionOfInterest region = overlay.getRegionOfInterest(); int nPoints = region.getVertexCount(); float[] xPts = new float[nPoints]; float[] yPts = new float[nPoints]; for (int i = 0; i < nPoints; i++) { RealLocalizable vertex = region.getVertex(i); xPts[i] = vertex.getFloatPosition(0); yPts[i] = vertex.getFloatPosition(1); } PointRoi roi = new PointRoi(xPts, yPts, nPoints); assignPropertiesToRoi(roi, overlay); return roi; }
x_intercepts[ 1 ] = Double.MAX_VALUE; int count_to_left = 0; for ( int i = 0; i < getVertexCount(); i++ )
@Override public void updateFigure(final OverlayView view, final BezierFigure figure) { super.updateFigure(view, figure); final PolygonOverlay polygonOverlay = downcastOverlay(view.getData()); final PolygonRegionOfInterest roi = polygonOverlay.getRegionOfInterest(); final int vertexCount = roi.getVertexCount(); while (figure.getNodeCount() > vertexCount) { figure.removeNode(vertexCount); } for (int i = 0; i < vertexCount; i++) { final RealLocalizable vertex = roi.getVertex(i); final double x = vertex.getDoublePosition(0); final double y = vertex.getDoublePosition(1); if (figure.getNodeCount() == i) { figure.addNode(new Node(x, y)); } else { final Node node = figure.getNode(i); node.mask = 0; Arrays.fill(node.x, x); Arrays.fill(node.y, y); } } }
private Roi createPolygonRoi(final PolygonOverlay overlay) { final PolygonRegionOfInterest region = overlay.getRegionOfInterest(); final int vertexCount = region.getVertexCount(); if (vertexCount == 1) return createPointRoi(overlay); if (vertexCount == 2) return createLineRoi(overlay); final float[] x = new float[vertexCount]; final float[] y = new float[vertexCount]; for (int v = 0; v < vertexCount; v++) { final RealLocalizable vertex = region.getVertex(v); x[v] = vertex.getFloatPosition(0); y[v] = vertex.getFloatPosition(1); } final Roi roi = new PolygonRoi(x, y, vertexCount, Roi.POLYGON); assignPropertiesToRoi(roi, overlay); return roi; }
final PolygonRegionOfInterest roi = poverlay.getRegionOfInterest(); final int nodeCount = figure.getNodeCount(); while (roi.getVertexCount() > nodeCount) { roi.removeVertex(nodeCount); if (log != null) log.debug("Removed node from overlay."); final Node node = figure.getNode(i); final double[] position = new double[] { node.x[0], node.y[0] }; if (roi.getVertexCount() == i) { roi.addVertex(i, new RealPoint(position)); if (log != null) log.debug("Added node to overlay");