From d3ab67e60426831fc31cc1319c49256bfad777a8 Mon Sep 17 00:00:00 2001
From: Luc Maisonobe <luc@orekit.org>
Date: Mon, 2 Jun 2014 17:18:51 +0200
Subject: [PATCH] Initialized site documentation.

---
 aster/src/main/assembly/binary-assembly.xml   |  20 -
 aster/src/main/assembly/building-files.xml    |  14 -
 aster/src/main/assembly/jar-files.xml         |  11 -
 aster/src/main/assembly/misc-files.xml        |  13 -
 aster/src/main/assembly/source-assembly.xml   |  10 -
 pom.xml                                       |   3 +
 src/main/assembly/binary-assembly.xml         |  12 +-
 src/main/assembly/building-files.xml          |   1 -
 src/main/assembly/misc-files.xml              |   1 -
 src/main/assembly/source-assembly.xml         |  12 +-
 src/site/fml/faq.fml                          | 129 +++++
 src/site/markdown/building.md                 |  97 ++++
 src/site/markdown/contact.md                  |  61 +++
 src/site/markdown/contributing.md             |  26 +
 src/site/markdown/design.md                   |  20 -
 src/site/markdown/design/overview.md          |  23 +
 src/site/markdown/downloads.md                |  44 ++
 src/site/markdown/guidelines.md               | 168 ++++++
 src/site/markdown/index.md                    |  63 +++
 src/site/markdown/sources.md                  |  41 ++
 .../resources/images/rugged-architecture.png  | Bin 0 -> 32563 bytes
 src/site/resources/images/rugged-logo.png     | Bin 0 -> 32649 bytes
 src/site/site.xml                             |  28 +-
 src/site/xdoc/changes.xml                     | 488 ++++++++++++++++++
 24 files changed, 1170 insertions(+), 115 deletions(-)
 delete mode 100644 aster/src/main/assembly/binary-assembly.xml
 delete mode 100644 aster/src/main/assembly/building-files.xml
 delete mode 100644 aster/src/main/assembly/jar-files.xml
 delete mode 100644 aster/src/main/assembly/misc-files.xml
 delete mode 100644 aster/src/main/assembly/source-assembly.xml
 create mode 100644 src/site/fml/faq.fml
 create mode 100644 src/site/markdown/building.md
 create mode 100644 src/site/markdown/contact.md
 create mode 100644 src/site/markdown/contributing.md
 delete mode 100644 src/site/markdown/design.md
 create mode 100644 src/site/markdown/design/overview.md
 create mode 100644 src/site/markdown/downloads.md
 create mode 100644 src/site/markdown/guidelines.md
 create mode 100644 src/site/markdown/index.md
 create mode 100644 src/site/markdown/sources.md
 create mode 100644 src/site/resources/images/rugged-architecture.png
 create mode 100644 src/site/resources/images/rugged-logo.png
 create mode 100644 src/site/xdoc/changes.xml

diff --git a/aster/src/main/assembly/binary-assembly.xml b/aster/src/main/assembly/binary-assembly.xml
deleted file mode 100644
index f4f0121b..00000000
--- a/aster/src/main/assembly/binary-assembly.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<assembly>
-  <id>bin</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <dependencySets>  
-    <dependencySet>  
-      <outputDirectory>/lib</outputDirectory>
-      <excludes>
-        <exclude>org.orekit:rugged</exclude>
-      </excludes>
-      <unpack>false</unpack>  
-    </dependencySet>  
-  </dependencySets>  
-  <componentDescriptors>
-    <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
-    <componentDescriptor>src/main/assembly/jar-files.xml</componentDescriptor>
-  </componentDescriptors>
-</assembly>
-
diff --git a/aster/src/main/assembly/building-files.xml b/aster/src/main/assembly/building-files.xml
deleted file mode 100644
index c4472402..00000000
--- a/aster/src/main/assembly/building-files.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component>
-  <fileSets>
-    <fileSet>
-      <includes>
-        <include>pom.xml</include>
-      </includes>
-      <useDefaultExcludes>true</useDefaultExcludes>
-    </fileSet>
-    <fileSet>
-      <directory>src</directory>
-      <useDefaultExcludes>true</useDefaultExcludes>
-    </fileSet>
-  </fileSets>
-</component>
\ No newline at end of file
diff --git a/aster/src/main/assembly/jar-files.xml b/aster/src/main/assembly/jar-files.xml
deleted file mode 100644
index e89c65b0..00000000
--- a/aster/src/main/assembly/jar-files.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component>
-  <fileSets>
-    <fileSet>
-      <directory>target</directory>
-      <outputDirectory></outputDirectory>
-      <includes>
-        <include>*.jar</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</component>
\ No newline at end of file
diff --git a/aster/src/main/assembly/misc-files.xml b/aster/src/main/assembly/misc-files.xml
deleted file mode 100644
index f1bf4a5f..00000000
--- a/aster/src/main/assembly/misc-files.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component>
-  <fileSets>
-    <fileSet>
-      <outputDirectory>/licenses</outputDirectory>  
-      <includes>
-       <include>LICENSE.txt</include>
-       <include>NOTICE.txt</include>
-       <include>Apache-Commons-Math-LICENSE.txt</include>
-       <include>Orekit-LICENSE.txt</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</component>
diff --git a/aster/src/main/assembly/source-assembly.xml b/aster/src/main/assembly/source-assembly.xml
deleted file mode 100644
index d68ffcb2..00000000
--- a/aster/src/main/assembly/source-assembly.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<assembly>
-  <id>sources</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <componentDescriptors>
-    <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
-    <componentDescriptor>src/main/assembly/building-files.xml</componentDescriptor>
-  </componentDescriptors>
-</assembly>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ab3fa52f..f5148eeb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -297,6 +297,9 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-report-plugin</artifactId>
         <version>${rugged.maven-surefire-report-plugin.version}</version>
+        <configuration>
+          <aggregate>true</aggregate>
+        </configuration>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
diff --git a/src/main/assembly/binary-assembly.xml b/src/main/assembly/binary-assembly.xml
index a18df15b..64f01be1 100644
--- a/src/main/assembly/binary-assembly.xml
+++ b/src/main/assembly/binary-assembly.xml
@@ -1,4 +1,6 @@
-<assembly>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
   <id>bin</id>
   <formats>
     <format>zip</format>
