List of usage examples for org.apache.poi.xdgf.usermodel XDGFShape isShape1D
public boolean isShape1D()
From source file:com.bbn.poi.xdgf.parsers.ShapeData.java
License:Apache License
public ShapeData(XDGFShape shape, AffineTransform globalTransform) { Path2D shapeBounds;//from www.jav a2 s. co m Path2D path = shape.getPath(); // some 1d shapes don't have a path associated with them, // if they have subshapes... if (shape.isShape1D() && path != null) { path1D = path; path1D.transform(globalTransform); path1D = GeomUtils.roundPath(path1D); hasGeometry = true; calculate1dEndpoints(); shapeBounds = path1D; // use path as bounds } else { // calculate bounding boxes + other geometry information we'll need later shapeBounds = shape.getBoundsAsPath(); shapeBounds.transform(globalTransform); shapeBounds = GeomUtils.roundPath(shapeBounds); path2D = shapeBounds; hasGeometry = (path != null); } this.bounds = shapeBounds.getBounds2D(); this.shape = shape; this.shapeId = shape.getID(); this.rtreeBounds = SpatialTools.convertRect(this.bounds); this.area = this.rtreeBounds.area(); this.isInteresting = isInteresting(shape); this.lineColor = shape.getLineColor(); this.linePattern = shape.getLinePattern(); hasText = shape.hasText() && !shape.getTextAsString().isEmpty(); isTextbox = hasText && !shape.hasMaster() && !shape.hasMasterShape(); if (hasText) textCenter = globalTransform.transform(shape.getText().getTextCenter(), null); }
From source file:com.bbn.poi.xdgf.parsers.ShapeData.java
License:Apache License
public static boolean isInteresting(XDGFShape shape) { return !shape.getSymbolName().isEmpty() || shape.isShape1D() || shape.hasMaster() || shape.hasText(); }
From source file:com.bbn.poi.xdgf.parsers.VisioPageParser.java
License:Apache License
protected void collectShapes() { pageContents.visitShapes(new ShapeVisitor() { @Override//from w ww .j ava2s .c om public org.apache.poi.xdgf.usermodel.shape.ShapeVisitorAcceptor getAcceptor() { return new ShapeDataAcceptor(); }; @Override public void visit(XDGFShape shape, AffineTransform globalTransform, int level) { ShapeData shapeData = new ShapeData(shape, globalTransform); if (shapeData.hasText && reassignTextNodeToParent(shape, shapeData)) { return; } String id = pageId + ": " + shape.getID(); Vertex vertex = graph.addVertex(id); shapeData.vertex = vertex; // useful properties for later... vertex.setProperty("label", shape.getTextAsString()); vertex.setProperty("shapeId", shape.getID()); vertex.setProperty("group", ""); vertex.setProperty("groupId", ""); vertex.setProperty("inSecondaryGroup", false); vertex.setProperty("is1d", shape.isShape1D()); vertex.setProperty("name", shape.getName()); vertex.setProperty("pageName", pageName); vertex.setProperty("symbolName", shape.getSymbolName()); vertex.setProperty("type", shape.getShapeType()); // this isn't actually accurate //vertex.setProperty("visible", shape.isVisible()); // local coordinates vertex.setProperty("x", shapeData.getCenterX()); vertex.setProperty("y", shapeData.getCenterY()); helper.onCreate(shapeData, shape); shapesMap.put(shape.getID(), shapeData); shapes.add(shapeData); } }); }