> On aug. 7, 2014, 5:32 du, 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? > > Torsten Rahn wrote: > 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?
I think about it in the same way. There are a lot of common between them (in the code too), so I created a class from them as AzimuthalProjection, this is the base for the SphericalProjection and for the GnomonicProjection classes. - Gábor ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119649/#review63992 ----------------------------------------------------------- On aug. 7, 2014, 5:10 du, 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, 5:10 du) > > > 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 > >
_______________________________________________ Marble-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/marble-devel
