## com.bbn.openmap.proj
Class OrthographicView

    java.lang.Object
      com.bbn.openmap.proj.Proj
          com.bbn.openmap.proj.Azimuth
              com.bbn.openmap.proj.Orthographic
                  com.bbn.openmap.proj.OrthographicView

All Implemented Interfaces:
  java.lang.Cloneable, Projection, java.io.Serializable

public class OrthographicView
extends Orthographic

Implements the OrthographicView projection.

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class com.bbn.openmap.proj.Azimuth
`Azimuth.AzimuthVar`

Field Summary
`protected int` `dUSX`
`protected int` `dUSY`
`static java.lang.String` `OrthographicViewName` The OrthographicView name.
`static int` `OrthographicViewType` The OrthographicView type of projection.
`protected int` `sCtrX`
`protected int` `sCtrY`
`protected LatLonPoint` `uCtr`
`protected float` `uCtrLat`
`protected float` `uCtrLon`
`protected int` `uCtrX`
`protected int` `uCtrY`

Fields inherited from class com.bbn.openmap.proj.Orthographic
`cosCtrLat, epsilon, hy, NORTH_BOUNDARY, OrthographicName, OrthographicType, sinCtrLat, SOUTH_BOUNDARY, wx`

Fields inherited from class com.bbn.openmap.proj.Azimuth
`clockwise, spaceColor, world`

Fields inherited from class com.bbn.openmap.proj.Proj
`ctrLat, ctrLon, DATELINE, height, maxscale, mercator, MIN_HEIGHT, MIN_WIDTH, minscale, NORTH_POLE, NUM_DEFAULT_CIRCLE_VERTS, NUM_DEFAULT_GREAT_SEGS, pixelsPerMeter, planetPixelCircumference, planetPixelRadius, planetRadius, projID, scale, scaled_radius, SOUTH_POLE, type, width, XSCALE_THRESHOLD, XTHRESHOLD`

Constructor Summary
`OrthographicView(LatLonPoint center, float scale, int width, int height)` Construct an OrthographicView projection.

Method Summary
`protected java.awt.Point` `_forward(float phi, float lambda, java.awt.Point p, Azimuth.AzimuthVar azVar)` Forward project a point.
`protected void` `computeParameters()` Called when some fundamental parameters change.
`void` `drawBackground(java.awt.Graphics g)` Assume that the Graphics has been set with the Paint/Color needed, just render the shape of the background.
`void` `drawBackground(java.awt.Graphics2D g, java.awt.Paint paint)` Draw the background for the projection.
`LatLonPoint` `getLowerRight()` Get the lower right (southeast) point of the projection.
`LatLonPoint` `getUpperLeft()` Get the upper left (northernmost and westernmost) point of the projection.
`LatLonPoint` `inverse(int x, int y, LatLonPoint llp)` Inverse project x,y coordinates into a LatLonPoint.
`LatLonPoint` `inverse(java.awt.Point pt, LatLonPoint llp)` Inverse project a Point.
`void` `setCenter(float lat, float lon)` Set center point of projection.
`void` `setCenter(LatLonPoint pt)` Set center point of projection.
`java.lang.String` `toString()` Return stringified description of this projection.

Methods inherited from class com.bbn.openmap.proj.Orthographic
`getName, hemisphere_clip, isPlotable, normalize_latitude`

Methods inherited from class com.bbn.openmap.proj.Azimuth
`_forwardPoly, _panE, _panN, _panNE, _panNW, _panS, _panSE, _panSW, _panW, forward, forward, forward, forwardRaw, isClockwiseTraversal, overNorthPole, overPoint, overSouthPole, pan, setClockwiseTraversal`

Methods inherited from class com.bbn.openmap.proj.Proj

`clone, doPolyDispatch, equals, forward, forward, forwardArc, forwardArc, forwardArc, forwardCircle, forwardCircle, forwardCircle, forwardGreatPoly, forwardLine, forwardLine, forwardPoly, forwardPoly, forwardRaster, forwardRect, forwardRect, forwardRect, forwardRhumbPoly, getCenter, getHeight, getMaxScale, getMinScale, getPlanetPixelCircumference, getPlanetPixelRadius, getPlanetRadius, getPPM, getProjectionID, getProjectionType, getScale, getScale, getWidth, hashCode, init, inverse, inverse, isComplicatedLineType, isPlotable, makeClone, pan, panE, panE, panN, panN, panNE, panNE, panNW, panNW, panS, panS, panSE, panSE, panSW, panSW, panW, panW, setHeight, setMaxScale, setMinScale, setParms, setPlanetRadius, setPPM, setProjectionID, setScale, setWidth, wrap_longitude`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### OrthographicViewName

    public static final transient java.lang.String OrthographicViewName

  The OrthographicView name.

  See Also:
    Constant Field Values

