public Geometry getGeometry() {
		if (geometry != null) {
			return geometry;
		}
		render();
		GeometryFactory gf = Helper.getGeometryFactory();
		Coordinate[] labelCorners = new Coordinate[5];
		SVGRect textBox = text.getBBox();
		labelCorners[0] = new Coordinate(textBox.getX(), textBox.getY());
		labelCorners[1] = new Coordinate(textBox.getX() + textBox.getWidth(),
				textBox.getY());
		labelCorners[2] = new Coordinate(textBox.getX() + textBox.getWidth(),
				textBox.getY() + textBox.getHeight());
		labelCorners[3] = new Coordinate(textBox.getX(), textBox.getY()
				+ textBox.getHeight());
		labelCorners[labelCorners.length-1] = labelCorners[0];
		Geometry geo = gf
				.createPolygon(gf.createLinearRing(labelCorners), null);
		Geometry[] geometries = new Geometry[2];
		geometries[0] =geo;
		geometries[1] = gf.createPoint(new Coordinate(centerX, centerY));
		GeometryCollection gc = new GeometryCollection(geometries, gf);
		geometry = gc.convexHull();
		geometry = geometry.buffer(text.getSVGContext().getFontSize()/2);
		return geometry;
	}