package org.orekit.forces.gravity.potential;

import java.util.List;

/**
 * Defines methods for obtaining gravity fields.
 *
 * @author Evan Ward
 * @author Fabien Maussion
 * @author Pascal Parraud
 * @author Luc Maisonobe
 * @see GravityFieldFactory
 * @since 10.1
 */
public interface GravityFields {

    /** Get the constant gravity field coefficients provider from the first supported file.
     *
     * @param degree maximal degree
     * @param order maximal order
     * @return a gravity field coefficients provider containing already loaded data
     * @since 6.0
     * @see #getNormalizedProvider(int, int)
     */
    NormalizedSphericalHarmonicsProvider getConstantNormalizedProvider(int degree,
                                                                       int order);

    /** Get the gravity field coefficients provider from the first supported file.
     *
     * @param degree maximal degree
     * @param order maximal order
     * @return a gravity field coefficients provider containing already loaded data
     * @since 6.0
     * @see #getConstantNormalizedProvider(int, int)
     */
    NormalizedSphericalHarmonicsProvider getNormalizedProvider(int degree,
                                                               int order);

    /** Get the constant gravity field coefficients provider from the first supported file.
     *
     * @param degree maximal degree
     * @param order maximal order
     * @return a gravity field coefficients provider containing already loaded data
     * @since 6.0
     * @see #getUnnormalizedProvider(int, int)
     */
    UnnormalizedSphericalHarmonicsProvider getConstantUnnormalizedProvider(int degree,
                                                                           int order);

    /** Get the gravity field coefficients provider from the first supported file.
     *
     * @param degree maximal degree
     * @param order maximal order
     * @return a gravity field coefficients provider containing already loaded data
     * @since 6.0
     * @see #getConstantUnnormalizedProvider(int, int)
     */
    UnnormalizedSphericalHarmonicsProvider getUnnormalizedProvider(int degree,
                                                                   int order);

    /** Get the ocean tides waves from the first supported file.
     *
     * <p><span style="color:red">
     * WARNING: as of 2013-11-17, there seem to be an inconsistency when loading
     * one or the other file, for wave Sa (Doodson number 56.554) and P1 (Doodson
     * number 163.555). The sign of the coefficients are different. We think the
     * problem lies in the input files from IERS and not in the conversion (which
     * works for all other waves), but cannot be sure. For this reason, ocean
     * tides are still considered experimental at this date.
     * </span></p>
     * @param degree maximal degree
     * @param order maximal order
     * @return list of tides waves containing already loaded data
     * @since 6.1
     */
    List<OceanTidesWave> getOceanTidesWaves(int degree, int order);
}

@@ -303,35 +303,33 @@
  %7B%0A%0A    /** Get 
-the
+a
  constant gravit
@@ -328,32 +328,43 @@
 t gravity field 
+normalized 
 coefficients pro
@@ -372,38 +372,8 @@
 ider
- from the first supported file
 .%0A  
@@ -773,35 +773,33 @@
 );%0A%0A    /** Get 
-the
+a
  gravity field c
@@ -789,32 +789,43 @@
 a gravity field 
+normalized 
 coefficients pro
@@ -833,38 +833,8 @@
 ider
- from the first supported file
 .%0A  
@@ -1234,19 +1234,17 @@
 /** Get 
-the
+a
  constan
@@ -1251,32 +1251,45 @@
 t gravity field 
+unnormalized 
 coefficients pro
@@ -1297,38 +1297,8 @@
 ider
- from the first supported file
 .%0A  
@@ -1716,19 +1716,17 @@
 /** Get 
-the
+a
  gravity
@@ -1724,32 +1724,45 @@
 a gravity field 
+unnormalized 
 coefficients pro
@@ -1770,38 +1770,8 @@
 ider
- from the first supported file
 .%0A  
@@ -2161,32 +2161,32 @@
    int order);%0A%0A
+
     /** Get the 
@@ -2206,38 +2206,8 @@
 aves
- from the first supported file
 .%0A  

Update javadoc for GravityFields