Class RMQuadratic
- java.lang.Object
-
- com.inductiveautomation.rm.graphics.RMLine
-
- com.inductiveautomation.rm.graphics.RMQuadratic
-
-
Constructor Summary
Constructors Constructor Description RMQuadratic()
Creates a new quadratic curve.RMQuadratic(double x1, double y1, double x2, double y2, double x3, double y3)
Creates a new quadratic curve for this gvein start point, control point and end point.RMQuadratic(RMPoint startPoint, RMPoint controlPoint, RMPoint endPoint)
Creates a new quadratic curve for this gvein start point, control point and end point.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description float
getArcLength(float start, float end)
Returns the arc length of the segment up to parametric value tRMMath.RMFunc
getArcLengthFunction()
Returns an RMFunc which calculates the arclength of the curve up to tstatic void
getBounds(double x0, double y0, double x1, double y1, double x2, double y2, java.awt.geom.Rectangle2D aRect)
Returns the bounds of the bezier.void
getBounds(java.awt.geom.Rectangle2D aRect)
Returns the bounds.double
getDistance(RMPoint aPoint)
Returns the minimum distance from the given point to this segment.double
getDistanceQuadratic(RMPoint aPoint)
Returns the minimum distance from the given point to the curve.RMMath.RMFunc
getInverseArcLengthFunction()
Returns an RMFunc which calculates t for a percentage length along the curve.double
getMaxX()
Returns the max x point of this bezier.double
getMaxY()
Returns the max y point of this bezier.double
getMinX()
Returns the min x point of this bezier.double
getMinY()
Returns the min y point of this bezier.float
getParameterForLength(float l)
Returns parametric point t that corresponds to a given length along the curve.RMPoint
getPoint(double t, RMPoint aPoint)
Returns the point on this curve at the parametric location t (defined from 0-1).int
getPointCount()
Returns the point count of segment.double
getPointX(int anIndex)
Returns the x of point at given index.double
getPointY(int anIndex)
Returns the y of point at given index.void
setCurve(double x1, double y1, double x2, double y2, double x3, double y3)
Sets the curve values.void
setCurve(RMPoint p1, RMPoint p2, RMPoint p3)
Sets the curve values.void
subdivide(RMQuadratic left, RMQuadratic right)
Subdivides this curve into the given left and right curves.-
Methods inherited from class com.inductiveautomation.rm.graphics.RMLine
clone, getAngle, getArcLength, getArcLength, getBounds, getDistanceLine, getDistanceLineSquared, getDistanceLineSquared, getHead, getHitInfo, getHitInfo, getHitInfo, getLastX, getLastY, getPoint, getTail, getTangent, setEnd, setStart, toString
-
-
-
-
Field Detail
-
_cp1
public RMPoint _cp1
-
-
Constructor Detail
-
RMQuadratic
public RMQuadratic()
Creates a new quadratic curve.
-
RMQuadratic
public RMQuadratic(RMPoint startPoint, RMPoint controlPoint, RMPoint endPoint)
Creates a new quadratic curve for this gvein start point, control point and end point.
-
RMQuadratic
public RMQuadratic(double x1, double y1, double x2, double y2, double x3, double y3)
Creates a new quadratic curve for this gvein start point, control point and end point.
-
-
Method Detail
-
setCurve
public void setCurve(double x1, double y1, double x2, double y2, double x3, double y3)
Sets the curve values.
-
getPoint
public RMPoint getPoint(double t, RMPoint aPoint)
Returns the point on this curve at the parametric location t (defined from 0-1).
-
getDistance
public double getDistance(RMPoint aPoint)
Returns the minimum distance from the given point to this segment.- Overrides:
getDistance
in classRMLine
-
getDistanceQuadratic
public double getDistanceQuadratic(RMPoint aPoint)
Returns the minimum distance from the given point to the curve.
-
getPointCount
public int getPointCount()
Returns the point count of segment.- Overrides:
getPointCount
in classRMLine
-
getPointX
public double getPointX(int anIndex)
Returns the x of point at given index.
-
getPointY
public double getPointY(int anIndex)
Returns the y of point at given index.
-
subdivide
public void subdivide(RMQuadratic left, RMQuadratic right)
Subdivides this curve into the given left and right curves.
-
getMinX
public double getMinX()
Returns the min x point of this bezier.
-
getMinY
public double getMinY()
Returns the min y point of this bezier.
-
getMaxX
public double getMaxX()
Returns the max x point of this bezier.
-
getMaxY
public double getMaxY()
Returns the max y point of this bezier.
-
getBounds
public void getBounds(java.awt.geom.Rectangle2D aRect)
Returns the bounds.
-
getBounds
public static void getBounds(double x0, double y0, double x1, double y1, double x2, double y2, java.awt.geom.Rectangle2D aRect)
Returns the bounds of the bezier.
-
getArcLength
public float getArcLength(float start, float end)
Returns the arc length of the segment up to parametric value t- Overrides:
getArcLength
in classRMLine
-
getArcLengthFunction
public RMMath.RMFunc getArcLengthFunction()
Returns an RMFunc which calculates the arclength of the curve up to t
-
getParameterForLength
public float getParameterForLength(float l)
Returns parametric point t that corresponds to a given length along the curve. l is in the range [0-1] (ie. percentage of total arclength)- Overrides:
getParameterForLength
in classRMLine
-
getInverseArcLengthFunction
public RMMath.RMFunc getInverseArcLengthFunction()
Returns an RMFunc which calculates t for a percentage length along the curve.
-
-