math.geom2d.line
Class InvertedRay2D
- java.lang.Object
-
- math.geom2d.curve.AbstractContinuousCurve2D
-
- math.geom2d.curve.AbstractSmoothCurve2D
-
- math.geom2d.line.AbstractLine2D
-
- math.geom2d.line.InvertedRay2D
-
- All Implemented Interfaces:
- java.lang.Cloneable, CirculinearContinuousCurve2D, CirculinearCurve2D, CirculinearElement2D, CirculinearShape2D, ContinuousCurve2D, Curve2D, SmoothCurve2D, ContinuousOrientedCurve2D, OrientedCurve2D, SmoothOrientedCurve2D, GeometricObject2D, LinearElement2D, LinearShape2D, Shape2D
public class InvertedRay2D extends AbstractLine2D implements java.lang.Cloneable
Inverted ray is defined from an origin and a direction vector. It is composed of all points satisfying the parametric equation:
withx(t) = x0+t*dx
y(t) = y0+t*dytcomprised between -INFINITY and 0. This is complementary class to Ray2D.
-
-
Constructor Summary
Constructors Constructor and Description InvertedRay2D()Empty constructor for Ray2D.InvertedRay2D(double x, double y, double angle)Creates a new Ray2D, originating from point(x, y)<\code>, and going in the direction specified byangle<\code> (in radians).InvertedRay2D(double x1, double y1, double dx, double dy)Creates a new Ray2D, originating from point(x1,y1)<\code>, and going in the direction defined by vector(dx, dy)<\code>.InvertedRay2D(LinearShape2D line)Define a new Ray, with same characteristics as given object.InvertedRay2D(Point2D point, double angle)Creates a new Ray2D, originating from pointpoint<\code>, and going in the direction specified byangle<\code> (in radians).InvertedRay2D(Point2D point, double dx, double dy)Creates a new Ray2D, originating from pointpoint<\code>, and going in the direction defined by vector(dx,dy)<\code>.InvertedRay2D(Point2D point1, Point2D point2)Creates a new Ray2D, originating frompoint1<\code>, and going in the direction ofpoint2<\code>.InvertedRay2D(Point2D point, Vector2D vector)Creates a new Ray2D, originating from pointpoint<\code>, and going in the direction specified byvector<\code>.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description booleanalmostEquals(GeometricObject2D obj, double eps)Checks if the two objects are similar up to a given threshold value.java.awt.geom.GeneralPathappendPath(java.awt.geom.GeneralPath path)Throws an infiniteShapeExceptionBox2DboundingBox()Returns the bounding box of the shape.InvertedRay2Dclone()Deprecated.use copy constructor instead (0.11.2)booleancontains(double x, double y)Checks if the shape contains the planar point defined by (x,y).static InvertedRay2Dcreate(Point2D target, Vector2D direction)Deprecated.since 0.11.1booleanequals(java.lang.Object obj)java.awt.geom.GeneralPathgetGeneralPath()Throws an infiniteShapeExceptiondoublegetT0()Deprecated.replaced by t0() (since 0.11.1).doublegetT1()Deprecated.replaced by t1() (since 0.11.1).booleanisBounded()Always returns false, because n inverted ray is not bounded.InvertedRay2Dparallel(double d)Returns another instance of InvertedRay2D, parallel to this one, and located at the given distance.Point2Dpoint(double t)Returns the point located at the given position on the curve.Ray2Dreverse()Reverses this curve, and return the result as an instance of Ray2D.doublet0()Returns Negative infinity.doublet1()Returns 0.java.lang.StringtoString()InvertedRay2Dtransform(AffineTransform2D trans)Transforms the curve by an affine transform.-
Methods inherited from class math.geom2d.line.AbstractLine2D
buffer, cartesianEquation, clip, contains, continuousCurves, curvature, direction, distance, distance, getIntersection, getSymmetric, getSymmetric, horizontalAngle, intersection, intersections, isClosed, isColinear, isColinear, isEmpty, isInside, isParallel, isParallel, length, length, origin, parallel, parametric, perpendicular, polarCoefficients, polarCoefficientsSigned, position, position, positionOnLine, positionOnLine, project, projectedPoint, projectedPoint, signedDistance, signedDistance, smoothPieces, subCurve, supportingLine, tangent, transform, windingAngle
-
Methods inherited from class math.geom2d.curve.AbstractSmoothCurve2D
isSingular, leftTangent, normal, rightTangent, singularPoints, vertices
-
Methods inherited from class math.geom2d.curve.AbstractContinuousCurve2D
asAwtShape, asPolyline, draw, firstPoint, lastPoint
-
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface math.geom2d.curve.SmoothCurve2D
normal
-
Methods inherited from interface math.geom2d.curve.ContinuousCurve2D
asPolyline, leftTangent, rightTangent
-
Methods inherited from interface math.geom2d.curve.Curve2D
asAwtShape, draw, firstPoint, isSingular, lastPoint, singularPoints, vertices
-
-
-
-
Constructor Detail
-
InvertedRay2D
public InvertedRay2D()
Empty constructor for Ray2D. Default is ray starting at origin, and having a slope of 1*dx and 0*dy.
-
InvertedRay2D
public InvertedRay2D(Point2D point1, Point2D point2)
Creates a new Ray2D, originating frompoint1<\code>, and going in the direction ofpoint2<\code>.
-
InvertedRay2D
public InvertedRay2D(double x1, double y1, double dx, double dy)Creates a new Ray2D, originating from point(x1,y1)<\code>, and going in the direction defined by vector(dx, dy)<\code>.
-
InvertedRay2D
public InvertedRay2D(Point2D point, double dx, double dy)
Creates a new Ray2D, originating from pointpoint<\code>, and going in the direction defined by vector(dx,dy)<\code>.
-
InvertedRay2D
public InvertedRay2D(Point2D point, Vector2D vector)
Creates a new Ray2D, originating from pointpoint<\code>, and going in the direction specified byvector<\code>.
-
InvertedRay2D
public InvertedRay2D(Point2D point, double angle)
Creates a new Ray2D, originating from pointpoint<\code>, and going in the direction specified byangle<\code> (in radians).
-
InvertedRay2D
public InvertedRay2D(double x, double y, double angle)Creates a new Ray2D, originating from point(x, y)<\code>, and going in the direction specified byangle<\code> (in radians).
-
InvertedRay2D
public InvertedRay2D(LinearShape2D line)
Define a new Ray, with same characteristics as given object.
-
-
Method Detail
-
create
@Deprecated public static InvertedRay2D create(Point2D target, Vector2D direction)
Deprecated. since 0.11.1Static factory for creating a new inverted ray with given direction to target.
-
parallel
public InvertedRay2D parallel(double d)
Returns another instance of InvertedRay2D, parallel to this one, and located at the given distance.- Specified by:
parallelin interfaceCirculinearContinuousCurve2D- Specified by:
parallelin interfaceCirculinearCurve2D- Specified by:
parallelin interfaceCirculinearElement2D- Parameters:
d- the distance between the original curve and he parallel curve.- Returns:
- the parallel curve
- See Also:
CirculinearCurve2D.parallel(double)
-
appendPath
public java.awt.geom.GeneralPath appendPath(java.awt.geom.GeneralPath path)
Throws an infiniteShapeException- Specified by:
appendPathin interfaceContinuousCurve2D- Parameters:
path- a path to modify- Returns:
- the modified path
-
getGeneralPath
public java.awt.geom.GeneralPath getGeneralPath()
Throws an infiniteShapeException
-
point
public Point2D point(double t)
Description copied from interface:Curve2DReturns the point located at the given position on 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.
-
getT0
@Deprecated public double getT0()
Deprecated. replaced by t0() (since 0.11.1).
-
getT1
@Deprecated public double getT1()
Deprecated. replaced by t1() (since 0.11.1).
-
reverse
public Ray2D reverse()
Reverses this curve, and return the result as an instance of Ray2D.- Specified by:
reversein interfaceCirculinearContinuousCurve2D- Specified by:
reversein interfaceCirculinearCurve2D- Specified by:
reversein interfaceCirculinearElement2D- Specified by:
reversein interfaceContinuousCurve2D- Specified by:
reversein interfaceCurve2D- Specified by:
reversein interfaceSmoothCurve2D- Specified by:
reversein interfaceContinuousOrientedCurve2D- Specified by:
reversein interfaceOrientedCurve2D- Specified by:
reversein interfaceSmoothOrientedCurve2D- See Also:
Ray2D.reverse()
-
isBounded
public boolean isBounded()
Always returns false, because n inverted ray is not bounded.
-
contains
public boolean contains(double x, double y)Description copied from interface:Shape2DChecks if the shape contains the planar point defined by (x,y).
-
boundingBox
public Box2D boundingBox()
Description copied from interface:Shape2DReturns the bounding box of the shape.- Specified by:
boundingBoxin interfaceShape2D- Returns:
- the bounding box of the shape.
-
transform
public InvertedRay2D transform(AffineTransform2D trans)
Description copied from interface:Curve2DTransforms the curve by an affine transform. The result is an instance of Curve2D.- Specified by:
transformin interfaceContinuousCurve2D- Specified by:
transformin interfaceCurve2D- Specified by:
transformin interfaceSmoothCurve2D- Specified by:
transformin interfaceContinuousOrientedCurve2D- Specified by:
transformin interfaceOrientedCurve2D- Specified by:
transformin interfaceSmoothOrientedCurve2D- Specified by:
transformin interfaceLinearElement2D- Specified by:
transformin interfaceLinearShape2D- Specified by:
transformin interfaceShape2D- Specified by:
transformin classAbstractLine2D- Parameters:
trans- an affine transform- Returns:
- the transformed shape
-
almostEquals
public boolean almostEquals(GeometricObject2D obj, double eps)
Description copied from interface:GeometricObject2DChecks if the two objects are similar up to a given threshold value. This method can be used to compare the results of geometric computations, that introduce errors due to numerical computations.- Specified by:
almostEqualsin interfaceGeometricObject2D- Parameters:
obj- the object to compareeps- a threshold value, for example the minimal coordinate difference- Returns:
- true if both object have the same value up to the threshold
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
clone
@Deprecated public InvertedRay2D clone()
Deprecated. use copy constructor instead (0.11.2)- Specified by:
clonein interfaceCurve2D- Specified by:
clonein classAbstractLine2D
-
-
DMelt 3.0 © DataMelt by jWork.ORG