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

StelProjectorHammer Class Reference

List of all members.

Public Member Functions

 StelProjectorHammer (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.
virtual void project (int n, const Vec3d *in, Vec3f *out)
bool forward (Vec3f &v) 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 330 of file StelProjectorClasses.hpp.


Member Function Documentation

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

Apply the transformation in the backward projection in place.

Implements StelProjector.

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

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

Implements StelProjector.

bool StelProjectorHammer::forward ( Vec3f v  )  const [inline, 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.

Definition at line 351 of file StelProjectorClasses.hpp.

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

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

Implements StelProjector.

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

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

Reimplemented from StelProjector.

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

Get the maximum FOV apperture in degree.

Implements StelProjector.

Definition at line 336 of file StelProjectorClasses.hpp.

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

Get a human-readable name for this projection type.

Implements StelProjector.

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

Return whether the projection presents discontinuities. Used for optimization.

Implements StelProjector.

Definition at line 368 of file StelProjectorClasses.hpp.

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

Determine whether a cap intersects with a projection discontinuity.

Implements StelProjector.

Definition at line 370 of file StelProjectorClasses.hpp.

virtual bool StelProjectorHammer::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 369 of file StelProjectorClasses.hpp.

float StelProjectorHammer::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