public static <V, E> Double getGraphScale(VisualizationServer<V, E> vv) {
		RenderContext<V, E> context = vv.getRenderContext();
		MultiLayerTransformer transformer = context.getMultiLayerTransformer();
		MutableTransformer layoutTransformer = transformer.getTransformer(Layer.LAYOUT);
		MutableTransformer viewTransformer = transformer.getTransformer(Layer.VIEW);
		double modelScale = layoutTransformer.getScale();
		double viewScale = viewTransformer.getScale();
		return modelScale * viewScale;
	}
Transforms the given edge loop shape to graph space, which includes updating
the size and location of the loop to be relative to the vertex.

@param edgeLoopShape The shape to transform
@param vertexShape The shape of the vertex for which the edge is being created
@param x The x coordinate of the vertex
@param y The y coordinate of the vertex
@return the transformed edge loop shape
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/GraphViewerUtils.java