/** * Adds or substitutes a named regular quadrilateral surface shape. * * @param lat center latitude in decimal degrees * @param lon center longitude in decimal degrees * @param w width in meters * @param h height in meters * @param id the shape identifier */ public void addSurfQuad(double lat, double lon, double w, double h, String id) { SurfaceQuad shape = new SurfaceQuad(attr, LatLon.fromDegrees(lat, lon), w, h); shape.setHighlightAttributes(attrHigh); if (id != null) { shape.setValue(AVKey.HOVER_TEXT, id); } // set this layer as custom property of the shape shape.setValue(AVKey.LAYER, this); SurfaceShape old = shapesById.put(id, shape); if (old != null) { removeRenderable(old); } addRenderable(shape); }
protected SurfaceQuad createShape() { SurfaceQuad quad = new SurfaceQuad(); quad.setDelegateOwner(this); quad.setAttributes(this.getActiveShapeAttributes()); return quad; }