com.bbn.openmap.proj
Class OrthographicView

java.lang.Object
  extended bycom.bbn.openmap.proj.Proj
      extended bycom.bbn.openmap.proj.Azimuth
          extended bycom.bbn.openmap.proj.Orthographic
              extended bycom.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