@@ -7,4 +9,12 @@
     <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
     <componentDescriptor>src/main/assembly/jar-files.xml</componentDescriptor>
   </componentDescriptors>
+  <moduleSets>
+    <moduleSet>
+      <includes>
+        <include>org.orekit:rugged-aster</include>
+        <include>org.orekit:rugged-core</include>
+      </includes>
+    </moduleSet>
+  </moduleSets>
 </assembly>
\ No newline at end of file
diff --git a/src/main/assembly/building-files.xml b/src/main/assembly/building-files.xml
index 9c3f9cbf..9eb2f438 100644
--- a/src/main/assembly/building-files.xml
+++ b/src/main/assembly/building-files.xml
@@ -4,7 +4,6 @@
       <includes>
         <include>BUILDING.txt</include>
         <include>pom.xml</include>
-        <include>build.xml</include>
         <include>checkstyle.xml</include>
         <include>findbugs-exclude-filter.xml</include>
         <include>license-header.txt</include>
diff --git a/src/main/assembly/misc-files.xml b/src/main/assembly/misc-files.xml
index 8e565755..b6666a6c 100644
--- a/src/main/assembly/misc-files.xml
+++ b/src/main/assembly/misc-files.xml
@@ -2,7 +2,6 @@
   <fileSets>
     <fileSet>
       <includes>
-       <include>README.txt</include>
        <include>LICENSE.txt</include>
        <include>NOTICE.txt</include>
       </includes>
diff --git a/src/main/assembly/source-assembly.xml b/src/main/assembly/source-assembly.xml
index d68ffcb2..bb6574c4 100644
--- a/src/main/assembly/source-assembly.xml
+++ b/src/main/assembly/source-assembly.xml
@@ -1,4 +1,6 @@
-<assembly>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
   <id>sources</id>
   <formats>
     <format>zip</format>
@@ -7,4 +9,12 @@
     <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
     <componentDescriptor>src/main/assembly/building-files.xml</componentDescriptor>
   </componentDescriptors>
+  <moduleSets>
+    <moduleSet>
+      <includes>
+        <include>org.orekit:rugged-aster</include>
+        <include>org.orekit:rugged-core</include>
+      </includes>
+    </moduleSet>
+  </moduleSets>
 </assembly>
