Stellarium 0.11.1 | |||

Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure |

StelProjector2d Class Reference

## Public Member Functions | |

virtual QString | getNameI18 () const |

virtual QString | getDescriptionI18 () const |

virtual float | getMaxFov () const |

bool | forward (Vec3f &win) const |

bool | backward (Vec3d &v) const |

float | fovToViewScalingFactor (float fov) const |

float | viewScalingFactorToFov (float vsf) const |

float | deltaZoom (float fov) const |

## Protected Member Functions | |

virtual bool | hasDiscontinuity () const |

virtual bool | intersectViewportDiscontinuityInternal (const Vec3d &, const Vec3d &) const |

virtual bool | intersectViewportDiscontinuityInternal (const Vec3d &, double) const |

virtual void | computeBoundingCap () |

bool StelProjector2d::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.

virtual bool StelProjector2d::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.

Generated on Mon May 21 2012 12:05:39 for Stellarium by 1.7.6.1