math.geom3d.curve
Interface Curve3D

Package class diagram package Curve3D
All Superinterfaces:
Serializable, Shape3D
All Known Subinterfaces:
ContinuousCurve3D
All Known Implementing Classes:
LineSegment3D, StraightLine3D

public interface Curve3D
extends Shape3D

Interface for 3D space curve. Curve can be continuous, or a set of continuous curves.

Author:
dlegland

Nested Class Summary
 
Nested classes/interfaces inherited from interface math.geom3d.Shape3D
Shape3D.EmptySet3D
 
Field Summary
 
Fields inherited from interface math.geom3d.Shape3D
ACCURACY, EMPTY_SET
 
Method Summary
 Collection<? extends ContinuousCurve3D> getContinuousCurves()
          Returns the collection of continuous curves which constitute this curve.
 Point3D getFirstPoint()
          Get the first point of the curve.
 Point3D getLastPoint()
          Get the last point of the curve.
 Point3D getPoint(double t)
          Gets the point from a parametric representation of the curve.
 Point3D getPoint(double t, Point3D point)
          Same as getPoint(t), but gives the point as a parameter.
 double getPosition(Point3D point)
          Get position of the point on the curve.
 Curve3D getReverseCurve()
          Returns the curve with same trace on the plane with parametrization in reverse order.
 Collection<Point3D> getSingularPoints()
          Returns a set of singular points, i. e. which do not locally admit derivative.
 Curve3D getSubCurve(double t0, double t1)
          Returns a portion of the original curve, delimited by two positions on the curve.
 double getT0()
          Get value of parameter t for the first point of the curve.
 double getT1()
          Get value of parameter t for the last point of the curve.
 double project(Point3D point)
          Returns the position of the closest orthogonal projection of the point on the curve, or of the closest singular point.
 Curve3D transform(AffineTransform3D trans)
          Transforms the curve by an affine transform.
 
Methods inherited from interface math.geom3d.Shape3D
clip, contains, getBoundingBox, getDistance, isBounded, isEmpty
 

Method Detail

getT0

double getT0()
Get value of parameter t for the first point of the curve. It can be -Infinity, in this case the piece of curve is not bounded.


getT1

double getT1()
Get value of parameter t for the last point of the curve. It can be +Infinity, in this case the piece of curve is not bounded.


getPoint

Point3D getPoint(double t)
Gets the point from a parametric representation of the curve. If the parameter lies outside the definition range, the parameter corresponding to the closest bound is used instead. This method can be used to draw an approximated outline of a curve, by selecting multiple values for t and drawing lines between them.


getPoint

Point3D getPoint(double t,
                 Point3D point)
Same as getPoint(t), but gives the point as a parameter. This avoids repetitive memory allocations.


getFirstPoint

Point3D getFirstPoint()
Get the first point of the curve. It must returns the same result as getPoint(getT0()).

Returns:
the first point of the curve

getLastPoint

Point3D getLastPoint()
Get the last point of the curve. It must returns the same result as getPoint(getT1()).

Returns:
the last point of the curve.

getSingularPoints

Collection<Point3D> getSingularPoints()
Returns a set of singular points, i. e. which do not locally admit derivative.

Returns:
a collection of Point3D.

getPosition

double getPosition(Point3D point)
Get position of the point on the curve. If the point does not belong to the curve, return Double.NaN.

Parameters:
point - a point belonging to the curve
Returns:
the position of the point on the curve

project

double project(Point3D point)
Returns the position of the closest orthogonal projection of the point on the curve, or of the closest singular point. This function should always returns a valid value.

Parameters:
point - a point to project
Returns:
the position of the closest orthogonal projection

getReverseCurve

Curve3D getReverseCurve()
Returns the curve with same trace on the plane with parametrization in reverse order.


getContinuousCurves

Collection<? extends ContinuousCurve3D> getContinuousCurves()
Returns the collection of continuous curves which constitute this curve.

Returns:
a collection of continuous curves.

getSubCurve

Curve3D getSubCurve(double t0,
                    double t1)
Returns a portion of the original curve, delimited by two positions on the curve.

Parameters:
t0 - position of the start of the sub-curve
t1 - position of the end of the sub-curve
Returns:
the portion of original curve comprised between t0 and t1.

transform

Curve3D transform(AffineTransform3D trans)
Transforms the curve by an affine transform. The result is an instance of Curve3D.

Specified by:
transform in interface Shape3D


Copyright © 2015 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.