Ellipsoid Class 
(x / a)^2 + (y / b)^2 + (z / c)^2 = 1
Namespace: AGI.Foundation.Geometry.Shapes
The Ellipsoid type exposes the following members.
Name  Description  

Ellipsoid 
Initializes an ellipsoid as a unit sphere.
 
Ellipsoid(Double) 
Initializes an ellipsoid as a sphere.
 
Ellipsoid(Cartesian) 
Initializes an ellipsoid as a scalene ellipsoid.
 
Ellipsoid(Double, Double) 
Initializes an ellipsoid as a unit sphere.
 
Ellipsoid(Double, Double, AxisIndicator) 
Initializes an ellipsoid as a spheroid.
 
Ellipsoid(Double, Double, Double) 
Initializes an ellipsoid as a scalene ellipsoid.
 
Ellipsoid(Cartesian, Double, Double) 
Initializes an ellipsoid as a scalene ellipsoid.
 
Ellipsoid(Double, Double, AxisIndicator, Double, Double) 
Initializes an ellipsoid as a spheroid.
 
Ellipsoid(Double, Double, Double, Double, Double) 
Initializes an ellipsoid as a scalene ellipsoid.

Name  Description  

CenterTolerance 
Gets the numerical tolerance used to determine if a point is located near the center of the ellipsoid.
The value is expressed as a percentage with respect to the unit sphere representing the scaled ellipsoid.
By default, the value is approximately 30%.
 
EllipsoidType 
Gets the type of the ellipsoid based on the semiaxis lengths.
 
SemiaxisLengths 
Gets the semiaxis lengths.
 
SemimajorAxisLength 
Gets the largest semiaxis length.
 
SemiminorAxisLength 
Gets the smallest semiaxis length.
 
SurfaceTolerance 
Gets the numerical tolerance used to determine if a point is located on the surface of the ellipsoid.
 
Volume 
Gets the volume of the ellipsoid.

Name  Description  

ApparentAngularSize 
Provides the minimum and maximum apparent angular size of the ellipsoid, as
viewed from the provided point. The point must be exterior to the ellipsoid.
 
CartesianToCartographic(Cartesian) 
Converts the motion given in terms of cartesian coordinates to motion in cartographic coordinates.
 
CartesianToCartographic(MotionCartesian, Int32) 
Converts the motion given in terms of cartesian coordinates to motion in cartographic coordinates.
 
CartographicToCartesian(Cartographic) 
Converts the motion given in terms of planetodetic cartographic coordinates to motion in cartesian coordinates.
 
CartographicToCartesian(Double, Double) 
Converts the specified planetodetic surface location into a cartesian vector in the fixed frame of the ellipsoid.
 
CartographicToCartesian(MotionCartographic, Int32) 
Converts the motion given in terms of planetodetic cartographic coordinates to motion in cartesian coordinates.
 
CartographicToUniversalPolarStereographic(Cartographic) 
Converts the location given in terms of planetodetic cartographic coordinates to Universal Polar Stereographic (UPS) coordinates.
 
CartographicToUniversalPolarStereographic(Double, Double) 
Converts the location given in terms of planetodetic longitude and latitude to Universal Polar Stereographic (UPS) coordinates.
 
CartographicToUniversalTransverseMercator(Cartographic) 
Converts the location given in terms of planetodetic cartographic coordinates to Universal Transverse Mercator (UTM) coordinates.
 
CartographicToUniversalTransverseMercator(Double, Double) 
Converts the location given in terms of planetodetic longitude and latitude to Universal Transverse Mercator (UTM) coordinates.
 
ComputeApproximateHeight 
Compute an approximate value of the height above the surface.
 
ComputeSurfaceArea(CartographicExtent) 
Computes an approximation of the surface area of a given cartographic extent on the surface of this ellipsoid
using Gauss Legendre 10th order quadrature.
 
ComputeSurfaceArea(Double, Double, Double, Double) 
Computes an approximation of the surface area of a given section of the surface of an ellipsoid using
Gauss Legendre 10th order quadrature.
 
EastNorthUpTransformation 
Returns the quaternion transformation between the xyz axes of the ellipsoid to the axes oriented to the cartographic
eastnorthup axes at the given position on the surface.
 
