/** * Create new instance * * @param type the type of shape. * @param env the area that is visible. If shape is not in area then skip. * @param mt the transform to go from data to the envelope (and that should be used to transform * the shape coords) * @param hasOpacity */ public MultiPointHandler( ShapeType type, Envelope env, Rectangle screenSize, MathTransform mt, boolean hasOpacity) throws TransformException { if (mt == null) { throw new NullPointerException(); } this.type = type; this.bbox = env; this.mt = mt; screenMap = GeometryHandlerUtilities.calculateScreenSize(screenSize, hasOpacity); Point2D span = GeometryHandlerUtilities.calculateSpan(mt, 0, 0); this.spanx = span.getX(); this.spany = span.getY(); }