<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/119649/">https://git.reviewboard.kde.org/r/119649/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On augusztus 7th, 2014, 5:32 du CEST, <b>Torsten Rahn</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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 ...</p></pre>
 </blockquote>




 <p>On augusztus 12th, 2014, 7:39 du CEST, <b>Torsten Rahn</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Gabor, any news on this?</p></pre>
 </blockquote>





 <p>On augusztus 12th, 2014, 10:03 du CEST, <b>Gábor Péterffy</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Hi,<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
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.</p></pre>
 </blockquote>





 <p>On augusztus 15th, 2014, 11:22 de CEST, <b>Bernhard Beschow</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Which similarities dou you see in particular?</p></pre>
 </blockquote>





 <p>On augusztus 15th, 2014, 3:40 du CEST, <b>Torsten Rahn</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Well, the "Spherical Projection" we use is actually an Orthographic Projection:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">http://en.wikipedia.org/wiki/Orthographic_projection_in_cartography</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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).<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
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"). <br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
Gabor: Do you have any more or other suggestions/thoughts?</p></pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
<br />










<p>- Gábor</p>


<br />
<p>On augusztus 7th, 2014, 5:10 du CEST, Gábor Péterffy wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Marble and Torsten Rahn.</div>
<div>By Gábor Péterffy.</div>


<p style="color: grey;"><i>Updated aug. 7, 2014, 5:10 du</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
marble
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This patch contains the the support for gnomonic projection.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Created by Bernhard Beschow.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Origin: https://github.com/shentok/marble/tree/streetview</p></pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/lib/marble/CMakeLists.txt <span style="color: grey">(e809639ed1436b2775893c63de320d81b0ea6135)</span></li>

 <li>src/lib/marble/GnomonicScanlineTextureMapper.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/marble/GnomonicScanlineTextureMapper.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/marble/MarbleGlobal.h <span style="color: grey">(69a96f3badc69edc36a0163a173f7214fe71aeb5)</span></li>

 <li>src/lib/marble/ViewportParams.cpp <span style="color: grey">(d6cf03603b353671f52440adcea15ddecf188b94)</span></li>

 <li>src/lib/marble/layers/TextureLayer.cpp <span style="color: grey">(845b032c7b7603af5af0bdb9064b01e0a0817af3)</span></li>

 <li>src/lib/marble/projections/GnomonicProjection.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/marble/projections/GnomonicProjection.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/declarative/MarbleDeclarativeWidget.cpp <span style="color: grey">(0cb6c94d584f385317caa8e88f19fbfec57a5a95)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/119649/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>








  </div>
 </body>
</html>