EllipsoidSeparationDistance(Ellipsoid, Cartesian, Matrix3By3) 
If the given Ellipsoid does not intersect with this ellipsoid this method returns the minimum separation
between the surfaces of the two ellipsoids. If the ellipsoids do intersect, the resulting negative separation is the
depth that the other ellipsoid intersects into this ellipsoid (calculated as the distance between the two points on the ellipsoid
chosen in the same manner as in the nonintersecting case).
 
EllipsoidSeparationDistance(Ellipsoid, Cartesian, Matrix3By3, Cartesian, Cartesian) 
If the given Ellipsoid does not intersect with this ellipsoid this method returns the minimum separation
between the surfaces of the two ellipsoids. If the ellipsoids do intersect, the resulting negative separation is the
depth that the other ellipsoid intersects into this ellipsoid (calculated as the distance between the two points on the ellipsoid
chosen in the same manner as in the nonintersecting case).
 
Equals  (Inherited from Object.)  
Finalize  Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)  
GetDefinitionHashCode 
Gets a hash code representing the definition of this object.
 
GetDegreeOfObstruction(Cartesian, Cartesian) 
Gets the obstruction value given two positions.
 
GetDegreeOfObstruction(Cartesian, Cartesian, Double) 
Gets the obstruction value given two positions.
 
