org.stellarium.projector
Class DefaultProjector

java.lang.Object
  extended by org.stellarium.projector.DefaultProjector
All Implemented Interfaces:
Projector
Direct Known Subclasses:
CustomProjector

public class DefaultProjector
extends java.lang.Object
implements Projector

Projector.

Version:
0.8.2
Author:
Jérôme Beau, Fred Simon
See Also:
projector.cpp, projector.h

Nested Class Summary
protected  class DefaultProjector.AutoZoom
          Struct used to store data for auto mov
(package private)  class DefaultProjector.ProjectEarthEqu
          Actual class pointing to the function used as callback
(package private)  class DefaultProjector.ProjectJ2000
           
(package private)  class DefaultProjector.ProjectLocal
          Local projection strategy
static class DefaultProjector.PROJECTOR_MASK_TYPE
           
 
Nested classes/interfaces inherited from interface org.stellarium.projector.Projector
Projector.ProjFunc, Projector.TYPE
 
Field Summary
(package private)  javax.vecmath.Point3d center
          Viewport center in screen pixel
(package private)  boolean flagAutoZoom
          Define if autozoom is on or off
(package private)  double flip_horz
           
(package private)  double flip_vert
           
(package private)  double fov
          Field of view in degree
(package private)  boolean gravityLabels
          should label text align with the horizon?
(package private)  javax.vecmath.Matrix4d invMatEarthEquToEye
          Inverse of mat_projection*mat_earth_equ_to_eye
(package private)  javax.vecmath.Matrix4d invMatHelioToEye
          Inverse of mat_projection*mat_helio_to_eye
(package private)  javax.vecmath.Matrix4d invMatJ2000ToEye
          Inverse of mat_projection*mat_j2000_to_eye
(package private)  javax.vecmath.Matrix4d invMatLocalToEye
          Inverse of mat_projection*mat_local_to_eye
(package private)  DefaultProjector.PROJECTOR_MASK_TYPE maskType
          The current projector mask
(package private)  javax.vecmath.Matrix4d matEarthEquToEye
          Modelview Matrix for earth equatorial projection
(package private)  javax.vecmath.Matrix4d matHelioToEye
          Modelview Matrix for earth equatorial projection
(package private)  javax.vecmath.Matrix4d matJ2000ToEye
          for precessed equ coords
(package private)  javax.vecmath.Matrix4d matLocalToEye
          Modelview Matrix for earth equatorial projection
(package private)  javax.vecmath.Matrix4d matProjection
          Projection matrix
(package private)  double maxFov
          Maximum field of view in degree
(package private)  double minFov
          Minimum field of view in degree
(package private)  Projector.ProjFunc projectEarthEquFunc
           
(package private)  Projector.ProjFunc projectJ2000Func
           
(package private)  Projector.ProjFunc projectLocalFunc
           
(package private)  Rectangle4i vecViewport
          Viewport parameters
(package private)  double view_scaling_factor
           
(package private)  double zFar
          Near and far clipping planes
(package private)  double zNear
          Near and far clipping planes
(package private)  DefaultProjector.AutoZoom zoomMove
          Current auto movement
 
Constructor Summary
protected DefaultProjector(Rectangle4i viewport)
           
protected DefaultProjector(Rectangle4i viewport, double fov)
           
 
Method Summary
 void applyViewport()
          Set the current openGL viewport to projector's viewport
 void changeFov(double deltaFov)
           
 boolean checkInViewport(javax.vecmath.Point3d pos)
           
static DefaultProjector create(Projector.TYPE type, Rectangle4i viewport, double fov)
           
 void drawViewportShape()
          Fill with black around the circle
 double getAimFov()
          If is currently zooming, return the target FOV, otherwise return current FOV
 double[] getClippingPlanes()
           
 boolean getFlagGravityLabels()
           
 boolean getFlipHorz()
           
 boolean getFlipVert()
           
 double getFov()
          Get the Field of View in degree
 DefaultProjector.PROJECTOR_MASK_TYPE getMaskType()
           
 double getMaxFov()
          Get the maximum Field of View in degree
 Projector.ProjFunc getProjectEarthEquFunc()
           
 Projector.ProjFunc getProjectJ2000Func()
           
 Projector.ProjFunc getProjectLocalFunc()
           
 double getRadPerPixel()
           
 Projector.TYPE getType()
           
 Rectangle4i getViewport()
           
 int getViewportHeight()
           
 int getViewportPosX()
           
 int getViewportPosY()
           
 int getViewportWidth()
           
