public final class EllipticCone extends Object implements Cone, Serializable
This is a describing class for a 3D oblique circular cone ended by a plane normal to its axis, with some algorithm to compute intersections and distances to some other objects.
Shape.distanceTo(Line)
,
Shape.intersects(Line)
,
Serialized FormCreation with two angles, a height and three Vector3D : Vector3D origin = new Vector3D(1.0, 6.0, -2.0); Vector3D direction = new Vector3D(6.0, -3.0, -1.0); Vector3D uVector = new Vector3D(-5.0, 3.0, 0.0); double angleU = 2.0; double angleV = 2.0; double height = 5.0; ObliqueCircularCone cone = new ObliqueCircularCone(origin, direction, uVector, angleU, angleV, length); Intersection with a line : boolean intersects = cone(line);
Constructor and Description |
---|
EllipticCone(Vector3D inOrigin,
Vector3D inDirection,
Vector3D inUvector,
double inAngleU,
double inAngleV,
double inHeight)
Build an oblique circular cone from its radius, the height, the origin (apex), the approximative u vector of the
local frame and direction of its axis.
|
Modifier and Type | Method and Description |
---|---|
Vector3D[] |
closestPointTo(Line line)
Computes the points of the shape and the line realizing
the shortest distance.
|
double |
distanceTo(Line line)
Computes the distance to a line.
|
double |
getAngleU() |
double |
getAngleV() |
Vector3D |
getDirection() |
double |
getHeight() |
Vector3D[] |
getIntersectionPoints(Line line)
Compute the intersection points with a line.
|
Vector3D |
getOrigin() |
Vector3D |
getU() |
Vector3D |
getV() |
boolean |
intersects(Line line)
Tests the intersection with a line.
|
String |
toString()
Get a representation for this oblique circular cone.
|
public EllipticCone(Vector3D inOrigin, Vector3D inDirection, Vector3D inUvector, double inAngleU, double inAngleV, double inHeight)
inOrigin
- the origin of the axisinDirection
- the direction of the axisinUvector
- approximative U vector of the local frame : corrected to be orthogonal to the directioninAngleU
- the angle of the cone on U directioninAngleV
- the angle of the cone on V directioninHeight
- the height of the cone on its axisIllegalArgumentException
- if one angle or the height is negative or null, or if the direction vector or u vector has a null
norm, or if they are parallel.public double getHeight()
public Vector3D getOrigin()
public Vector3D getDirection()
public double getAngleU()
public double getAngleV()
public Vector3D getU()
public Vector3D getV()
public boolean intersects(Line line)
intersects
in interface Shape
line
- the linepublic Vector3D[] getIntersectionPoints(Line line)
getIntersectionPoints
in interface Shape
line
- the linepublic double distanceTo(Line line)
distanceTo
in interface Shape
line
- the linepublic Vector3D[] closestPointTo(Line line)
closestPointTo
in interface Shape
line
- the lineCopyright © 2023 CNES. All rights reserved.