### OrthographicViewType

    public static final transient int OrthographicViewType

  The OrthographicView type of projection.

  See Also:
    Constant Field Values

### uCtr

    protected LatLonPoint uCtr

### uCtrLat

    protected float uCtrLat

### uCtrLon

    protected float uCtrLon

### sCtrX

    protected int sCtrX

### sCtrY

    protected int sCtrY

### uCtrX

    protected int uCtrX

### uCtrY

    protected int uCtrY

### dUSX

    protected int dUSX

### dUSY

    protected int dUSY

Constructor Detail

### OrthographicView

    public OrthographicView(LatLonPoint center,
                            float scale,
                            int width,
                            int height)

  Construct an OrthographicView projection.

Parameters:
  `center` - LatLonPoint center of projection
  `scale` - float scale of projection
  `width` - width of screen
  `height` - height of screen

Method Detail

### toString

    public java.lang.String toString()

  Return stringified description of this projection.

  Overrides:
    `toString` in class `Orthographic`
  Returns:
    String
  See Also:
    `Projection.getProjectionID()`

### setCenter

    public void setCenter(float lat,
                          float lon)

  Set center point of projection.

  Overrides:
    `setCenter` in class `Proj`
  Parameters:
    `lat` - float latitude in decimal degrees
    `lon` - float longitude in decimal degrees

### setCenter

    public void setCenter(LatLonPoint pt)

  Set center point of projection.

  Overrides:
    `setCenter` in class `Proj`
  Parameters:
    `pt` - LatLonPoint

### computeParameters

    protected void computeParameters()

  Called when some fundamental parameters change.

  Each projection will decide how to respond to this change. For instance, they may need to recalculate "constant" paramters used in the forward() and inverse() calls.

  Overrides:
    `computeParameters` in class `Orthographic`

### _forward

    protected java.awt.Point _forward(float phi,
                                      float lambda,
                                      java.awt.Point p,
                                      Azimuth.AzimuthVar azVar)

  Forward project a point. If the point is not within the viewable hemisphere, return flags in AzimuthVar variable if specified.

  Overrides:
    `_forward` in class `Orthographic`
  Parameters:
    `phi` - float latitude in radians
    `lambda` - float longitude in radians
    `p` - Point
    `azVar` - AzimuthVar or null
  Returns:
    Point pt

### inverse

    public LatLonPoint inverse(int x,
                               int y,
                               LatLonPoint llp)

  Inverse project x,y coordinates into a LatLonPoint.

  Specified by:
    `inverse` in interface `Projection`
  Overrides:
    `inverse` in class `Orthographic`
  Parameters:
    `x` - integer x coordinate
    `y` - integer y coordinate
    `llp` - LatLonPoint
  Returns:
    LatLonPoint llp
  See Also:
    `Proj.inverse(Point)`

### inverse

    public LatLonPoint inverse(java.awt.Point pt,
                               LatLonPoint llp)

  Inverse project a Point.

  Specified by:
    `inverse` in interface `Projection`
  Overrides:
    `inverse` in class `Orthographic`
  Parameters:
    `pt` - x,y Point
    `llp` - resulting LatLonPoint
  Returns:
    LatLonPoint llp

### drawBackground

    public void drawBackground(java.awt.Graphics2D g,
                               java.awt.Paint paint)

  Draw the background for the projection.

  Overrides:
    `drawBackground` in class `Azimuth`
  Parameters:
    `g` - Graphics2D
    `paint` - java.awt.Paint to use for the background

### drawBackground

    public void drawBackground(java.awt.Graphics g)

  Assume that the Graphics has been set with the Paint/Color needed, just render the shape of the background.

  Overrides:
    `drawBackground` in class `Azimuth`

### getUpperLeft

    public LatLonPoint getUpperLeft()

  Description copied from class: `Orthographic`
  Get the upper left (northernmost and westernmost) point of the projection.

  Returns the upper left point (or closest equivalent) of the projection based on the center point and height and width of screen.

  Specified by:
    `getUpperLeft` in interface `Projection`
  Overrides:
    `getUpperLeft` in class `Orthographic`
  Returns:
    LatLonPoint

### getLowerRight

    public LatLonPoint getLowerRight()

  Description copied from class: `Orthographic`
  Get the lower right (southeast) point of the projection.

  Returns the lower right point (or closest equivalent) of the projection based on the center point and height and width of screen.

  This is trivial for most cylindrical projections, but much more complicated for azimuthal projections.

  Specified by:
    `getLowerRight` in interface `Projection`
  Overrides:
    `getLowerRight` in class `Orthographic`
  Returns:
    LatLonPoint

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details