/** * The visitor will first visit this shape, then it's children * * This is useful because exceptions will be marked with the shapes as it * propagates up the shape hierarchy. */ public void visitShapes(ShapeVisitor visitor, AffineTransform tr, int level) { tr = (AffineTransform) tr.clone(); tr.concatenate(getParentTransform()); try { if (visitor.accept(this)) { visitor.visit(this, tr, level); } if (_shapes != null) { for (XDGFShape shape : _shapes) { shape.visitShapes(visitor, tr, level + 1); } } } catch (StopVisitingThisBranch e) { // intentionally empty } catch (POIXMLException e) { throw XDGFException.wrap(this.toString(), e); } }
/** * The visitor will first visit this shape, then it's children * * This is useful because exceptions will be marked with the shapes as it * propagates up the shape hierarchy. */ public void visitShapes(ShapeVisitor visitor, AffineTransform tr, int level) { tr = (AffineTransform) tr.clone(); tr.concatenate(getParentTransform()); try { if (visitor.accept(this)) { visitor.visit(this, tr, level); } if (_shapes != null) { for (XDGFShape shape : _shapes) { shape.visitShapes(visitor, tr, level + 1); } } } catch (StopVisitingThisBranch e) { // intentionally empty } catch (POIXMLException e) { throw XDGFException.wrap(this.toString(), e); } }