|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.bbn.openmap.proj.Proj | +--com.bbn.openmap.proj.Azimuth
Base of all azimuthal projections.
Orthographic
,
Gnomonic
,
Serialized FormNested Class Summary | |
protected static class |
Azimuth.AzimuthVar
|
Field Summary | |
protected boolean |
clockwise
Traverse poly vertices in clockwise order. |
protected static java.awt.Color |
spaceColor
|
protected java.awt.Point |
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 | |
Azimuth(LatLonPoint center,
float scale,
int width,
int height,
int type)
Construct an azimuthal projection. |
Method Summary | |
protected abstract java.awt.Point |
_forward(float lat,
float lon,
java.awt.Point pt,
Azimuth.AzimuthVar azVar)
Forward project a point. |
protected java.util.ArrayList |
_forwardPoly(float[] rawllpts,
int ltype,
int nsegs,
boolean isFilled)
Forward project a lat/lon Poly. |
protected void |
_panE()
Pan the map east. |
protected void |
_panN()
Pan the map north. |
protected void |
_panNE()
Pan the map northeast. |
protected void |
_panNW()
Pan the map northwest. |
protected void |
_panS()
Pan the map south. |
protected void |
_panSE()
Pan the map southeast. |
protected void |
_panSW()
Pan the map southwest. |
protected void |
_panW()
Pan the map west. |
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. |
java.awt.Point |
forward(float lat,
float lon,
java.awt.Point pt)
Forward project a point. |
java.awt.Point |
forward(float lat,
float lon,
java.awt.Point pt,
boolean isRadian)
Forward project a point. |
java.awt.Point |
forward(LatLonPoint llp,
java.awt.Point pt)
Forward project a point. |
boolean |
forwardRaw(float[] rawllpts,
int rawoff,
int[] xcoords,
int[] ycoords,
boolean[] visible,
int copyoff,
int copylen)
Forward project a raw array of radian points. |
java.lang.String |
getName()
Get the name string of the projection. |
boolean |
isClockwiseTraversal()
Get poly-traversal setting (clockwise or counter-clockwise). |
boolean |
overNorthPole()
Checks if the north pole is visible on the screen. |
boolean |
overPoint(float lat,
float lon)
Checks if the point is visible on the screen. |
boolean |
overSouthPole()
Checks if the south pole is visible on the screen. |
void |
pan(float Az)
Pan the map/projection. |
void |
setClockwiseTraversal(boolean value)
Toggle clockwise traversal of poly vertices. |
java.lang.String |
toString()
Return stringified description of this projection. |
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, inverse, inverse, isComplicatedLineType, isPlotable, makeClone, normalize_latitude, pan, panE, panE, panN, panN, panNE, panNE, panNW, panNW, panS, panS, panSE, panSE, panSW, panSW, panW, panW, setCenter, setCenter, 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 |
Methods inherited from interface com.bbn.openmap.proj.Projection |
getLowerRight, getUpperLeft, inverse, inverse, isPlotable |
Field Detail |
protected java.awt.Point world
protected boolean clockwise
protected static java.awt.Color spaceColor
Constructor Detail |
public Azimuth(LatLonPoint center, float scale, int width, int height, int type)
center
- LatLonPoint center of projectionscale
- float scale of projectionwidth
- width of screenheight
- height of screentype
- projection typeMethod Detail |
public java.lang.String toString()
toString
in class Proj
Projection.getProjectionID()
protected void computeParameters()
Each projection will decide how to respond to this change. For instance, they may need to recalculate "constant" parameters used in the forward() and inverse() calls.
computeParameters
in class Proj
public void setClockwiseTraversal(boolean value)
value
- booleanpublic boolean isClockwiseTraversal()
public final java.awt.Point forward(LatLonPoint llp, java.awt.Point pt)
llp
- LatLonPoint to be projectedpt
- Resulting XY Point
public final java.awt.Point forward(float lat, float lon, java.awt.Point pt)
lat
- float latitude in decimal degreeslon
- float longitude in decimal degreespt
- Resulting XY Point
public final java.awt.Point forward(float lat, float lon, java.awt.Point pt, boolean isRadian)
lat
- float latitude in radianslon
- float longitude in radianspt
- Resulting XY PointisRadian
- placeholder argument indicating that lat,lon
arguments are in radians (can be true or false)
Projection.forward(float,float,Point)
protected abstract java.awt.Point _forward(float lat, float lon, java.awt.Point pt, Azimuth.AzimuthVar azVar)
lat
- latitude in radianslon
- longitude in radianspt
- PointazVar
- AzimuthVar or null
public void pan(float Az)
pan(?180, c)
pan south
pan(-90, c)
pan west
pan(0, c)
pan north
pan(90, c)
pan east
pan
in interface Projection
pan
in class Proj
Az
- azimuth "east of north" in decimal degrees:
-180 <= Az <= 180
protected void _panNW()
protected void _panN()
protected void _panNE()
protected void _panE()
protected void _panSE()
protected void _panS()
protected void _panSW()
protected void _panW()
public boolean overNorthPole()
public boolean overSouthPole()
public boolean overPoint(float lat, float lon)
lat
- latitude in radianslon
- longitude in radians
protected java.util.ArrayList _forwardPoly(float[] rawllpts, int ltype, int nsegs, boolean isFilled)
_forwardPoly
in class Proj
rawllpts
- float[] of lat,lon,lat,lon,... in RADIANS!ltype
- line type (straight, rhumbline, greatcircle)nsegs
- number of segment points (only for greatcircle or
rhumbline line types, and if < 1, this value is
generated internally)isFilled
- filled poly?
public boolean forwardRaw(float[] rawllpts, int rawoff, int[] xcoords, int[] ycoords, boolean[] visible, int copyoff, int copylen)
It does populate a visible array indicating whether the points are visible on the projected view of the world.
rawllpts
- array of lat,lon,... in radiansrawoff
- offset into rawllptsxcoords
- x coordinatesycoords
- y coordinatesvisible
- coordinates visible?copyoff
- offset into x,y,visible arrayscopylen
- number of coordinates (coordinate arrays should
be at least this long, rawllpts should be at least twice
as long).
public void drawBackground(java.awt.Graphics2D g, java.awt.Paint paint)
drawBackground
in class Proj
g
- Graphics2Dpaint
- java.awt.Paint to use for the backgroundpublic void drawBackground(java.awt.Graphics g)
drawBackground
in class Proj
public java.lang.String getName()
getName
in interface Projection
getName
in class Proj
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |