<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/118751/">https://git.reviewboard.kde.org/r/118751/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#e0e0e0" width="100%" cellpadding="8" style="border: 1px gray solid;">
<tr>
<td>
<h1 style="margin-right: 0.2em; padding: 0; font-size: 10pt;">This change has been marked as submitted.</h1>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Marble and Torsten Rahn.</div>
<div>By Dennis Nienhüser.</div>
<p style="color: grey;"><i>Updated June 17, 2014, 7:57 p.m.</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;">- adds a method slerp() to GeoDataCoordinates for spherical linear interpolation. Merely a convenience one for the existing Quaternion::slerp()
- adds a method squad() to GeoDataCoordinates for spherical spline interpolation. Based on the work of Ken Shoemake, implemented according to Erik B. Dam, Martin Koch, Martin Lillholm. Quaternions, Interpolation and Animation, page 51, http://web.mit.edu/2.998/www/QuaternionReport1.pdf
- adds an example in examples/cpp/squad-interpolation which picks nearby cities from Marble's internal city database at random and interpolates paths between them. See screenshot and the video at http://nienhueser.de/marble/marble-squad-interpolation.html (plays in your browser)
squad will become useful to animate the camera path in KML Tour playback.
Food for thoughts/discussion:
- Is the current signature GeoDataCoordinates::squad(GC a, b, c, double t) better than a static one GeoDataCoordinates::squad(GC a, b, c, d, double t)?
- Shall we move it elsewhere? Imho GeoDataCoordinates is a better fit than e.g. MarblePhysics or GeoDataLineString
</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>examples/cpp/CMakeLists.txt <span style="color: grey">(f7075cc)</span></li>
<li>examples/cpp/squad-interpolation/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>
<li>examples/cpp/squad-interpolation/squad-interpolation.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>examples/cpp/squad-interpolation/squad-interpolation.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>src/lib/marble/geodata/data/GeoDataCoordinates.h <span style="color: grey">(89fba28)</span></li>
<li>src/lib/marble/geodata/data/GeoDataCoordinates.cpp <span style="color: grey">(2d2c117)</span></li>
<li>src/lib/marble/geodata/data/GeoDataCoordinates_p.h <span style="color: grey">(2d81e5e)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/118751/diff/" style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>
<ul>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/06/14/2c98d4b4-129f-4da6-905e-a5b0eb938aa4__marble-squad-interpolation-1.png">squad example</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>