protected  void initProjectMatrix()
          Init the viewing matrix, setting the field of view, the clipping planes, and screen ratio The function is a reimplementation of gluPerspective
static java.lang.String maskTypeToString(DefaultProjector.PROJECTOR_MASK_TYPE type)
           
 boolean needGlFrontFaceCW()
           
 void printGravity180(SFontIfc font, double x, double y, java.lang.String ws, boolean speedOptimize, float xshift, float yshift)
           
 void printGravity180(SFontIfc font, double x, double y, java.lang.String ws, float xshift, float yshift)
          Method with speed optimization by default
 boolean projectCustom(javax.vecmath.Tuple3d v, javax.vecmath.Tuple3d win, javax.vecmath.Matrix4d mat)
           
 boolean projectCustomCheck(javax.vecmath.Tuple3d v, javax.vecmath.Point3d win, javax.vecmath.Matrix4d mat)
           
 boolean projectCustomLineCheck(javax.vecmath.Point3d v1, javax.vecmath.Point3d win1, javax.vecmath.Point3d v2, javax.vecmath.Point3d win2, javax.vecmath.Matrix4d mat)
          project two points and make sure both are in front of viewer and that at least one is on screen
 boolean projectEarthEqu(javax.vecmath.Point3d v, javax.vecmath.Point3d win)
          Return in vector "win" the projection on the screen of point v in earth equatorial coordinate according to the current modelview and projection matrices (reimplementation of gluProject) Return true if the z screen coordinate is < 1, ie if it isn't behind the observer except for the _check version which return true if the projected point is inside the screen
 boolean projectEarthEquCheck(javax.vecmath.Point3d v, javax.vecmath.Point3d win)
           
 boolean projectEarthEquLineCheck(javax.vecmath.Point3d v1, javax.vecmath.Point3d win1, javax.vecmath.Point3d v2, javax.vecmath.Point3d win2)
           
 boolean projectHelio(javax.vecmath.Tuple3d v, javax.vecmath.Tuple3d win)
           
 boolean projectHelioCheck(javax.vecmath.Point3d v, javax.vecmath.Point3d win)
           
 boolean projectHelioLineCheck(javax.vecmath.Point3d v1, javax.vecmath.Point3d win1, javax.vecmath.Point3d v2, javax.vecmath.Point3d win2)
           
 boolean projectJ2000(javax.vecmath.Point3d v, javax.vecmath.Point3d win)
           
 boolean projectJ2000Check(javax.vecmath.Tuple3d v, javax.vecmath.Point3d win)
           
 boolean projectJ2000LineCheck(javax.vecmath.Point3d v1, javax.vecmath.Point3d win1, javax.vecmath.Point3d v2, javax.vecmath.Point3d win2)
           
 boolean projectLocal(javax.vecmath.Point3d v, javax.vecmath.Point3d win)
          Same function with input vector v in local coordinate
 boolean projectLocalCheck(javax.vecmath.Point3d v, javax.vecmath.Point3d win)
           
 void resetPerspectiveProjection()
          Reset the previous projection mode after a call to setOrthographicProjection()
 void sCylinder(double radius, double height, int slices, int stacks, javax.vecmath.Matrix4d mat, boolean orientInside)
          Reimplementation of gluCylinder : glu is overrided for non standard projection
 void sDisk(float radius, int slices, int stacks, javax.vecmath.Matrix4d mat, boolean orientInside)
          Draw a disk with a special texturing mode having texture center at center
 void setClippingPlanes(double znear, double zfar)
           
 void setFlagGravityLabels(boolean gravityLabels)
           
 void setFlipHorz(boolean flip)
           
 void setFlipVert(boolean flip)
           
 void setFov(double f)
          Set the Field of View in degree
 void setMaskType(DefaultProjector.PROJECTOR_MASK_TYPE maskType)
           
 void setMaxFov(double max)
          Set the maximum Field of View in degree
 void setModelviewMatrices(javax.vecmath.Matrix4d _matEarthEquToEye, javax.vecmath.Matrix4d _matHelioToEye, javax.vecmath.Matrix4d _matLocalToEye, javax.vecmath.Matrix4d _matJ2000ToEye)
          Set the standard modelview matrices used for projection
 void setOrthographicProjection()
          Set the drawing mode in 2D for drawing inside the viewport only.
 void setViewport(int x, int y, int w, int h)
           