GetHashCode  Serves as a hash function for a particular type. (Inherited from Object.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
Gradient 
The gradient of the ellipsoid evaluated at the provided position.
 
GrazingAltitude(Cartesian, Cartesian) 
Provides the nearest distance between the ellipsoid and the line segment
between the initial and final points.
The line segment is considered to be finite in length.
This means that possibly closer points which are not between the
initial and final points are not reported.
 
GrazingAltitude(Cartesian, UnitCartesian) 
Provides the nearest distance between the ellipsoid and the line segment
from the provided position and along the indicated direction.
The line segment is considered to be infinite in length but starting at
the provided position. This means that possibly smaller grazing altitudes
along the opposite direction are not reported.
 
GrazingAltitude(Cartographic, Cartographic) 
Provides the nearest distance between the ellipsoid and the line segment
from the provided location and along the indicated direction.
The line segment is considered to be infinite in length but starting at
the provided location. This means that possibly smaller grazing altitudes
along the opposite direction are not reported.
 
GrazingAltitude(Cartographic, UnitCartesian) 
Provides the nearest distance between the ellipsoid and the line segment
from the provided location and along the indicated direction.
The line segment is considered to be infinite in length but starting at
the provided location. This means that possibly smaller grazing altitudes
along the opposite direction are not reported.
 
GrazingAltitudeLocation(Cartesian, Cartesian) 
Provides the point on the line segment between the initial and final points
which is nearest to the ellipsoid.
The line segment is considered to be finite in length.
This means that possibly closer points which are not between the
initial and final points are not reported.
 
GrazingAltitudeLocation(Cartesian, UnitCartesian) 
Provides the point on the line segment from the provided position and along
the indicated direction which is nearest to the ellipsoid.
The line segment is considered to be infinite in length but starting at
the provided position.
This means that possibly closer points in the opposite direction are not reported.
 
GrazingAltitudeLocation(Cartographic, Cartographic) 
Provides the point on the line segment between the initial and final points
which is nearest to the ellipsoid.
The line segment is considered to be finite in length.
This means that possibly closer points which are not between the
initial and final points are not reported.
 
GrazingAltitudeLocation(Cartographic, UnitCartesian) 
Provides the point on the line segment from the provided location and along
the indicated direction which is nearest to the ellipsoid.
The line segment is considered to be infinite in length but starting at
the provided location.
This means that possibly closer points in the opposite direction are not reported.
 
GrazingAngleLocations 
Provides the two points on the limb of the ellipsoid with the smallest and largest apparent
angular separation with respect to the indicated direction, as viewed from the provided
point. The point must be exterior to the ellipsoid.
 
GrazingAngles 
Provides the angles from the indicated direction to the two points on the limb
of the ellipsoid with the smallest and largest apparent angular separation, as
viewed from the provided point. The point must be exterior to the ellipsoid.
 
Intersections 
Computes the intersection of the line of sight vector emanating from a given external point with the ellipsoid.
 
IsAtCenter 
Gets a value indicating if the provided position is within the CenterTolerance of the center of the ellipsoid.
The CenterTolerance is expressed as a percentage with respect to the unit sphere representing the scaled ellipsoid.
 
IsAtOrBeneathSurface 
Gets a value indicating if the provided position is within the SurfaceTolerance of the surface of the ellipsoid,
or is beneath the surface of the ellipsoid.
 
IsAtSurface 
Gets a value indicating if the provided position is within the SurfaceTolerance of the surface of the ellipsoid.
 
IsSameDefinition(Object) 
Determines if this object has the same definition as another object.
 
IsSameDefinition(Ellipsoid) 
Determines if this object has the same definition as another object.
 
MemberwiseClone  Creates a shallow copy of the current Object. (Inherited from Object.)  
Norm 
The ellipsoid norm evaluated at the provided position.
 
NormSquared 
The square of the ellipsoid Norm(Cartesian) evaluated at the provided position.
 
NorthEastDownTransformation 
Returns the quaternion transformation between the xyz axes of the ellipsoid to the axes oriented to the cartographic
northeastdown axes at the given position on the surface.
 
PointSeparationDistance(Cartesian) 
If the given Cartesian does not lie within this ellipsoid this method returns the minimum separation
between the this ellipsoid on the given point. If the point is within the ellipsoid do intersect, the resulting negative separation is the
depth that the point lies within this ellipsoid's surface.
 
PointSeparationDistance(Cartesian, Cartesian) 
If the given Cartesian does not lie within this ellipsoid this method returns the minimum separation
between the this ellipsoid on the given point. If the point is within the ellipsoid do intersect, the resulting negative separation is the
depth that the point lies within this ellipsoid's surface.
 
RadialProjection 
Computes the radial projection of the position vector onto the surface of the ellipsoid.
 
SurfaceDistance 
Computes the shortest distance as measured on the surface of the ellipsoid between two planetodetic cartographic positions.
 
SurfaceNormal(Cartographic) 
The unit Cartesian vector directed along the surface normal at the provided cartographic position.
 
SurfaceNormal(Double, Double) 
The unit Cartesian vector directed along the surface normal at the provided cartographic longitude and latitude.
 
SurfaceNormalMotion(Cartesian) 
Converts the position given in terms of a surface point to the surface normal vector.
 
SurfaceNormalMotion(MotionCartesian, Int32) 
Converts the motion given in terms of a surface point to motion of the surface normal vector.
 
SurfacePosition 
Computes the location of a second surface point along the geodesic passing through the provided
surface point having the indicated heading at the provided surface point and located at the
specified distance from the provided surface point.
 
SurfaceProjection(Cartesian) 
Computes the projection of the cartesian position onto the ellipsoid surface.
 
SurfaceProjection(Cartographic) 
Computes the projection of the cartographic position onto the ellipsoid surface.
 
SurfaceProjection(MotionCartesian, Int32) 
Computes the projection of the cartesian motion onto the ellipsoid surface.
 
SurfaceProjection(MotionCartographic, Int32) 
Computes the projection of the cartographic motion onto the ellipsoid surface.
 
Tangents(Cartesian, UnitCartesian) 
From the indicated position, provides the points of tangency on an ellipsoid which also lie in
the plane defined by the indicated normal.
 
Tangents(Cartesian, UnitCartesian, Double) 
From the indicated position, provides the points of tangency on an ellipsoid which also lie on an
axisymmetric cone defined by the indicated axis and half angle.
 
TangentTotal 
Determines whether the cone emanating from sensor at the given position and with the given
heading and half angle lies completely tangent to the Ellipsoid.
 
ToString  Returns a string that represents the current object. (Inherited from Object.)  
UniversalPolarStereographicToCartographic(UniversalPolarStereographic) 
Converts the location given in terms of Universal Polar Stereographic (UPS) coordinates
to planetodetic cartographic coordinates.
 
UniversalPolarStereographicToCartographic(PoleIndicator, Double, Double) 
Converts the location given in terms of Universal Polar Stereographic (UPS) hemisphere, easting, and northing
to planetodetic cartographic coordinates.
 
UniversalTransverseMercatorToCartographic(UniversalTransverseMercator) 
Converts the location given in terms of Universal Transverse Mercator (UTM) coordinates
to planetodetic cartographic coordinates.
 
UniversalTransverseMercatorToCartographic(Int32, PoleIndicator, Double, Double) 
Converts the location given in terms of Universal Transverse Mercator (UTM) zone, hemisphere, easting, and northing
to planetodetic cartographic coordinates.
 
UpEastNorthTransformation 
Returns the quaternion transformation between the xyz axes of the ellipsoid to the axes oriented to the cartographic
upeastnorth axes at the given position on the surface.
