| Ellipsoid Class | 
A quadratic surface defined in Cartesian coordinates by the equation:
(x / a)^2 + (y / b)^2 + (z / c)^2 = 1
 Inheritance Hierarchy
Inheritance HierarchyNamespace: AGI.Foundation.Geometry.Shapes
 Syntax
SyntaxThe Ellipsoid type exposes the following members.
 Constructors
Constructors| Name | Description | |
|---|---|---|
|  | Ellipsoid | 
            Initializes an ellipsoid as a unit sphere.
             | 
|  | Ellipsoid(Cartesian) | 
            Initializes an ellipsoid as a scalene ellipsoid.
             | 
|  | Ellipsoid(Double) | 
            Initializes an ellipsoid as a sphere.
             | 
|  | Ellipsoid(Double, Double) | 
            Initializes an ellipsoid as a unit sphere.
             | 
|  | Ellipsoid(Cartesian, Double, Double) | 
            Initializes an ellipsoid as a scalene ellipsoid.
             | 
|  | Ellipsoid(Double, Double, AxisIndicator) | 
            Initializes an ellipsoid as a spheroid.
             | 
|  | Ellipsoid(Double, 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.
             | 
 Properties
Properties| 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.
             | 
 Methods
Methods| 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 x-y-z axes of the ellipsoid to the axes oriented to the cartographic
            east-north-up 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 non-intersecting 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 non-intersecting case).
             | 
|  | Equals | Determines whether the specified object is equal to the current object.(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 the default hash function. (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(Ellipsoid) | 
        Determines if this object has the same definition as another object.
       | 
|  | IsSameDefinition(Object) | 
        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 x-y-z axes of the ellipsoid to the axes oriented to the cartographic
            north-east-down 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 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 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 x-y-z axes of the ellipsoid to the axes oriented to the cartographic
            up-east-north axes at the given position on the surface.
             | 
 See Also
See Also