(package private)  void setViewport(Rectangle4i viewport)
           
 void setViewportHeight(int height)
           
 void setViewportPosX(int x)
           
 void setViewportPosY(int y)
           
 void setViewportWidth(int width)
           
(package private)  void sHalfSphere(double radius, int slices, int stacks, javax.vecmath.Matrix4d mat, boolean orientInside)
          Draw a half sphere
 void sRing(double rMin, double rMax, int slices, int stacks, javax.vecmath.Matrix4d mat, boolean orientInside)
          Draw a ring with a radial texturing
 void sSphere(double radius, double oneMinusOblateness, int slices, int stacks, javax.vecmath.Matrix4d mat)
          Method by orientInside false by default
 void sSphere(double radius, double oneMinusOblateness, int slices, int stacks, javax.vecmath.Matrix4d mat, boolean orientInside)
          Reimplementation of gluSphere : glu is overrided for non standard projection
 void sSphereMap(double radius, int slices, int stacks, javax.vecmath.Matrix4d mat, float textureFOV, boolean orientInside)
          Draw a fisheye texture in a sphere
(package private)  void sSphereMapTexCoordFast(double rho_div_fov, double costheta, double sintheta)
           
static DefaultProjector.PROJECTOR_MASK_TYPE stringToMaskType(java.lang.String s)
           
static Projector.TYPE stringToType(java.lang.String s)
           
 void sVertex3(double x, double y, double z, javax.vecmath.Matrix4d mat)
           
static java.lang.String typeToString(Projector.TYPE type)
           
(package private)  void unproject(double x, double y, javax.vecmath.Matrix4d m, javax.vecmath.Point3d v)
          transformation from screen 2D point x,y to object.
 void unprojectEarthEqu(double x, double y, javax.vecmath.Point3d v)
           
 void unprojectHelio(double x, double y, javax.vecmath.Point3d v)
           
 void unprojectJ2000(double x, double y, javax.vecmath.Point3d v)
           
 void unprojectLocal(double x, double y, javax.vecmath.Point3d v)
           
 void updateAutoZoom(int deltaTime)
          Update AutoZoom if activated
(package private)  void zoomTo(double aimFov)
          Zoom to the given field of view in degree, using the default duration of 1
 void zoomTo(double aimFov, double moveDuration)
          Zoom to the given field of view in degree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maskType

DefaultProjector.PROJECTOR_MASK_TYPE maskType
The current projector mask


fov

double fov
Field of view in degree


minFov

double minFov
Minimum field of view in degree


maxFov

double maxFov
Maximum field of view in degree


zNear

double zNear
Near and far clipping planes


zFar

double zFar
Near and far clipping planes


vecViewport

Rectangle4i vecViewport
Viewport parameters


matProjection

javax.vecmath.Matrix4d matProjection
Projection matrix


center

javax.vecmath.Point3d center
Viewport center in screen pixel


view_scaling_factor

double view_scaling_factor

flip_horz

double flip_horz

flip_vert

double flip_vert

matEarthEquToEye

javax.vecmath.Matrix4d matEarthEquToEye
Modelview Matrix for earth equatorial projection


matJ2000ToEye

javax.vecmath.Matrix4d matJ2000ToEye
for precessed equ coords


matHelioToEye

javax.vecmath.Matrix4d matHelioToEye
Modelview Matrix for earth equatorial projection


matLocalToEye

javax.vecmath.Matrix4d matLocalToEye
Modelview Matrix for earth equatorial projection


invMatEarthEquToEye

javax.vecmath.Matrix4d invMatEarthEquToEye
Inverse of mat_projection*mat_earth_equ_to_eye


invMatJ2000ToEye

javax.vecmath.Matrix4d invMatJ2000ToEye
Inverse of mat_projection*mat_j2000_to_eye


invMatHelioToEye

javax.vecmath.Matrix4d invMatHelioToEye
Inverse of mat_projection*mat_helio_to_eye


invMatLocalToEye

