# Ellipsoid Class

## Uses

GeoCalcPBW::Serializable

## Description

The Ellipsoid class represents a mathematical approximation of the shape of the Earth.  An Ellipsoid can be defined by its SemiMajor and SemiMinor radii, or by its SemiMajor radius and an InverseFlattening value.  It provides methods for performing mathematical computations about the shape and size of the Ellipsoid, as well as the relationship between points on the Ellipsoid.

This object can also represent a sphere.  The sphere is a unique case where the SemiMajor and SemiMinor radii are equal.  It is not possible to define a sphere by specifying the SemiMajor radius and the InverseFlattening value; one must specify the SemiMajor and SemiMinor radii.

## Public Constructors

 Constructor Description CreateEllipsoid Creates a new instance of the Ellipsoid class Ellipsoid Creates a new instance of the Ellipsoid class

## Public Methods

 Method Description Clone Inherited from GeoCalcPBW::Serializable CCGridDirect Given a reference point and a CCG string, this method calculates the location of the point described by the CCG string CCGridInverse Given a reference point and a contact point, this method calculates the CCG string that describes the location of the contact point relative to the reference point ComputeDirect Given a point, an azimuth, and a distance, this method computes a Great Circle that passes through the specified point at the specified azimuth and returns the point on the Great Circle that is the specified distance from the input point ComputeInverse Given two points, this method computes a Great Circle that passes through both points and returns the azimuth at which the Great Circle intersects each point as well as the distance between the points on the Great Circle ComputeOrthometricScaleAtLatitude Computes the height scale at a specific latitude and ellipsoid height ComputeRadiusAtLatitude Produces the radius of the Ellipsoid at the specified latitude DeepCopy Produces a deep-copy of an Ellipsoid get_Eccentricity Returns the eccentricity of this Ellipsoid get_EccentricitySquared Returns the square of the eccentricity of this Ellipsoid get_Identifiers Inherited from GeoCalcPBW::Serializable get_InverseFlattening Returns the inverse of the flattening for this Ellipsoid get_InvFlatDefinitive Indicates if the InverseFlattening property should be used to define the Ellipsoid get_Name Inherited from GeoCalcPBW::Serializable get_ObjectType Inherited from GeoCalcPBW::Serializable get_Remarks Inherited from GeoCalcPBW::Serializable get_SemiMajor Returns the semi-major radius of this Ellipsoid get_SemiMinor Returns the semi-minor radius of this Ellipsoid HasIdentifierIn Inherited from GeoCalcPBW::Serializable PolygonArea Calculates the area of a polygon on this Ellipsoid RhumbDirect Given a point, an azimuth, and a distance, this method computes a Rhumb Line and finds the point that is the specified distance away from the input point RhumbInverse Given two points, this method computes a Rhumb Line between the points and returns the distance between the points on the line and the azimuth of the line set_Identifiers Inherited from GeoCalcPBW::Serializable set_InverseFlattening Sets the inverse of the flattening for this Ellipsoid set_InvFlatDefinitive Sets whether the InverseFlattening property should be used to define the Ellipsoid set_Name Inherited from GeoCalcPBW::Serializable set_Remarks Inherited from GeoCalcPBW::Serializable set_SemiMajor Sets the semi-major radius of this Ellipsoid set_SemiMinor Sets the semi-minor radius of this Ellipsoid ValueEquals Compares the value of two Ellipsoids