/** * Given a OMGeometry, it calls generate/regenerate on it, and then adds the GeneralPath shape * within it to the OMGeometryList shape object. Calls setShape() with the new current shape, * which is a synchronized method. * * @param geometry the geometry to append * @param p the current projection * @param forceProject flag to force re-generation * @deprecated use the new paradigm from the other updateShape */ protected void updateShape(OMGeometry geometry, Projection p, boolean forceProject) { if (geometry.isVisible()) { if (forceProject) { geometry.generate(p); } else { geometry.regenerate(p); } setShape(appendShapeEdge(getShape(), geometry.getShape(), connectParts)); } }
/** * Given an OMGeometry, check its visibility and if visible, generate it if required and add the * result to the provided current shape. Does not call setShape(). * * @param currentShape the current shape * @param geometry the geometry to test * @param p the current projection * @param forceProject flag to force regeneration * @return the newly combined shape. */ protected GeneralPath updateShape( GeneralPath currentShape, OMGeometry geometry, Projection p, boolean forceProject) { GeneralPath newShapePart = null; if (geometry != null && geometry.isVisible()) { if (forceProject) { geometry.generate(p); } else { geometry.regenerate(p); } newShapePart = geometry.getShape(); } return appendShapeEdge(currentShape, newShapePart, connectParts); }