Stellarium 0.12.0
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · Renderer · File Structure

StelProjectorMercator Class Reference

List of all members.

Public Member Functions

 StelProjectorMercator (ModelViewTranformP func)
virtual QString getNameI18 () const
 Get a human-readable name for this projection type.
virtual QString getDescriptionI18 () const
 Get a human-readable short description for this projection type.
virtual float getMaxFov () const
 Get the maximum FOV apperture in degree.
bool forward (Vec3f &win) const
 Apply the transformation in the forward direction in place.
bool backward (Vec3d &v) const
 Apply the transformation in the backward projection in place.
float fovToViewScalingFactor (float fov) const
 Convert a Field Of View radius value in radians in ViewScalingFactor (used internally).
float viewScalingFactorToFov (float vsf) const
 Convert a ViewScalingFactor value (used internally) in Field Of View radius in radians.
float deltaZoom (float fov) const
 Return the small zoom increment to use at the given FOV for nice movements.

Protected Member Functions

virtual bool hasDiscontinuity () const
 Return whether the projection presents discontinuities. Used for optimization.
virtual bool intersectViewportDiscontinuityInternal (const Vec3d &p1, const Vec3d &p2) const
 Determine whether a great circle connection p1 and p2 intersects with a projection discontinuity.
virtual bool intersectViewportDiscontinuityInternal (const Vec3d &capN, double capD) const
 Determine whether a cap intersects with a projection discontinuity.

Detailed Description

Definition at line 408 of file StelProjectorClasses.hpp.


Member Function Documentation

bool StelProjectorMercator::backward ( Vec3d v  )  const [virtual]

Apply the transformation in the backward projection in place.

Implements StelProjector.

float StelProjectorMercator::deltaZoom ( float  fov  )  const [virtual]

Return the small zoom increment to use at the given FOV for nice movements.

Implements StelProjector.

bool StelProjectorMercator::forward ( Vec3f v  )  const [virtual]

Apply the transformation in the forward direction in place.

After transformation v[2] will always contain the length of the original v: sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]) regardless of the projection type. This makes it possible to implement depth buffer testing in a way independent of the projection type. I would like to return the squared length instead of the length because of performance reasons. But then far away objects are not textured any more, perhaps because of a depth buffer overflow although the depth test is disabled?

Implements StelProjector.

float StelProjectorMercator::fovToViewScalingFactor ( float  fov  )  const [virtual]

Convert a Field Of View radius value in radians in ViewScalingFactor (used internally).

Implements StelProjector.

virtual QString StelProjectorMercator::getDescriptionI18 (  )  const [virtual]

Get a human-readable short description for this projection type.

Reimplemented from StelProjector.

virtual float StelProjectorMercator::getMaxFov (  )  const [inline, virtual]

Get the maximum FOV apperture in degree.

Implements StelProjector.

Definition at line 414 of file StelProjectorClasses.hpp.

virtual QString StelProjectorMercator::getNameI18 (  )  const [virtual]

Get a human-readable name for this projection type.

Implements StelProjector.

virtual bool StelProjectorMercator::hasDiscontinuity (  )  const [inline, protected, virtual]

Return whether the projection presents discontinuities. Used for optimization.

Implements StelProjector.

Definition at line 421 of file StelProjectorClasses.hpp.

virtual bool StelProjectorMercator::intersectViewportDiscontinuityInternal ( const Vec3d capN,
double  capD 
) const [inline, protected, virtual]

Determine whether a cap intersects with a projection discontinuity.

Implements StelProjector.

Definition at line 426 of file StelProjectorClasses.hpp.

virtual bool StelProjectorMercator::intersectViewportDiscontinuityInternal ( const Vec3d p1,
const Vec3d p2 
) const [inline, protected, virtual]

Determine whether a great circle connection p1 and p2 intersects with a projection discontinuity.

For many projections without discontinuity, this should return always false, but for other like cylindrical projection it will return true if the line cuts the wrap-around line (i.e. at lon=180 if the observer look at lon=0).

Implements StelProjector.

Definition at line 422 of file StelProjectorClasses.hpp.

float StelProjectorMercator::viewScalingFactorToFov ( float  vsf  )  const [virtual]

Convert a ViewScalingFactor value (used internally) in Field Of View radius in radians.

Implements StelProjector.


The documentation for this class was generated from the following file:
Generated on Thu Jan 31 14:05:46 2013 for Stellarium by  doxygen 1.6.3