javax.vecmath.Matrix4d invMatLocalToEye
Inverse of mat_projection*mat_local_to_eye


zoomMove

DefaultProjector.AutoZoom zoomMove
Current auto movement


flagAutoZoom

boolean flagAutoZoom
Define if autozoom is on or off


gravityLabels

boolean gravityLabels
should label text align with the horizon?


projectEarthEquFunc

Projector.ProjFunc projectEarthEquFunc

projectLocalFunc

Projector.ProjFunc projectLocalFunc

projectJ2000Func

Projector.ProjFunc projectJ2000Func
Constructor Detail

DefaultProjector

protected DefaultProjector(Rectangle4i viewport)

DefaultProjector

protected DefaultProjector(Rectangle4i viewport,
                           double fov)
Method Detail

typeToString

public static java.lang.String typeToString(Projector.TYPE type)
                                     throws StellariumException
Throws:
StellariumException

stringToType

public static Projector.TYPE stringToType(java.lang.String s)

maskTypeToString

public static java.lang.String maskTypeToString(DefaultProjector.PROJECTOR_MASK_TYPE type)

stringToMaskType

public static DefaultProjector.PROJECTOR_MASK_TYPE stringToMaskType(java.lang.String s)

create

public static DefaultProjector create(Projector.TYPE type,
                                      Rectangle4i viewport,
                                      double fov)
                               throws StellariumException
Throws:
StellariumException

initProjectMatrix

protected void initProjectMatrix()
Init the viewing matrix, setting the field of view, the clipping planes, and screen ratio The function is a reimplementation of gluPerspective


setViewport

public void setViewport(int x,
                        int y,
                        int w,
                        int h)

setFov

public void setFov(double f)
Set the Field of View in degree

Parameters:
f - The new field of view

setMaxFov

public void setMaxFov(double max)
Set the maximum Field of View in degree

Specified by:
setMaxFov in interface Projector
Parameters:
max - The new maximum field of view

drawViewportShape

public void drawViewportShape()
Fill with black around the circle


setClippingPlanes

public void setClippingPlanes(double znear,
                              double zfar)

changeFov

public void changeFov(double deltaFov)

setModelviewMatrices

public void setModelviewMatrices(javax.vecmath.Matrix4d _matEarthEquToEye,
                                 javax.vecmath.Matrix4d _matHelioToEye,
                                 javax.vecmath.Matrix4d _matLocalToEye,
                                 javax.vecmath.Matrix4d _matJ2000ToEye)
Set the standard modelview matrices used for projection

Parameters:
_matEarthEquToEye -
_matHelioToEye -
_matLocalToEye -
_matJ2000ToEye -

updateAutoZoom

public void updateAutoZoom(int deltaTime)
Update AutoZoom if activated


zoomTo

void zoomTo(double aimFov)
Zoom to the given field of view in degree, using the default duration of 1

Parameters:
aimFov - aimed field of view in degree

zoomTo

public void zoomTo(double aimFov,
                   double moveDuration)
Zoom to the given field of view in degree

Parameters:
aimFov - aimed field of view in degree
moveDuration -

setOrthographicProjection

public void setOrthographicProjection()
Set the drawing mode in 2D for drawing inside the viewport only. Use resetPerspectiveProjection() to reset previous projection mode

Specified by:
setOrthographicProjection in interface Projector

resetPerspectiveProjection

public void resetPerspectiveProjection()
Reset the previous projection mode after a call to setOrthographicProjection()

Specified by:
resetPerspectiveProjection in interface Projector

sSphere

public void sSphere(double radius,
                    double oneMinusOblateness,
                    int slices,
                    int stacks,
                    javax.vecmath.Matrix4d mat)
Method by orientInside false by default

Specified by:
sSphere in interface Projector

sSphere

public void sSphere(double radius,
                    double oneMinusOblateness,
                    int slices,
                    int stacks,
                    javax.vecmath.Matrix4d mat,
                    boolean orientInside)
Reimplementation of gluSphere : glu is overrided for non standard projection

Specified by:
sSphere in interface Projector
Parameters:
radius -
slices -
stacks -
mat -
orientInside -

sHalfSphere

void sHalfSphere(double radius,
                 int slices,
                 int stacks,
                 javax.vecmath.Matrix4d mat,
                 boolean orientInside)
