[Marble-devel] Review Request 119649: Gnomonic projection, created by Bernhard Beschow
Torsten Rahn
tackat at kde.org
Fri Aug 15 13:40:07 UTC 2014
> On Aug. 7, 2014, 3:32 nachm., Torsten Rahn wrote:
> > Curious question: since SphericalProjection and GnomonicProjection share some similarities, would it be possible/make sense to have them both inherited from a common class? This would be similar to FlatProjection and MercatorProjection inheriting from CylindricalProjection ...
>
> Torsten Rahn wrote:
> Gabor, any news on this?
>
> Gábor Péterffy wrote:
> Hi,
> It seems to be that it could be done, so I'm working on it. I'm currently have a bad internet connection and for the and of the week, so I will submit my work at Monday.
>
> Bernhard Beschow wrote:
> Which similarities dou you see in particular?
Well, the "Spherical Projection" we use is actually an Orthographic Projection:
http://en.wikipedia.org/wiki/Orthographic_projection_in_cartography
In fact I think that at this point we should rename the "Spherical" classes involved accordingly while it might still be helpful to call it "Globe" in the UI for end users (because this naming might be more intuitive for them).
Orthographic and Gnomonic Projection (as well as the Stereographic Projection which I had requests for as well) are perspective (or azimutal) projections where a sphere is projected onto a tangent or secant plane (in opposite to e.g. cylindrical projections which project onto a cylinder).
They all create a "globe" with a circular map shape. So they all have a "horizon". And they all have elements that disappear "behind" the horizon. They all are painted non-repetitive (only once) and they all would use the same kind of algorithm for tesselation. Without looking deeply into the code I can see lots of methods that can be shared without or with little modification by the orthographic, gnomonic and stereographic projection. So my thought would be to have all three projections (Orthographic Projection [aka "Globe", aka "Spherical Projection"], Gnomonic Projection and the Stereographic Projection that would be created in the future) inherit from a common base class, called "Azimuthal Projection" (or "Perspective Projection").
Gabor: Do you have any more or other suggestions/thoughts?
- Torsten
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119649/#review63992
-----------------------------------------------------------
On Aug. 7, 2014, 3:10 nachm., Gábor Péterffy wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119649/
> -----------------------------------------------------------
>
> (Updated Aug. 7, 2014, 3:10 nachm.)
>
>
> Review request for Marble and Torsten Rahn.
>
>
> Repository: marble
>
>
> Description
> -------
>
> This patch contains the the support for gnomonic projection.
>
> Created by Bernhard Beschow.
>
> Origin: https://github.com/shentok/marble/tree/streetview
>
>
> Diffs
> -----
>
> src/lib/marble/CMakeLists.txt e809639ed1436b2775893c63de320d81b0ea6135
> src/lib/marble/GnomonicScanlineTextureMapper.h PRE-CREATION
> src/lib/marble/GnomonicScanlineTextureMapper.cpp PRE-CREATION
> src/lib/marble/MarbleGlobal.h 69a96f3badc69edc36a0163a173f7214fe71aeb5
> src/lib/marble/ViewportParams.cpp d6cf03603b353671f52440adcea15ddecf188b94
> src/lib/marble/layers/TextureLayer.cpp 845b032c7b7603af5af0bdb9064b01e0a0817af3
> src/lib/marble/projections/GnomonicProjection.h PRE-CREATION
> src/lib/marble/projections/GnomonicProjection.cpp PRE-CREATION
> src/plugins/declarative/MarbleDeclarativeWidget.cpp 0cb6c94d584f385317caa8e88f19fbfec57a5a95
>
> Diff: https://git.reviewboard.kde.org/r/119649/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Gábor Péterffy
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20140815/1ea33693/attachment.html>
More information about the Marble-devel
mailing list