Package org.orekit.bodies
Class Ellipsoid
java.lang.Object
org.orekit.bodies.Ellipsoid
- Direct Known Subclasses:
OneAxisEllipsoid
Modeling of a general three-axes ellipsoid.
- Since:
- 7.0
- Author:
- Luc Maisonobe
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublegetA()Get the length of the first semi-axis.doublegetB()Get the length of the second semi-axis.doublegetC()Get the length of the third semi-axis.getFrame()Get the ellipsoid central frame.<T extends CalculusFieldElement<T>>
FieldEllipse<T> getPlaneSection(FieldVector3D<T> planePoint, FieldVector3D<T> planeNormal) Compute the 2D ellipse at the intersection of the 3D ellipsoid and a plane.getPlaneSection(Vector3D planePoint, Vector3D planeNormal) Compute the 2D ellipse at the intersection of the 3D ellipsoid and a plane.<T extends CalculusFieldElement<T>>
booleanisInside(FieldVector3D<T> point) Check if a point is inside the ellipsoid.booleanCheck if a point is inside the ellipsoid.<T extends CalculusFieldElement<T>>
FieldVector3D<T> pointOnLimb(FieldVector3D<T> observer, FieldVector3D<T> outside) Find a point on ellipsoid limb, as seen by an external observer.pointOnLimb(Vector3D observer, Vector3D outside) Find a point on ellipsoid limb, as seen by an external observer.
-
Constructor Details
-
Ellipsoid
Simple constructor.- Parameters:
frame- at the ellipsoid center, aligned with principal axesa- first semi-axis lengthb- second semi-axis lengthc- third semi-axis length
-
-
Method Details
-
getA
public double getA()Get the length of the first semi-axis.- Returns:
- length of the first semi-axis (m)
-
getB
public double getB()Get the length of the second semi-axis.- Returns:
- length of the second semi-axis (m)
-
getC
public double getC()Get the length of the third semi-axis.- Returns:
- length of the third semi-axis (m)
-
getFrame
Get the ellipsoid central frame.- Returns:
- ellipsoid central frame
-
isInside
Check if a point is inside the ellipsoid.- Parameters:
point- point to check, in the ellipsoid frame- Returns:
- true if the point is inside the ellipsoid (or exactly on ellipsoid surface)
- Since:
- 7.1
-
isInside
Check if a point is inside the ellipsoid.- Type Parameters:
T- the type of the field elements- Parameters:
point- point to check, in the ellipsoid frame- Returns:
- true if the point is inside the ellipsoid (or exactly on ellipsoid surface)
- Since:
- 12.0
-
getPlaneSection
public Ellipse getPlaneSection(Vector3D planePoint, Vector3D planeNormal) throws MathRuntimeException Compute the 2D ellipse at the intersection of the 3D ellipsoid and a plane.- Parameters:
planePoint- point belonging to the plane, in the ellipsoid frameplaneNormal- normal of the plane, in the ellipsoid frame- Returns:
- plane section or null if there are no intersections
- Throws:
MathRuntimeException- if the norm of planeNormal is null
-
getPlaneSection
public <T extends CalculusFieldElement<T>> FieldEllipse<T> getPlaneSection(FieldVector3D<T> planePoint, FieldVector3D<T> planeNormal) throws MathRuntimeException Compute the 2D ellipse at the intersection of the 3D ellipsoid and a plane.- Type Parameters:
T- the type of the field elements- Parameters:
planePoint- point belonging to the plane, in the ellipsoid frameplaneNormal- normal of the plane, in the ellipsoid frame- Returns:
- plane section or null if there are no intersections
- Throws:
MathRuntimeException- if the norm of planeNormal is null- Since:
- 12.0
-
pointOnLimb
Find a point on ellipsoid limb, as seen by an external observer.- Parameters:
observer- observer position in ellipsoid frameoutside- point outside ellipsoid in ellipsoid frame, defining the phase around limb- Returns:
- point on ellipsoid limb
- Throws:
MathRuntimeException- if ellipsoid center, observer and outside points are aligned- Since:
- 7.1
-
pointOnLimb
public <T extends CalculusFieldElement<T>> FieldVector3D<T> pointOnLimb(FieldVector3D<T> observer, FieldVector3D<T> outside) throws MathRuntimeException Find a point on ellipsoid limb, as seen by an external observer.- Type Parameters:
T- the type of the field elements- Parameters:
observer- observer position in ellipsoid frameoutside- point outside ellipsoid in ellipsoid frame, defining the phase around limb- Returns:
- point on ellipsoid limb
- Throws:
MathRuntimeException- if ellipsoid center, observer and outside points are aligned- Since:
- 12.0
-