3 #ifndef EllipsoidLibraryImplementation_H 
    4 #define EllipsoidLibraryImplementation_H 
  101   class CCSThreadMutex;
 
  105     class DatumLibraryImplementation;
 
  115     friend class EllipsoidLibraryImplementationCleaner;
 
  131       static void removeInstance();
 
  152       void defineEllipsoid( 
const char* code, 
const char* name, 
double semiMajorAxis, 
double flattening );
 
  167       void removeEllipsoid( 
const char* Code );
 
  179       void ellipsoidCount ( 
long *count );
 
  193       void ellipsoidIndex( 
const char* code, 
long* index );
 
  206       void ellipsoidCode( 
const long index, 
char *code );
 
  220       void ellipsoidName( 
const long index, 
char *name );
 
  234       void ellipsoidParameters( 
const long index, 
double *a, 
double *f );
 
  247       void ellipsoidEccentricity2( 
const long index, 
double *eccentricitySquared );
 
  261       void ellipsoidUserDefined( 
const long index, 
long *result );
 
  296       static int instanceCount;
 
  298       std::vector<Ellipsoid*> ellipsoidList;
 
  309       void loadEllipsoids();
 
  316       static void deleteInstance();