Draw a half sphere


sDisk

public void sDisk(float radius,
                  int slices,
                  int stacks,
                  javax.vecmath.Matrix4d mat,
                  boolean orientInside)
Draw a disk with a special texturing mode having texture center at center


sRing

public final void sRing(double rMin,
                        double rMax,
                        int slices,
                        int stacks,
                        javax.vecmath.Matrix4d mat,
                        boolean orientInside)
Draw a ring with a radial texturing


sSphereMapTexCoordFast

void sSphereMapTexCoordFast(double rho_div_fov,
                            double costheta,
                            double sintheta)

sSphereMap

public final void sSphereMap(double radius,
                             int slices,
                             int stacks,
                             javax.vecmath.Matrix4d mat,
                             float textureFOV,
                             boolean orientInside)
Draw a fisheye texture in a sphere


sCylinder

public void sCylinder(double radius,
                      double height,
                      int slices,
                      int stacks,
                      javax.vecmath.Matrix4d mat,
                      boolean orientInside)
Reimplementation of gluCylinder : glu is overrided for non standard projection


printGravity180

public void printGravity180(SFontIfc font,
                            double x,
                            double y,
                            java.lang.String ws,
                            float xshift,
                            float yshift)
Method with speed optimization by default

Specified by:
printGravity180 in interface Projector
Parameters:
font -
x -
y -
ws -
xshift -
yshift -

printGravity180

public void printGravity180(SFontIfc font,
                            double x,
                            double y,
                            java.lang.String ws,
                            boolean speedOptimize,
                            float xshift,
                            float yshift)
Specified by:
printGravity180 in interface Projector

getType

public Projector.TYPE getType()
Specified by:
getType in interface Projector

getMaskType

public DefaultProjector.PROJECTOR_MASK_TYPE getMaskType()

setMaskType

public void setMaskType(DefaultProjector.PROJECTOR_MASK_TYPE maskType)

setViewport

void setViewport(Rectangle4i viewport)

setViewportPosX

public void setViewportPosX(int x)

setViewportPosY

public void setViewportPosY(int y)

setViewportWidth

public void setViewportWidth(int width)

setViewportHeight

public void setViewportHeight(int height)

getViewportPosX

public int getViewportPosX()
Specified by:
getViewportPosX in interface Projector

getViewportPosY

public int getViewportPosY()
Specified by:
getViewportPosY in interface Projector

getViewportWidth

public int getViewportWidth()
Specified by:
getViewportWidth in interface Projector

getViewportHeight

public int getViewportHeight()
Specified by:
getViewportHeight in interface Projector

getViewport

public final Rectangle4i getViewport()
Specified by:
getViewport in interface Projector

applyViewport

public void applyViewport()
Set the current openGL viewport to projector's viewport


getFlipHorz

public boolean getFlipHorz()

getFlipVert

public boolean getFlipVert()

setFlipHorz

public void setFlipHorz(boolean flip)

setFlipVert

public void setFlipVert(boolean flip)

needGlFrontFaceCW

public boolean needGlFrontFaceCW()
Specified by:
needGlFrontFaceCW in interface Projector

getFov

public double getFov()
Get the Field of View in degree

Specified by:
getFov in interface Projector
Returns:

getRadPerPixel

public final double getRadPerPixel()

getMaxFov

public double getMaxFov()
Get the maximum Field of View in degree

Returns:

getAimFov

public final double getAimFov()
If is currently zooming, return the target FOV, otherwise return current FOV

Returns:

getClippingPlanes

public double[] getClippingPlanes()

checkInViewport

public final boolean checkInViewport(javax.vecmath.Point3d pos)
Parameters:
pos -
Returns:
true if the 2D pos is inside the viewport

projectEarthEqu

public final boolean projectEarthEqu(javax.vecmath.Point3d v,
                                     javax.vecmath.Point3d win)
Return in vector "win" the projection on the screen of point v in earth equatorial coordinate according to the current modelview and projection matrices (reimplementation of gluProject) Return true if the z screen coordinate is < 1, ie if it isn't behind the observer except for the _check version which return true if the projected point is inside the screen

Specified by:
projectEarthEqu in interface Projector

projectEarthEquCheck

public final boolean projectEarthEquCheck(javax.vecmath.Point3d v,
                                          javax.vecmath.Point3d win)

