public class HyperbolaBranch2D extends AbstractSmoothCurve2D implements SmoothBoundary2D, Cloneable
| Constructor and Description |
|---|
HyperbolaBranch2D(Hyperbola2D hyperbola,
boolean b)
Generic constructor, using a parent Hyperbola, and a boolean to
specifies if the branch is the right one (crossing the Ox axis on
positive side, b true), or the left one (crossing the Oy axis on the
negative side, b false).
|
| Modifier and Type | Method and Description |
|---|---|
GeneralPath |
appendPath(GeneralPath path)
Append the path of the curve to the given path.
|
CurveSet2D<? extends HyperbolaBranchArc2D> |
clip(Box2D box)
Clips the curve with a box.
|
HyperbolaBranch2D |
clone()
Overrides Object declaration to ensure Curve2D implementation are
cloned as Curve2D.
|
boolean |
contains(double x,
double y)
Checks if the shape contains the planar point defined by (x,y).
|
boolean |
contains(Point2D point)
Checks if the shape contains the given point.
|
boolean |
equals(Object obj) |
void |
fill(Graphics2D g2)
Throws an UnboundedShapeException
|
Collection<ContinuousBoundary2D> |
getBoundaryCurves()
Returns an instance of ArrayList
this. |
Box2D |
getBoundingBox()
Returns a bounding box with infinite bounds in every direction
|
double |
getCurvature(double t)
Use formula given in http://mathworld.wolfram.com/Hyperbola.html
|
double |
getDistance(double x,
double y)
get the distance of the shape to the given point, specified by x and y,
or the distance of point to the frontier of the shape in the case of a
plain (i.e.
|
double |
getDistance(Point2D point)
get the distance of the shape to the given point, or the distance of
point to the frontier of the shape in the case of a plain shape.
|
Domain2D |
getDomain()
Returns the domain delimited by this boundary.
|
Hyperbola2D |
getHyperbola()
Returns the supporting hyperbola of this branch.
|
Collection<Point2D> |
getIntersections(LinearShape2D line)
Returns the intersection points of the curve with the specified line.
|
Point2D |
getPoint(double t)
Gets the point from a parametric representation of the curve.
|
double |
getPosition(Point2D point)
Get position of the point on the curve.
|
HyperbolaBranch2D |
getReverseCurve()
Returns the curve with same trace on the plane with parametrization in
reverse order.
|
double |
getSignedDistance(double x,
double y)
The same as getSignedDistance(Point2D), but by passing 2 double as
arguments.
|
double |
getSignedDistance(Point2D point)
Get the signed distance of the curve to the given point: this distance is
positive if the point lies outside the shape, and is negative if the
point lies inside the shape.
|
HyperbolaBranchArc2D |
getSubCurve(double t0,
double t1)
Returns an instance of HyprbolaBranchArc2D initialized with
this. |
double |
getT0()
Returns Double.NEGATIVE_INFINITY.
|
double |
getT1()
Returns Double.POSITIVE_INFINITY.
|
Vector2D |
getTangent(double t) |
double |
getWindingAngle(Point2D point)
Return the angle portion that the curve turn around the given point.
|
boolean |
isBounded()
Returns false, as an hyperbola branch is never bounded.
|
boolean |
isClosed()
Return false, by definition of Hyperbola branch
|
boolean |
isEmpty()
Returns false, as an hyperbola branch is never empty.
|
boolean |
isInside(Point2D point)
Returns true if the point is 'inside' the domain bounded by the curve.
|
boolean |
isPositiveBranch()
Returns true if this branch is the positive one, i.e.
|
double |
project(Point2D point)
Returns the position of the closest orthogonal projection of the point on
the curve, or of the closest singular point.
|
HyperbolaBranch2D |
transform(AffineTransform2D trans)
Transforms the curve by an affine transform.
|
getLeftTangent, getRightTangent, getSingularPoints, getSmoothPieces, isSingulardraw, getAsAWTShape, getAsPolyline, getContinuousCurves, getFirstPoint, getLastPoint, wrapCurvefinalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAsPolyline, getLeftTangent, getRightTangent, getSmoothPiecesdraw, getAsAWTShape, getContinuousCurves, getFirstPoint, getLastPoint, getSingularPoints, isSingularpublic HyperbolaBranch2D(Hyperbola2D hyperbola, boolean b)
public Hyperbola2D getHyperbola()
public boolean isPositiveBranch()
public double getCurvature(double t)
getCurvature in interface SmoothCurve2Dpublic Vector2D getTangent(double t)
getTangent in interface SmoothCurve2Dpublic Collection<ContinuousBoundary2D> getBoundaryCurves()
this.getBoundaryCurves in interface Boundary2Dpublic Domain2D getDomain()
Boundary2DgetDomain in interface Boundary2Dpublic void fill(Graphics2D g2)
fill in interface Boundary2Dpublic double getSignedDistance(Point2D point)
OrientedCurve2DgetSignedDistance in interface OrientedCurve2Dpoint - a point of the planepublic double getSignedDistance(double x,
double y)
OrientedCurve2DgetSignedDistance in interface OrientedCurve2Dx - x-coord of a pointy - y-coord of a pointpublic double getWindingAngle(Point2D point)
OrientedCurve2DgetWindingAngle in interface OrientedCurve2Dpoint - a point of the planepublic boolean isInside(Point2D point)
OrientedCurve2DisInside in interface Boundary2DisInside in interface OrientedCurve2Dpoint - a point in the planepublic boolean isClosed()
isClosed in interface ContinuousCurve2Dpublic GeneralPath appendPath(GeneralPath path)
ContinuousCurve2DappendPath in interface ContinuousCurve2Dpath - a path to modifypublic Point2D getPoint(double t)
Curve2Dpublic double getPosition(Point2D point)
Curve2DgetPosition in interface Curve2Dpoint - a point belonging to the curvepublic double project(Point2D point)
Curve2Dpublic HyperbolaBranch2D getReverseCurve()
Curve2DgetReverseCurve in interface ContinuousCurve2DgetReverseCurve in interface Curve2DgetReverseCurve in interface SmoothCurve2DgetReverseCurve in interface Boundary2DgetReverseCurve in interface ContinuousBoundary2DgetReverseCurve in interface ContinuousOrientedCurve2DgetReverseCurve in interface OrientedCurve2DgetReverseCurve in interface SmoothBoundary2DgetReverseCurve in interface SmoothOrientedCurve2Dpublic HyperbolaBranchArc2D getSubCurve(double t0, double t1)
this.getSubCurve in interface ContinuousCurve2DgetSubCurve in interface Curve2DgetSubCurve in interface SmoothCurve2DgetSubCurve in interface ContinuousOrientedCurve2DgetSubCurve in interface SmoothOrientedCurve2Dt0 - position of the start of the sub-curvet1 - position of the end of the sub-curvepublic double getT0()
public double getT1()
public Collection<Point2D> getIntersections(LinearShape2D line)
Curve2DgetIntersections in interface Curve2Dpublic Box2D getBoundingBox()
getBoundingBox in interface Shape2Dpublic CurveSet2D<? extends HyperbolaBranchArc2D> clip(Box2D box)
clip in interface ContinuousCurve2Dclip in interface Curve2Dclip in interface SmoothCurve2Dclip in interface ContinuousOrientedCurve2Dclip in interface OrientedCurve2Dclip in interface SmoothOrientedCurve2Dclip in interface Shape2Dbox - the clipping boxpublic double getDistance(Point2D point)
Shape2DgetDistance in interface Shape2Dpublic double getDistance(double x,
double y)
Shape2DgetDistance in interface Shape2Dpublic boolean isBounded()
public boolean isEmpty()
public HyperbolaBranch2D transform(AffineTransform2D trans)
Curve2Dtransform in interface ContinuousCurve2Dtransform in interface Curve2Dtransform in interface SmoothCurve2Dtransform in interface Boundary2Dtransform in interface ContinuousBoundary2Dtransform in interface ContinuousOrientedCurve2Dtransform in interface OrientedCurve2Dtransform in interface SmoothBoundary2Dtransform in interface SmoothOrientedCurve2Dtransform in interface Shape2Dtrans - an affine transformpublic boolean contains(Point2D point)
Shape2Dpublic boolean contains(double x,
double y)
Shape2Dpublic HyperbolaBranch2D clone()
Curve2Dclone in interface Curve2Dclone in class AbstractSmoothCurve2DCopyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.