public final class InfiniteEllipticCylinder extends Object implements InfiniteCylinder, Serializable
This class is the Infinite Elliptic Cylinder class.
It represents the mathematical object by he same name
InfiniteCylinder
,
Shape
,
Serialized Form Vector3D axis = new Vector3D(0,0,1);
Vector3D axisU = new Vector3D(1,0,0);
double a = 1;
double b = 1.5;
InfiniteEllipticCylinder myCylinder = new InfiniteEllipticCylinder(axis, axisU, a, b);
Constructor and Description |
---|
InfiniteEllipticCylinder(Vector3D myLocalOrigin,
Vector3D myDirection,
Vector3D myXAxis,
double myA,
double myB)
This is the constructor for the class InfiniteEllipticCylinder.
|
Modifier and Type | Method and Description |
---|---|
Vector3D[] |
closestPointTo(Line line)
Calculate closest point to a line
|
Vector3D |
closestPointTo(Vector3D point)
Computes the closest point on the cone to a user specified point
|
double |
distanceTo(Line line)
Get the smallest distance from the line to the cone
|
double |
distanceTo(Vector3D point) |
Vector3D |
getAffineLocalExpression(Vector3D myVector)
Express a Vector3D in spheroid local frame.
|
Vector3D |
getAffineStandardExpression(Vector3D myVector)
Express a Vector3D in standard basis.
|
Vector3D |
getDirection()
This method returns the main axis of the cylinder
|
Vector3D[] |
getIntersectionPoints(Line line)
This methods computes and returns the intersection points between a line and the cylinder.
|
Matrix3D |
getLocalBasisTransform()
This method returns the matrix of the transformation to the local basis
|
Vector3D |
getOrigin()
This method returns the position of the cylinder on the Oxy plane
|
double |
getSemiAxisA()
This method returns the semi axis a
|
double |
getSemiAxisB()
This method returns the semi axis b
|
Matrix3D |
getStandardBasisTransform()
This method returns the matrix of the transformation to the standard basis
|
Vector3D |
getVectorialLocalExpression(Vector3D myVector)
Express a Vector3D in spheroid local frame.
|
Vector3D |
getVectorialStandardExpression(Vector3D myVector)
Express a Vector3D in standard basis.
|
boolean |
intersects(Line line)
This method returns true if the user specified line intersects the cylinder.
|
String |
toString()
Get a representation for this infinite elliptic cylinder.
|
public InfiniteEllipticCylinder(Vector3D myLocalOrigin, Vector3D myDirection, Vector3D myXAxis, double myA, double myB)
myLocalOrigin
- Origin of cylinder. It is a point that belong to the cylinders' axis.myDirection
- Cylinder directionmyXAxis
- Transver axis along which semi axis is a : corrected to be orthogonal to the directionmyA
- semi axis of cylinder along myXAxismyB
- semi axis of cylinder along axis perpendicular to myXAxis and myAxisIllegalArgumentException
- if semi-axis or norm of revolution axis is nullpublic Vector3D getOrigin()
public Vector3D getDirection()
public double getSemiAxisA()
public Matrix3D getLocalBasisTransform()
public double getSemiAxisB()
public Matrix3D getStandardBasisTransform()
public Vector3D getVectorialLocalExpression(Vector3D myVector)
myVector
- Vector expressed in standard basispublic Vector3D getAffineStandardExpression(Vector3D myVector)
myVector
- Vector expressed in spheroid local framepublic Vector3D getAffineLocalExpression(Vector3D myVector)
myVector
- Vector expressed in standard basispublic Vector3D getVectorialStandardExpression(Vector3D myVector)
myVector
- Vector expressed in spheroid local framepublic boolean intersects(Line line)
intersects
in interface Shape
line
- User specified linepublic Vector3D[] getIntersectionPoints(Line line)
getIntersectionPoints
in interface Shape
line
- The line with which the intersections are to be computedpublic double distanceTo(Vector3D point)
point
- specified by user in standard basispublic Vector3D closestPointTo(Vector3D point)
point
- specified by user in standard basispublic Vector3D[] closestPointTo(Line line)
closestPointTo
in interface Shape
line
- user lineclosestPointTo(Vector3D)
public double distanceTo(Line line)
distanceTo
in interface Shape
line
- the lineCopyright © 2019 CNES. All Rights Reserved.