projectEarthEquLineCheck

public final boolean projectEarthEquLineCheck(javax.vecmath.Point3d v1,
                                              javax.vecmath.Point3d win1,
                                              javax.vecmath.Point3d v2,
                                              javax.vecmath.Point3d win2)

unprojectEarthEqu

public void unprojectEarthEqu(double x,
                              double y,
                              javax.vecmath.Point3d v)

unprojectJ2000

public final void unprojectJ2000(double x,
                                 double y,
                                 javax.vecmath.Point3d v)

projectJ2000

public final boolean projectJ2000(javax.vecmath.Point3d v,
                                  javax.vecmath.Point3d win)
Specified by:
projectJ2000 in interface Projector

projectJ2000Check

public final boolean projectJ2000Check(javax.vecmath.Tuple3d v,
                                       javax.vecmath.Point3d win)
Specified by:
projectJ2000Check in interface Projector

projectJ2000LineCheck

public final boolean projectJ2000LineCheck(javax.vecmath.Point3d v1,
                                           javax.vecmath.Point3d win1,
                                           javax.vecmath.Point3d v2,
                                           javax.vecmath.Point3d win2)
Specified by:
projectJ2000LineCheck in interface Projector

projectHelioCheck

public final boolean projectHelioCheck(javax.vecmath.Point3d v,
                                       javax.vecmath.Point3d win)

projectHelio

public final boolean projectHelio(javax.vecmath.Tuple3d v,
                                  javax.vecmath.Tuple3d win)

projectHelioLineCheck

public final boolean projectHelioLineCheck(javax.vecmath.Point3d v1,
                                           javax.vecmath.Point3d win1,
                                           javax.vecmath.Point3d v2,
                                           javax.vecmath.Point3d win2)

unprojectHelio

public final void unprojectHelio(double x,
                                 double y,
                                 javax.vecmath.Point3d v)

projectLocal

public final boolean projectLocal(javax.vecmath.Point3d v,
                                  javax.vecmath.Point3d win)
Same function with input vector v in local coordinate

Specified by:
projectLocal in interface Projector

projectLocalCheck

public final boolean projectLocalCheck(javax.vecmath.Point3d v,
                                       javax.vecmath.Point3d win)

unprojectLocal

public final void unprojectLocal(double x,
                                 double y,
                                 javax.vecmath.Point3d v)
Specified by:
unprojectLocal in interface Projector

projectCustom

public boolean projectCustom(javax.vecmath.Tuple3d v,
                             javax.vecmath.Tuple3d win,
                             javax.vecmath.Matrix4d mat)

projectCustomCheck

public boolean projectCustomCheck(javax.vecmath.Tuple3d v,
                                  javax.vecmath.Point3d win,
                                  javax.vecmath.Matrix4d mat)

projectCustomLineCheck

public boolean projectCustomLineCheck(javax.vecmath.Point3d v1,
                                      javax.vecmath.Point3d win1,
                                      javax.vecmath.Point3d v2,
                                      javax.vecmath.Point3d win2,
                                      javax.vecmath.Matrix4d mat)
project two points and make sure both are in front of viewer and that at least one is on screen


sVertex3

public void sVertex3(double x,
                     double y,
                     double z,
                     javax.vecmath.Matrix4d mat)
Specified by:
sVertex3 in interface Projector

setFlagGravityLabels

public void setFlagGravityLabels(boolean gravityLabels)

getFlagGravityLabels

public boolean getFlagGravityLabels()
Specified by:
getFlagGravityLabels in interface Projector

unproject

void unproject(double x,
               double y,
               javax.vecmath.Matrix4d m,
               javax.vecmath.Point3d v)
transformation from screen 2D point x,y to object.

Parameters:
x - The 2D point absciss
y - The 2D point ordonnee
m - The already inverted full tranfo matrix
v -

getProjectEarthEquFunc

public Projector.ProjFunc getProjectEarthEquFunc()
Specified by:
getProjectEarthEquFunc in interface Projector

getProjectLocalFunc

public Projector.ProjFunc getProjectLocalFunc()
Specified by:
getProjectLocalFunc in interface Projector

getProjectJ2000Func

public Projector.ProjFunc getProjectJ2000Func()
Specified by:
getProjectJ2000Func in interface Projector