\ No newline at end of file
diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml
new file mode 100644
index 00000000..28a2154d
--- /dev/null
+++ b/src/site/fml/faq.fml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+ 
+    http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+<faqs title="Frequently Asked Questions" toplink="false">
+
+  <part id="references">
+    <title>References</title>
+    <faq id="projects">
+      <question>
+        Has Rugged already been used?
+      </question>
+      <answer>
+        <p>
+          Yes, it is used in successful operational missions.
+        </p>
+        <p>The first operational use of Rugged was Sentinel 2 ESA mission.
+        Rugged is used in the Image Processing Facility.
+        </p>
+      </answer>
+    </faq>
+    <faq id="validation">
+      <question>
+        Is Rugged validated?
+      </question>
+      <answer>
+        <p>
+          Yes, rugged has been validated, by comparison with other image
+          processing systems.
+        </p>
+        <p>
+          Note that as Rugged takes into account some effects that may not be considered
+          by other systems, validation implies careful configuration and analysis of
+          discrepancies. Some differences come from missing correction in other systems,
+          like the Δδψ and Δδε precession/nutation correction parameters, or the light time
+          correction, or the aberration of light correction, or the non-straight line nature
+          of line-of-sight in geodetic space ...). These differences are mostly dealt with
+          by disabling Rugged correction to match the other systems (only for test purposes,
+          of course, the corrections should be enabled for operational use!). Some differences
+          come from different models like precession and nutation compliant to latest IERS
+          conventions, or different Earth frames. These differences are mostly dealt with by
+          configuring Rugged to use the same legacy models (these legacy models like for example
+          TOD and MOD frames are available for consistency with existing systems).
+        </p>
+      </answer>
+    </faq>
+  </part>
+
+  <part id="installation">
+    <title>Installation</title>
+    <faq id="dependencies">
+      <question>
+        What are the dependencies for Rugged?
+      </question>
+      <answer>
+        <p>
+          Rugged core relies on the Orekit space flight dynamics library and on
+          Apache Commons Math mathematical libraries. Both libraries are free
+          software libraries distributed under the terms of the Apache Software
+          License version 2.0.
+        </p>
+        <p>
+          Rugged aster relies on Rugged core and on Apache Commons imaging libraries.
+          Both libraries are free software libraries distributed under the terms of
+          the Apache Software License version 2.0.
+        </p>
+      </answer>
+    </faq>
+  </part>
+
+  <part id="runtime">
+    <title>Runtime errors</title>
+    <faq id="orekit-data-zip-not-up-to-date">
+      <question>
+        I get an error "no IERS UTC-TAI history data loaded" (or something similar in another language). What does it mean?
+      </question>
+      <answer>
+        <p>
+          This error is probably the most frequent one, or at least it's the first one new users encounter.
+        </p>
+        <p>
+          Rugged relies on the Orekit library to perform all space flight related comupation (typically
+          frames transforms). This library in turn needs some external data to be loaded in order to run.
+          This includes UTC-TAI history for leap seconds handling, Earth Orientation Parameters for
+          transforms to and from Earth fixed frames, or planetar ephemerides for Sun direction, for example.
+        </p>
+        <p>
+          The error message "no IERS UTC-TAI history data loaded" means the UTC-TAI history file which is used for leap
+          seconds management was not found. As leap seconds are used each time a UTC date is used, this message is
+          often seen very early and is the first one unsuspecting users experience. It often means the user forgot
+          to configure Orekit to load data.
+        </p>
+        <p>
+          Configuring data loading is explained in the configuration page For a start, the simplest configuration
+          is to download the orekit-data.zip file from the download page and to either set the "orekit.data.path" Java
+          property to this file or to manually configure the DataProvidersManager to use it. This example archive file
+          contains the required UTC-TAI history file among others. Configuring Orekit to use this archive file can be done
+          by keeping the file as a zip archive and pointing to this archive, or by unzipping it and pointing to the unzipped folder.
+        </p>
+        <p>
+          Here is an example using the file in zip format:
+        </p>
+        <p>
+          DataProvidersManager.addProvider(new ZipJarCrawler(new File("/path/to/the/zip/file/orekit-data.zip")));
+        </p>
+        <p>
+          Here is an example using the folder resulting from expanding the archive:
+        </p>
+        <p>
+          DataProvidersManager.addProvider(new DirectoryCrawler(new File("/path/to/the/folder/orekit-data")));
+        </p>
+        <p>
+          Using a folder allows one to change the data in it, e.g., adding new EOP files as they are published by IERS.
+        </p>
+      </answer>
+    </faq>
+  </part>
+</faqs>
diff --git a/src/site/markdown/building.md b/src/site/markdown/building.md
new file mode 100644
index 00000000..b75c3bf0
--- /dev/null
+++ b/src/site/markdown/building.md
@@ -0,0 +1,97 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Building Rugged
+===============
+
+Rugged can be built from source using several different tools.
+  
+All these tools are Java based and can run on many different operating
+systems, including Unix, GNU/Linux, Windows and Mac OS X. Some GNU/Linux
+distributions provide these tools in their packages repositories.
+
+Building with Maven 3
+---------------------
+
+[Maven](http://maven.apache.org/) is a build tool that goes far beyond
+simply compiling and packaging a product. It is also able to resolve
+dependencies (including downloading the appropriate versions from the public
+repositories), to run automated tests, to launch various checking tools and
+to create a web site for a project. It runs on any platform supporting Java.
+  
+For systems not providing maven as a package, maven can be
+[downloaded](http://maven.apache.org/download.cgi) from its site at the
+Apache Software Foundation. This site also explains the
+installation procedure.
+
+As with all maven enabled projects, building Rugged is straightforward, simply
+run:
+
+    mvn assembly:single
+
+The preceding command will perform all dependencies retrieval, compilation,
+tests and packaging for you. At the end, it will create several files named
+{module}/target/rugged-{module}-x.y.jar where {module} is the module name (aster,
+core, ...) and x.y is the version number.
+
+If you need to configure a proxy server for dependencies retrieval, see
+the [Guide to using proxies](http://maven.apache.org/guides/mini/guide-proxies.html)
+page at the maven site.
+
+If you already use maven for your own projects (or simply eclipse, see
+below), you may want to install rugged in your local repository. This is done
+with the following command:
+
+    mvn install
+
+For other commands like generating the site, or generating the
+[checkstyle](http://checkstyle.sourceforge.net/),
+[findbugs](http://findbugs.sourceforge.net/) or
+[jacoco](http://www.eclemma.org/jacoco/) reports, see the maven
+plugins documentation at [maven site](http://maven.apache.org/plugins/index.html).
+
+Building with Eclipse
+---------------------
+
+[Eclipse](http://www.eclipse.org/) is a very rich Integrated Development
+Environment (IDE). It is a huge product and not a simple build tool.
+
+For systems not providing eclipse as a package, it can be downloaded from its
+site at the [Eclipse Foundation](http://www.eclipse.org/downloads/).
+
+The simplest way to use Rugged with Eclipse is to follow these steps:
+
+  * unpack the distribution inside your Eclipse workspace
+
+  * create a new java project from existing sources and direct Eclipse to the
+     directory where you unpacked Rugged
+
+  * set the source folders to
+    * core/src/main/java
+	* aster/src/main/java
+	* core/src/test/java
+	* aster/src/test/java
+	* core/src/main/resources
+	* aster/src/main/resources
+	* core/src/test/resources
+	* aster/src/test/resources
+    in the source tab of the Configure Build Path dialog
+
+  * set the external libraries to JRE system library (provided by Eclipse),
+    Junit 4.x (provided by Eclipse), Apache Commons Math (available at
+    Apache Software Foundation Commons Math
+    [downloads page](http://commons.apache.org/proper/commons-math/download_math.cgi)),
+    and Orekit (available at Orekit
+    [downloads page](https://www.orekit.org/forge/projects/orekit/files))
+    in the libraries tab of the Configure Build Path dialog
diff --git a/src/site/markdown/contact.md b/src/site/markdown/contact.md
new file mode 100644
index 00000000..93545a6a
--- /dev/null
+++ b/src/site/markdown/contact.md
@@ -0,0 +1,61 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Contacts
+========
+
+Mailing lists
+-------------
+
+Most discussions should occur on the public mailing lists.
+
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|     topic     |         post address         |                      subscribe URL                         |                      archive URL                      |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|  announces    | orekit-announces@orekit.org  |  {{https://www.orekit.org/wws/subscribe/orekit-announces}} |  {{https://www.orekit.org/wws/arc/orekit-announces}}  |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|     users     |   orekit-users@orekit.org    |  {{https://www.orekit.org/wws/subscribe/orekit-users}}     |  {{https://www.orekit.org/wws/arc/orekit-users}}      |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|   developers  | orekit-developers@orekit.org | {{https://www.orekit.org/wws/subscribe/orekit-developers}} |  {{https://www.orekit.org/wws/arc/orekit-developers}} |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+
+Please register to these mailing lists before attempting to post!
+
+We're preventing unregistered members from posting in order to prevent spam. Thank you.
+
+Technical contact
+-----------------
+
+If for some reason you cannot use the public lists, you can reach the CS
+Systèmes d'Information Rugged team for any question (either technically
+oriented or administrative) at the following email address:
+[orekit@c-s.fr](mailto:orekit@c-s.fr)
+
+Administrative contact
+----------------------
+
+If you want to discuss with the space division staff at CS Systèmes d'Information,
+please use the following address:
+
+|:---------------------------------------------------------------------|
+|  CS Systèmes d'Information                                           |
+|  Business Unit Espace et Renseignement                               |
+|  parc de la plaine - 5 rue Brindejonc des Moulinais                  |
+|  BP 15872                                                            |
+|  31506 Toulouse CEDEX 5                                              |
+|  FRANCE                                                              |
+|:---------------------------------------------------------------------|
+|  phone: +33 5-61-17-66-66 (ask for Luc Maisonobe or Aude Espesset)   |
+|  fax:   +33 5-61-34-84-15                                            |
+|:---------------------------------------------------------------------|
diff --git a/src/site/markdown/contributing.md b/src/site/markdown/contributing.md
new file mode 100644
index 00000000..7e3caea8
--- /dev/null
+++ b/src/site/markdown/contributing.md
@@ -0,0 +1,26 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Contributing to Ruggged
+=======================
+
+Rugged is free software, which means you can use the source code as you wish,
+without charges, in your applications, and that you can improve it and have
+your improvements included in the next mainstream release.
+
+If you are interested in participating in the development effort,
+subscribe to the mailing lists and step up to discuss it. The
+larger the community is, the better Rugged will be. The main
+rule is that everything intended to be included in Rugged core must
+be distributed under the Apache License Version 2.0.
diff --git a/src/site/markdown/design.md b/src/site/markdown/design.md
deleted file mode 100644
index 2e897d8e..00000000
--- a/src/site/markdown/design.md
+++ /dev/null
@@ -1,20 +0,0 @@
-A First Level Header
-====================
-
-A Second Level Header
----------------------
-
-Now is the time for all good men to come to
-the aid of their country. This is just a
-regular paragraph.
-
-The quick brown fox jumped over the lazy
-dog's back.
-
-### Header 3
-
-> This is a blockquote.
-> 
-> This is the second paragraph in the blockquote.
->
-> ## This is an H2 in a blockquote
diff --git a/src/site/markdown/design/overview.md b/src/site/markdown/design/overview.md
new file mode 100644
index 00000000..8011c568
--- /dev/null
+++ b/src/site/markdown/design/overview.md
@@ -0,0 +1,23 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Global architecture
+===================
+
+Rugged is an intermediate level mission-independent library. It relies on
+the Orekit library and on the Apache Commons Math library. It is itself
+intended to be used from a mission-specific interface by one or more
+image processing applications.
+
+![architecture](../images/rugged-architecture.png)
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
new file mode 100644
index 00000000..c3fecbf6
--- /dev/null
+++ b/src/site/markdown/downloads.md
@@ -0,0 +1,44 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Downloads
+=========
+
+Development Library version
+---------------------------
+
+The development version of the Rugged library is always available to
+download from our version control system. We use [ Git](http://git-scm.com/)
+as our SCM. The anonymous read access to our Git repository  allows users who
+need the latest features and the latest bug fixes to get them even before an
+official release.
+
+The Git repository can be cloned using the following command, which can
+be easily adapted if you are using one of the numerous Git graphical
+user interface available or if Git is supported by you integrated
+development environment:
+
+    git clone http://www.orekit.org/git/rugged
+
+Released Library versions
+-------------------------
+
+Rugged is provided both in several packaging systems. You can pick up
+the one that better suits your needs. Source packages are the most complete
+ones since the other packages (binary jars, javadoc jars and even the bulk
+of this site) are created from these sources.
+
+Rugged is also available in maven central repository,
+with groupID org.orekit and artifactId orekit, so maven internal mechanism
+will download automatically all artifacts and dependencies as required.
diff --git a/src/site/markdown/guidelines.md b/src/site/markdown/guidelines.md
new file mode 100644
index 00000000..b1c879c3
--- /dev/null
+++ b/src/site/markdown/guidelines.md
@@ -0,0 +1,168 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Development Guidelines
+======================
+
+The following guidelines are used for Rugged development.
+
+Development
+-----------
+
+Rugged is an intermediate level library. It may be used in very different
+contexts which cannot be foreseen, from quick studies up to critical
+operations. The main driving goals are the following ones:
+
+  * validation
+
+  * robustness
+
+  * maintainability
+
+  * efficiency
+
+The first goal, validation, implies tests must be as extensive as possible.
+They should include realistic operational cases but also contingency cases.
+The [jacoco](http://www.eclemma.org/jacoco/) tool must be used to
+monitor test coverage. A very high level of coverage is desired. We do not
+set up mandatory objective figures, but only guidelines here. However,a 60%
+line coverage would clearly not be acceptable at all and 80% would be considered
+deceptive.
+
+The second goal, robustness, has some specific implications for a low level
+component like Rugged. In some sense, it can be considered an extension of the
+previous goal as it can also be improved by testing. It can also be improved
+by automatic checking tools that analyze either source code or binary code. The
+[findbugs](http://findbugs.sourceforge.net/) tool is already configured for
+automatic checks of the library using a maven plugin.
+
+This is however not sufficient. A library is intended to be used by applications
+unknown to the library development team. The library development should be as
+flexible as possible to be merged into an environment with specific constraints.
+For example, perhaps an application should run 24/7 during months or years, so
+caching all results to improve efficiency may prove disastrous in such a use case,
+or it should be embedded in a server application, so printing to standard output
+should never be done. Experience has shown that developing libraries is more
+difficult than developing high level applications where most of the constraints
+are known beforehand.
+
+The third goal, maintainability, implies code must be readable, clear and
+well documented. Part of this goal is enforced by the stylistic rules explained
+in the next section, but this is only for the _automatic_ and simple checks. It
+is important to keep a clean and extensible design. Achieving simplicity is
+really hard, so this goal should not be taken too lightly. Good designs are a
+matter of balance between two few objects that do too many things internally
+an ignore each other and too many objects that do nothing alone and always need
+a bunch of other objects to work. Always think in terms of balance, and check
+what happens if you remove something from the design. Quite often, removing something
+improves the design and should be done.
+
+The fourth goal, efficiency, should be handled with care to not conflict with the
+second and third goals (robustness and maintainability). Efficiency is necessary but
+trying too much too achieve it can lead to overly complex unmaintainable code, to too
+specific fragile code, and unfortunately too often without any gain after all because
+of premature optimization and unfounded second-guess.
+
+One surprising trick, that at first sight might seem strange and inappropriate has
+been used in many part for Rugged and should be considered a core guideline. It
+is the use of _immutable_ objects. This trick improves efficiency because many costly
+copying operation are avoided, even unneeded one added for defensive programming. It
+improves maintainability because both the classes themselves and the classes that use
+them are much simpler. It also improves robustness because many (really many ...)
+difficult to catch bugs are caused by mutable objects that are changed in some deeply
+buried code and have an impact on user code that forgot to perform a defensive copy.
+Orbits, dates, vectors, and rotations are all immutable objects.
+
+Style
+-----
+
+For reading ease and consistency, the existing code style should be
+preserved for all new developments. The rules are common ones, inherited
+mainly from the Sun [Code Conventions for the Java
+Programming Language](http://java.sun.com/docs/codeconv/) guide style and
+from the default [checkstyle](http://checkstyle.sourceforge.net/) tool
+configuration. A few of these rules are displayed below. The complete
+definition is given by the checkstyle configuration file in the project
+root directory.
+
+*header rule*
+: all source files start with the Apache license header,
+  
+*indentation rules*
+: no tabs, 4 spaces indentation, no indentation for case statements,
+  
+*operators wrapping rules*
+: lines are wrapped after operators (unlike Sun),
+  
+*whitespace rules*
+: operators are surrounded by spaces, method parameters open parenthesis
+  is not preceded by space, lines do not end with white space,
+  
+*curly brace rules*
+: open curly brace are at end of line, with the matching closing curly brace
+  aligned with the start of the corresponding keyword (_if_, _for_,
+  _while_, _case_ or _do_),
+  
+*encoding rules*
+: characters encoding is _UTF8_, the git property _core.autocrlf_ should be
+  set to _input_ on Linux development machines and to _true_ on Windows
+  development machines (to ensure proper conversion on all operating systems),
+  
+*naming rules*
+: classes names begin with upper case, instance methods and fields
+  names begin with lower case, class fields are all upper case with
+  words separated by underscores,
+  
+*ordering rules*
+: class variables come first, followed by instance variables, followed
+  by constructors, and followed by methods, public modifiers come first,
+  followed by protected modifiers followed by private modifiers,
+  
+*javadoc rules*
+: all elements have complete javadoc, even private fields and methods
+  (there are some rare exceptions, in case of code translated from
+  the fortran language and models with huge parameters sets),
+  
+*robustness rules*
+: switch/case construct have a default argument, even when all possible
+  cases are already handled, as many classes as possible are immutable,
+  
+*miscellaneous rules*
+: _star_ imports are forbidden, parameters and local variables are final
+  wherever possible.
+
+Rules summary
+-------------
+
+|---|-----------------|----------------------------------------------------------------------------------|
+| 1 |    validation   | seek for a line test coverage of at least 80% (more is better)                   |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 2 |    robustness   | fix _all_ errors and warnings found by findbugs                                  |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 3 |    robustness   | do not make assumptions on the runtime environment of applications using Rugged  |
+|   |                 | (they may be embedded with no console, no possible user interaction, no network, |
+|   |                 | no writable file system, no stoppable main program, have memory constraints,     |
+|   |                 | time constraints, be run in different linguistic contexts ...)                   |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 4 | maintainability | follow Occam's razor principle                                                   |
+|   |                 | or its declination in computer science: KISS (Keep It Simple, Stupid)            |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 5 |    efficiency   | seek efficiency, but do not overstep robustness and maintainability              |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 6 |    robustness   | use immutable objects as much as possible                                        |
+|   | maintainability |                                                                                  |
+|   |    efficiency   |                                                                                  |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 7 |      style      | fix _all_ errors and warnings found by checkstyle                                |
+|---|-----------------|----------------------------------------------------------------------------------|
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
new file mode 100644
index 00000000..45133c77
--- /dev/null
+++ b/src/site/markdown/index.md
@@ -0,0 +1,63 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Overview
+========
+
+  Rugged is an add-on for Orekit handling Digital Elevation Models
+  contribution to line of sight computation. It is a free software
+  low-level library written in Java.
+
+  It mainly provides direct and inverse localization, i.e. it allows
+  to compute accurately which ground point is looked at from a specific
+  pixel in a spacecraft instrument, and conversely which pixel will
+  see a specified ground point.
+
+Features
+--------
+
+  * Direct localization
+
+  * Inverse localization
+
+  * Localized in several languages
+
+    * English
+
+    * French
+
+    * Galician
+
+Free software
+-------------
+
+Rugged is freely available both in source and binary formats, with all related
+documentation and tests.
+
+It is distributed under the [Apache License Version 2.0](./license.html). This
+is a well known business-friendly license. This means anybody can use it to build
+any application, free or not. There are no strings attached to your own code.
+
+Everybody is encouraged to use Orekit as a common low level layer to improve
+interoperability in space systems.
+
+Maintained library
+------------------
+
+Rugged has been in development since 2013 inside [CS Systèmes
+d'Information](http://www.c-s.fr/) and is still used and maintained by its dual teams
+of space dynamics and image processing experts.
+
+Rugged is used for image processing of the Sentinel 2 missiong at European Space
+Agency (ESA).
diff --git a/src/site/markdown/sources.md b/src/site/markdown/sources.md
new file mode 100644
index 00000000..9191a4cf
--- /dev/null
+++ b/src/site/markdown/sources.md
@@ -0,0 +1,41 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Getting the sources
+===================
+
+Released versions
+-----------------
+
+In order to get the source for officially released versions, go to the
+[Files](https://www.orekit.org/forge/projects/rugged/files) tab in Rugged
+forge and select one of the rugged-{module}-x.y-src.zip files. The module
+part is the module (you need at least the core module, but other modules
+may be interesting for you too). The x.y part in the name specifies the version.
+
+Development version
+-------------------
+
+The development of the Rugged project is done using the [Git](http://git-scm.com/)
+source code control system. Rugged Git master repository is available online.
+
+ * you can browse it using the [Repository](https://www.orekit.org/forge/projects/rugged/repository)
+    tab in Rugged forge
+ * you can clone it anonymously with the command:
+
+    git clone http://www.orekit.org/git/rugged
+
+ ** if you are a committer, you can clone it using your ssh credentials with the command:
+
+    git clone ssh://git@www.orekit.org/rugged.git
diff --git a/src/site/resources/images/rugged-architecture.png b/src/site/resources/images/rugged-architecture.png
new file mode 100644
index 0000000000000000000000000000000000000000..0edec0097fdac59551fde9731f48623a034eedac
GIT binary patch
literal 32563
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

literal 0
HcmV?d00001

diff --git a/src/site/resources/images/rugged-logo.png b/src/site/resources/images/rugged-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..55e0717ed58d522ffe9b76d6e038968dc8fa50ce
GIT binary patch
literal 32649
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
IM6N<$f+ozY(*OVf

literal 0
HcmV?d00001

diff --git a/src/site/site.xml b/src/site/site.xml
index 718a808f..86417730 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -16,12 +16,12 @@
 <project name="Rugged">
   <bannerLeft>
     <name>CS Syst&#232;mes d&#039;Information</name>
-    <src>/images/logo_cs_2008_ang.jpg</src>
-    <href>http://uk.c-s.fr/</href>
+    <src>/images/cs_logiciel_dev_32pixelsgri.png</src>
+    <href>http://www.c-s.fr/</href>
   </bannerLeft>
   <bannerRight>
     <name>Rugged</name>
-    <src>/images/orekit-logo.png</src>
+    <src>/images/rugged-logo.png</src>
     <href>/index.html</href>
   </bannerRight>
   <body>
@@ -29,33 +29,15 @@
       <item name="Overview"            href="/index.html"          />
       <item name="Getting the sources" href="/sources.html"        />
       <item name="Building"            href="/building.html"       />
-      <item name="Configuration"       href="/configuration.html"  />
       <item name="FAQ"                 href="/faq.html"            />
       <item name="License"             href="/license.html"        />
       <item name="Downloads"           href="/downloads.html"      />
       <item name="Changes"             href="/changes-report.html" />
-      <item name="Training"            href="/training.html"       />
       <item name="Contact"             href="/contact.html"        />
     </menu>
-    <menu name="Architecture">
-      <item name="Attitudes"     href="/architecture/attitudes.html"     />
-      <item name="Bodies"        href="/architecture/bodies.html"        />
-      <item name="Errors"        href="/architecture/errors.html"        />
-      <item name="Forces"        href="/architecture/forces.html"        />
-      <item name="Frames"        href="/architecture/frames.html"        />
-      <item name="Orbits"        href="/architecture/orbits.html"        />
-      <item name="Propagation"   href="/architecture/propagation.html"   />
-      <item name="Time"          href="/architecture/time.html"          />
-      <item name="Tle"           href="/architecture/tle.html"           />
-      <item name="Utils"         href="/architecture/utils.html"         />
+    <menu name="Design">
+      <item name="Overview"  href="/design/overview.html"      />
     </menu>
-    <menu name="Tutorial">
-      <item name="Attitude"          href="/tutorial/attitude.html"          />
-      <item name="Frames"            href="/tutorial/frames.html"            />
-      <item name="Propagation"       href="/tutorial/propagation.html"       />
-      <item name="Time"              href="/tutorial/time.html"              />
-      <item name="Geomagnetic field" href="/tutorial/geomagnetic-field.html" />
-      </menu>
     <menu name="Development">
       <item name="Contributing"  href="/contributing.html"      />
       <item name="Guidelines"    href="/guidelines.html"        />
diff --git a/src/site/xdoc/changes.xml b/src/site/xdoc/changes.xml
new file mode 100644
index 00000000..f4616564
--- /dev/null
+++ b/src/site/xdoc/changes.xml
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- Copyright 2002-2014 CS Systèmes d'Information
+  Licensed to CS Systèmes d'Information (CS) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  CS licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Rugged Changes</title>
+  </properties>
+  <body>
+    <release version="1.0" date="TBD"
+             description="TBD">
+      <action dev="luc" type="update">
+        Swtiched maven configuration to multi-modules.
+      </action>
+      <action dev="luc" type="update">
+        Updated UML diagrams.
+      </action>
+      <action dev="luc" type="update">
+        Moved TileUpdate to raster package.
+      </action>
+      <action dev="luc" type="update">
+        Finalized direct localization diagrams.
+      </action>
+      <action dev="luc" type="update">
+        renamed core package into intersection.
+      </action>
+      <action dev="luc" type="update">
+        Created a utils package.
+      </action>
+      <action dev="luc" type="update">
+        Moved raster package one level up.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed top package name.
+      </action>
+      <action dev="luc" type="update">
+        Updated maven plugins versions.
+      </action>
+      <action dev="luc" type="update">
+        Updated Apache Commons Version as 3.3 has now been released.
+      </action>
+      <action dev="luc" type="update">
+        Updated Orekit version.
+      </action>
+      <action dev="luc" type="update">
+        Improved performance.
+      </action>
+      <action dev="luc" type="update">
+        Disabled timing test for inverse localization.
+      </action>
+      <action dev="luc" type="update">
+        Improved inverse localization speed again!
+      </action>
+      <action dev="luc" type="update">
+        Added inverse localization from latitude and longitude only.
+        When only latitude and longitude are specified, the elevation is
+        automatically computed from the Digital Elevation Model.
+      </action>
+      <action dev="luc" type="update">
+        Simplified direct localization.
+      </action>
+      <action dev="luc" type="update">
+        Improved inverse localization performances.
+      </action>
+      <action dev="luc" type="update">
+        Added rate to the LineDatation interface.
+      </action>
+      <action dev="luc" type="update">
+        Disable timing test by default.
+      </action>
+      <action dev="luc" type="update">
+        Renamed setLineSensor into addLineSensor.
+        The new name explains more clearly that several sensors can be set up at
+        once.
+      </action>
+      <action dev="luc" type="fix">
+        First working version of inverse localization.
+      </action>
+      <action dev="luc" type="update">
+        Streamlined line sensor model.
+        We now use a single position for all pixels (but of course still
+        different line-of-sight vectors), as it doesn't really make sense to
+        consider different positions as pixels are only a few microns away from
+        each other.
+      </action>
+      <action dev="luc" type="update">
+        Ensure sensor mean plane normal has a deterministic orientation.
+      </action>
+      <action dev="luc" type="update">
+        Slightly changed the intersection refinement in flat-body.
+      </action>
+      <action dev="luc" type="update">
+        Added a flat-body implementation of refineIntersection.
+        The former implementation ignored the flat-body flag and in fact
+        corrected the flat-body ...
+      </action>
+      <action dev="luc" type="fix">
+        Fixed mean reference point position.
+      </action>
+      <action dev="luc" type="update">
+        Improved light time correction.
+        The current altitude must be considered when computing light time
+        correction. Previous computation was slightly wrong as it only computed
+        light time from the ellipsoid. This induced problems when computing
+        inverse correction.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed computation of latitude crossings for line of sight.
+        In some cases, the line of sight has two intersections with a given
+        iso-latitude cone, and the selecting the closes one to spacecraft was
+        not always the appropriate choice. An hint from the caller was needed,
+        as a point close to the desired intersection.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed non-bracketing error near start of sensor line.
+      </action>
+      <action dev="luc" type="update">
+        Moved reference date from Rugged top class to LineDatation model.
+      </action>
+      <action dev="luc" type="update">
+        Remove check for context, which is ensured since construction.
+      </action>
+      <action dev="luc" type="update">
+        Improved speed of inverse localization test.
+      </action>
+      <action dev="luc" type="fix">
+        First working version of inverse localization.
+        It works in simple cases (no light time correction and no aberration of
+        light correction), and is still really slow.
+      </action>
+      <action dev="luc" type="add">
+        Started implementation of inverse localization (not working yet).
+      </action>
+      <action dev="luc" type="update">
+        Removed a check that is not needed anymore.
+        The indices are now checked at caller level.
+      </action>
+      <action dev="luc" type="update">
+        Added an option to use Duvenhage algorithm with flat-Earth hypothesis.
+        This option is mainly intended for comparison with existing systems. It
+        should not be used for operational systems and the full Duvenhage
+        algorithm with line-of-sight bending in geodetic coordinates should be
+        used instead.
+      </action>
+      <action dev="luc" type="fix">
+        Avoid array bounds error when interpolating exactly at tile edges.
+      </action>
+      <action dev="luc" type="update">
+        Added automatic mean plane computation for line sensors.
+        This will allow implementing inverse localization.
+      </action>
+      <action dev="luc" type="update">
+        Allow direct use of Orekit inertial frames and ellipsoids.
+      </action>
+      <action dev="luc" type="update">
+        Added optional aberration of light correction.
+      </action>
+      <action dev="luc" type="update">
+        Renamed ligth travel time compensation into light time correction.
+        This better matches physics naming conventions.
+      </action>
+      <action dev="luc" type="update">
+        Moved light travel compensation setting out of construction.
+        This setting is not intended to be used often (in fact it should be used
+        only for validation against other systems), so forcing user to set it in
+        all cases was a bad idea. Now the default configuration is to compensate
+        and if user does not want to compensate, he can inhibate it by calling a
+        separate method after construction.
+      </action>
+      <action dev="luc" type="update">
+        Fixing light travel time or not is now a user setting.
+      </action>
+      <action dev="luc" type="update">
+        Configure tiles updater at construction time.
+      </action>
+      <action dev="luc" type="update">
+        Replaced setGeneralContext with constructors.
+      </action>
+      <action dev="luc" type="update">
+        Replaced Rugged interface with a class.
+      </action>
+      <action dev="luc" type="update">
+        Moved enumerates out of Rugged top level interface.
+      </action>
+      <action dev="luc" type="update">
+        Removed SatellitePV and SatelliteQ classes.
+        We now use directly Orekit PVCoordinates and Apache Commons Math
+        Rotation classes.
+      </action>
+      <action dev="luc" type="update">
+        Remove GroundPoint class.
+        We use directly the Orekit GeodeticPoint now.
+      </action>
+      <action dev="luc" type="add">
+        Added ITRF equinox, for applications that rely on it...
+      </action>
+      <action dev="luc" type="fix">
+        Fixed virtual "wall" appearing at tiles boundaries.
+      </action>
+      <action dev="luc" type="fix">
+        Avoid an infinite loop near tiles boundaries.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed error loading elevation from Aster files.
+      </action>
+      <action dev="luc" type="update">
+        Improved accuracy by taking speed of light into account in transforms.
+      </action>
+      <action dev="luc" type="update">
+        Slight speed-up with a dedicated pointOnGround method.
+      </action>
+      <action dev="luc" type="update">
+        Added writing of grid file to full test.
+      </action>
+      <action dev="luc" type="update">
+        Don't use a numerical propagator within direct localization.
+        As the time between each line is really small (milliseconds), it is
+        better to propagate first and use an ephemeris later.
+      </action>
+      <action dev="luc" type="add">
+        New global test (temporary, much too computing intensive).
+      </action>
+      <action dev="luc" type="add">
+        Added a default linear model for line datation.
+      </action>
+      <action dev="luc" type="update">
+        Avoid line-of-sight splitting before its start.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed a numerical issue at tile exit.
+        The low point at tile minimum elevation was computed with a tiny
+        positive error, meaning the point really was above min elevation (at
+        micrometer level). The line segment between entry and exit stopped just
+        before traversing the Digital Elevation Model, and an error was
+        triggered.
+        The solution was to take some margin when computing the segment
+        endpoints at entry and exit: we now start above max elevation and end
+        below min elevation so the intersection should be really on the line.
+      </action>
+      <action dev="luc" type="update">
+        Greatly improved accuracy of direct localization.
+        There were some small errors (at centimeter level) as result points may
+        be slightly out of line of sight. These errors seemed to be due to the
+        final linear line-of-sight model that is used at pixel level.
+        An iterative correction step is performed to ensure the point is really
+        on the line-of-sight.
+        The residual error is now at nanometer level.
+      </action>
+      <action dev="luc" type="add">
+        Allow tolerance for intersections close to pixel edges.
+      </action>
+      <action dev="luc" type="update">
+        Use the four corners of each pixel to initialize min/max kd-tree.
+      </action>
+      <action dev="luc" type="update">
+        Use point and direction rather than two points for pixel intersection.
+      </action>
+      <action dev="luc" type="update">
+        Added a los conversion between Cartesian and geodetic coordinates.
+        The conversion is of course accurate only in the neighborhood of the
+        reference point, as a straight line in Cartesian is not a straight line
+        in geodetic coordinates. What is converted is the initial direction so
+        the two curves are tangent at the reference point.
+        Near Earth surface, the two curves remain within one millimeter of each
+        other after about 100 m travel.
+      </action>
+      <action dev="luc" type="fix">
+        First working version of Duvenhage algorithm!
+      </action>
+      <action dev="luc" type="fix">
+        Handle degenerate intersection cases.
+        The cases handled include linear cases (when Digital Elevation Model has
+        zero curvature) and constant cases (no curvature and line-of-sight
+        parallel to tile, both in or out-of-tile).
+      </action>
+      <action dev="luc" type="fix">
+        First working version of BasicScanAlgorithm.
+        The case where the line-of-sight enters the Digital Elevation Model in
+        one tile on top and exit it in another tile on bottom is not tested yet.
+      </action>
+      <action dev="luc" type="add">
+        Added tests for BasicScanAlgorithm.
+      </action>
+      <action dev="luc" type="update">
+        Don't exclude endpoints when un-merging tiles.
+      </action>
+      <action dev="luc" type="update">
+        Changed private method arguments order for easier understanding.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed computation of sub-tiles crossings.
+      </action>
+      <action dev="luc" type="update">
+        Added library setup test, with and without Orekit.
+      </action>
+      <action dev="luc" type="add">
+        Prepared framework for more complete flight dynamics tests.
+      </action>
+      <action dev="luc" type="update">
+        Implemented intersection at pixel level.
+      </action>
+      <action dev="luc" type="update">
+        Delegate final pixel intersection to Tile.
+      </action>
+      <action dev="luc" type="fix">
+        Added a basic scan algorithm, for testing and validation purposes.
+      </action>
+      <action dev="luc" type="update">
+        Added line-of-sight splitting at sub-tiles boundaries.
+      </action>
+      <action dev="luc" type="update">
+        Added test for level 0 merging row and tall tile.
+      </action>
+      <action dev="luc" type="update">
+        Added methods getLatitudeAtIndex and getLongitudeAtIndex in Tile.
+      </action>
+      <action dev="luc" type="update">
+        Changed semantics of merge methods so they refer to current level.
+      </action>
+      <action dev="luc" type="update">
+        Renamed package dem into raster.
+      </action>
+      <action dev="luc" type="update">
+        Work In Progress on duvenhage algorithm.
+      </action>
+      <action dev="luc" type="update">
+        Added getMergingRow and getMergingColumn methods.
+        These methods are essential to identify where to split the line-of-sight
+        in the Duvenhage algorithm, when going from one level in the min/max
+        kd-tree to the next level.
+      </action>
+      <action dev="luc" type="update">
+        Added isColumnMerging predicate.
+      </action>
+      <action dev="luc" type="update">
+        Added a tolerance around tile for elevation interpolation.
+        Elevation is going to be interpolated at tiles entry and exit points,
+        which are computed from geodetic conversions. The result points may be
+        very slightly out of tiles, at numerical accuracy level. These points
+        should nevertheless be allowed to be interpolated using the closest
+        pixel data, so a tolerance was needed.
+        The SimpleTile class uses a fixed tolerance, arbitrarily set to 1/8
+        pixel.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed interpolation error.
+      </action>
+      <action dev="luc" type="add">
+        started implementation of the Duvenhage algorithm.
+      </action>
+      <action dev="luc" type="update">
+        Added getLatitudeIndex and getLongitudeIndex in Tile.
+      </action>
+      <action dev="luc" type="fix">
+        Handle properly tiles boundaries.    
+        Tiles are expected to have no inter-tile gap, i.e. the boundary row/columns are repeated in neighboring tiles.
+      </action>
+      <action dev="luc" type="update">
+        Improved identification of point location with respect to tile.
+      </action>
+      <action dev="luc" type="update">
+        Sensor directly uses points and vectors, and no more Line.
+      </action>
+      <action dev="luc" type="update">
+        Intersection algorithms can use the new ExtendedEllipsoid.
+        This allows them to chop off line-of-sight at DEM cells boundaries.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed wrong package in tests.
+      </action>
+      <action dev="luc" type="add">
+        Added ExtendedEllipsoid to chop off line-of-sight according to DEM.
+      </action>
+      <action dev="luc" type="update">
+        Split top level class from DEM intersection algorithm.
+      </action>
+      <action dev="luc" type="update">
+        Line numbers are double.
+      </action>
+      <action dev="luc" type="add">
+        Started implementation of direct localization ...
+      </action>
+      <action dev="luc" type="update">
+        Added a protection against unknown sensors.
+      </action>
+      <action dev="luc" type="add">
+        Added configuration for sensor lines of sight.
+      </action>
+      <action dev="luc" type="update">
+        Use an offset from a reference date for all computation.
+      </action>
+      <action dev="luc" type="update">
+        Added a getMergeLevel method to identify when pixels share min/max.
+        This is a first step towards duvenhage's algorithm.
+      </action>
+      <action dev="luc" type="fix">
+        Working version of min/max kd-tree tile.
+      </action>
+      <action dev="luc" type="add">
+        Started implementation of min/max KD-tree tile.
+        This is work in progress, the min/max computation seems wrong for now.
+      </action>
+      <action dev="luc" type="update">
+        pixels are double.
+      </action>
+      <action dev="luc" type="update">
+        Added protection against empty tiles.
+      </action>
+      <action dev="luc" type="update">
+        Removed AbastractTile.
+        Specialized tiles should directly extend SimpleTile.
+      </action>
+      <action dev="luc" type="add">
+        Added global min/max handling for any tile.
+      </action>
+      <action dev="luc" type="add">
+        Prepared first implementation for Duvenhage algorithm.
+        For now, only the (incomplete) API and classes hierarchy has been set
+        up. The tile is still a simple tile and does not yet creates the min/max
+        kd-tree. The algorithm doesn't do anything.
+      </action>
+      <action dev="luc" type="update">
+        Boilerplate part for Rugged interface implementation.
+      </action>
+      <action dev="luc" type="update">
+        Added API for global context initialization.
+      </action>
+      <action dev="luc" type="update">
+        Added containers for parsed position/velocity and attitude.
+      </action>
+      <action dev="luc" type="update">
+        Added a hook called after tile update completion.
+      </action>
+      <action dev="luc" type="update">
+        Force use of factory to create simple tiles.
+      </action>
+      <action dev="luc" type="update">
+        Extract an AbstractTile from SimpleTile
+      </action>
+      <action dev="luc" type="update">
+        Added a simple container for inverse localization result.
+      </action>
+      <action dev="luc" type="update">
+        Expanded API.
+      </action>
+      <action dev="luc" type="update">
+        Use new specialized exceptions.
+      </action>
+      <action dev="luc" type="update">
+        Added error messages handling, with translation.
+      </action>
+      <action dev="luc" type="update">
+        Added design document and diagrams.
+      </action>
+      <action dev="luc" type="update">
+        Implemented TilesCache.
+      </action>
+      <action dev="luc" type="update">
+        Added factory for tiles.
+        The factory is to be implemented by the DEM intersection algorithm, at
+        very low level (typically tiles based on min/max kd-tree for Duvenhage
+        algorithm).
+        The tile updater on the other hand is the responsibility of the mission
+        specific interface.
+      </action>
+      <action dev="luc" type="update">
+        Added method to check ground point coverage.
+      </action>
+      <action dev="luc" type="update">
+        Reference latitude/longitude must be the minimum.    
+        This ensures simple search for tiles given a ground point.
+      </action>
+    </release>
+  </body>
+</document>
-- 
GitLab