Interface: ISpline
Spline curve interface
Accessors
aabb
getaabb():AABB2
Axis-aligned bounding box (minX, minY, maxX, maxY)
Returns
AABB2
Defined in
closed
getclosed():boolean
Flag that is set to true when the curve is already closed
setclosed(closed):void
Set the curve as closed which connects the last to the first point
Parameters
• closed: boolean
Returns
boolean
Defined in
fixedResolution
getfixedResolution():boolean
Fixed resolution (eg: Linear Spline)
Returns
boolean
Defined in
invalidated
getinvalidated():boolean
Flag that is set to true when the spline needs to be updated. The update runs automaticaly when needed (eg: getPolylinePoints).
Returns
boolean
Defined in
length
getlength():number
Length of the spline curve in pixels
Returns
number
Defined in
numControlPoints
getnumControlPoints():number
Number of control points
Returns
number
Defined in
resolution
getresolution():number
Resolution of the spline curve (greater than or equal to 0)
setresolution(resolution):void
Set the resolution of the spline curve
Parameters
• resolution: number
Returns
number
Defined in
Methods
addControlPoint()
addControlPoint(
point):void
Add a control point to the end of the array
Parameters
• point: Point2
Control point (2D)
Returns
void
Defined in
addControlPointAtU()
addControlPointAtU(
u):ControlPointInfo
Add a control point specifying its u value in Parameter Space which is a number from 0 to N
where N is the number of curve segments. The integer part is the curve segment index and the
decimal part is the t value on that curve segment.
Parameters
• u: number
u value in Parameter Space
Returns
Defined in
addControlPoints()
addControlPoints(
points):void
Add a list of control poits to the end of the array
Parameters
• points: Point2[]
Control points to be added
Returns
void
Defined in
clearControlPoints()
clearControlPoints():
void
Remove all control points
Returns
void
Defined in
containsPoint()
containsPoint(
point):boolean
Checks if a 2D point is inside the spline curve.
A point is inside a curve/polygon if the number of intersections between the horizontal ray emanating from the given point and to the right and the line segments is odd. https://www.eecs.umich.edu/courses/eecs380/HANDOUTS/PROJ2/InsidePoly.html
Parameters
• point: Point2
2D Point
Returns
boolean
True is the point is inside the spline curve or false otherwise
Defined in
tools/src/types/ISpline.ts:166
deleteControlPointByIndex()
deleteControlPointByIndex(
index):boolean
Delete a control point given its index
Parameters
• index: number
Control point index to be removed
Returns
boolean
True if the control point is removed or false otherwise
Defined in
getClosestControlPoint()
getClosestControlPoint(
point):ClosestControlPoint
Finds the closest control point given a 2D point
Parameters
• point: Point2
Reference point
Returns
Closest control point
Defined in
tools/src/types/ISpline.ts:106
getClosestControlPointWithinDistance()
getClosestControlPointWithinDistance(
point,range):ClosestControlPoint
Finds the closest control point given a 2D point and a maximum distance
Parameters
• point: Point2
Reference 2D point
• range: number
Returns
Closest control point that is within the given range or undefined otherwise
Defined in
tools/src/types/ISpline.ts:114
getClosestPoint()
getClosestPoint(
point):ClosestSplinePoint
Finds the closest point on the spline curve given 2D point
Parameters
• point: Point2
Reference 2D point
Returns
Closest point on the spline curve
Defined in
tools/src/types/ISpline.ts:124
getClosestPointOnControlPointLines()
getClosestPointOnControlPointLines(
point):ClosestPoint
Finds the closest point on the straight line that connects all control points given a 2D point
Parameters
• point: Point2
Reference point
Returns
Closest point on the straight line that connects all control points
Defined in
tools/src/types/ISpline.ts:131
getControlPoints()
getControlPoints():
Point2[]
Get a list with all control points. The control points are cloned to prevent any caller from changing them resulting in unexpected behaviors
Returns
Point2[]
- List of all control points
Defined in
getPolylinePoints()
getPolylinePoints():
Point2[]
Get all points necessary to draw a spline curve
Returns
Point2[]
Array with all points necessary to draw a spline curve
Defined in
tools/src/types/ISpline.ts:137
getPreviewPolylinePoints()
getPreviewPolylinePoints(
controlPointPreview,closeDistance):Point2[]
Get all points necessary to draw the preview curve for a new possible control point
Parameters
• controlPointPreview: Point2
• closeDistance: number
Returns
Point2[]
Array with all points necessary to draw the preview curve
Defined in
tools/src/types/ISpline.ts:143
hasTangentPoints()
hasTangentPoints():
boolean
Bézier curves have tangent points connected to control points
Returns
boolean
True if the spline has tangent point or false otherwise
Defined in
isPointNearCurve()
isPointNearCurve(
point,maxDist):boolean
Checks if a point is near to the spline curve
Parameters
• point: Point2
Reference point
• maxDist: number
Maximum allowed distance
Returns
boolean
True if the point is close to the spline curve or false otherwise
Defined in
tools/src/types/ISpline.ts:154
setControlPoints()
setControlPoints(
points):void
Replace all control points by some new ones
Parameters
• points: Point2[]
Control points to be added to the array
Returns
void
Defined in
updateControlPoint()
updateControlPoint(
index,newControlPoint):void
Update the coordinate of a control point given its index
Parameters
• index: number
Control point index
• newControlPoint: Point2
New control point
Returns
void