public class GeoReprojection extends Object implements Projection
Constructor and Description |
---|
GeoReprojection(Projection flat,
GeoProjection from,
GeoProjection to,
double sizeDownsample)
Builds a projection which maps a texture which was rendered in one GeoProjection space
into another GeoProjection space.
|
Modifier and Type | Method and Description |
---|---|
int |
getSizeX(int textureSizeX)
Returns the number of quads in the x direction that the array of data (the texture)
should be broken into.
|
int |
getSizeY(int textureSizeY) |
void |
getVertexXY(double dataFractionX,
double dataFractionY,
float[] resultXY)
Given a position in a rectangular array of data (the texture), return the
corresponding location in physical units.
|
void |
getVertexXYZ(double dataFractionX,
double dataFractionY,
float[] resultXYZ)
Given a position in a rectangular array of data (the texture), return the
corresponding location in physical units.
|
public GeoReprojection(Projection flat, GeoProjection from, GeoProjection to, double sizeDownsample)
Builds a projection which maps a texture which was rendered in one GeoProjection space into another GeoProjection space.
A common usage. This would take a texture which had been
GeoProjection from = new TangentPlane( LatLonGeo.fromDegrees( 0, 0 ) );
Axis2D axis = new Axis2D( );
Projection flat = new FlatProjection( ... );
GeoProjection to = new MercatorProjection( );
new GeoReprojection( flat, from, to );
flat
- mapping from texture space to flat projection spacefrom
- current mapping from flat projection space to lat/lon spaceto
- desired mapping from flat projection space to lat/lon spacesizeX
- the discretization of the reprojection in the x directionsizeY
- the discretization of the reprojection in the y directionpublic void getVertexXY(double dataFractionX, double dataFractionY, float[] resultXY)
Projection
This method computes the physical coordinate of the data at (textureFractionX, textureFractionY), and stores them in the resultXY output parameter.
getVertexXY
in interface Projection
dataFractionX
- a relative x index (from 0.0 to 1.0) into the data arraydataFractionY
- a relative y index (from 0.0 to 1.0) into the data arrayresultXY
- output parameter to be populated with physical coords of the datapublic void getVertexXYZ(double dataFractionX, double dataFractionY, float[] resultXYZ)
Projection
This method computes the physical coordinate of the data at (textureFractionX, textureFractionY), and stores them in the resultXYZ output parameter.
Assigning z coordinates to vertices can be useful even for 2D graphics. For example, it can be used together with z-clipping to avoid rendering some facets.
getVertexXYZ
in interface Projection
dataFractionX
- a relative x index (from 0.0 to 1.0) into the data arraydataFractionY
- a relative y index (from 0.0 to 1.0) into the data arrayresultXYZ
- output parameter to be populated with physical coords of the datapublic int getSizeX(int textureSizeX)
Projection
For more complicated projections, the value returned essentially defines the granularity or resolution of the projection (since the projection will ultimately be approximated when displayed by drawing a set of small quads).
getSizeX
in interface Projection
textureSizeX
- the length of the data array (the texture) in the x directionpublic int getSizeY(int textureSizeY)
getSizeY
in interface Projection
textureSizeY
- the length of the data array (the texture) in the y directionProjection.getSizeX( int )
Copyright © 2016 Metron, Inc.. All rights reserved.