class Viewer2D extends AbstractDynamicViewer {

    @Override
    public double getAltitude()
    {
        Projection proj = getMapContext().getProjection(Viewer2D.class);
        // This calculation only applies when the projection is geographic
        if (proj instanceof AbstractGeographicProjection)
        {
            double widthStretch = myStretchFactor > 1. ? myStretchFactor : 1.;
            double metersPerModel = WGS84EarthConstants.CIRCUMFERENCE_MEAN_M / proj.getModelWidth();
            double viewWidthMeters = 0.5 * (metersPerModel * proj.getModelWidth() / getScale() / widthStretch);
            return viewWidthMeters / Math.tan(0.5 * MathUtil.QUARTER_PI);
        }
        return 0.;
    }

    public  Viewer2D(AbstractDynamicViewer.Builder builder);
    public  Viewer2D(AbstractDynamicViewer.Builder builder, boolean displayedViewer);

}