Skip to content

Latest commit

 

History

History
170 lines (111 loc) · 4.11 KB

curvelocation.md

File metadata and controls

170 lines (111 loc) · 4.11 KB

CurveLocation

CurveLocation objects describe a location on Curve objects, as defined by the curve-time time, a value between 0 (beginning of the curve) and 1 (end of the curve). If the curve is part of a Path item, its index inside the path.curves array is also provided.

The class is in use in many places, such as path.getLocationAt(offset), path.getLocationOf(point), pathItem.getNearestLocation(point), pathItem.getIntersections(path), etc.

Constructors

  • CurveLocation(curve, time[, point])

    Creates a new CurveLocation object.

    • Parameters:
    • curve: Curve
    • time: Number
    • point: Point — optional
    • Returns:
    • CurveLocation

Properties

  • segment

    The segment of the curve which is closer to the described location.

    Read only.

    • Type:
    • Segment
  • curve

    The curve that this location belongs to.

    Read only.

    • Type:
    • Curve
  • path

    The path that this locations is situated on.

    Read only.

    • Type:
    • Path
  • index

    The index of the curve within the path.curves list, if it is part of a Path item.

    Read only.

    • Type:
    • Number
  • time

    The curve-time parameter, as used by various bezier curve calculations. It is value between 0 (beginning of the curve) and 1 (end of the curve).

    Read only.

    • Type:
    • Number
  • point

    The point which is defined by the curve and time.

    Read only.

    • Type:
    • Point
  • offset

    The length of the path from its beginning up to the location described by this object. If the curve is not part of a path, then the length within the curve is returned instead.

    Read only.

    • Type:
    • Number
  • curveOffset

    The length of the curve from its beginning up to the location described by this object.

    Read only.

    • Type:
    • Number
  • intersection

    The curve location on the intersecting curve, if this location is the result of a call to pathItem.getIntersections(path) / curve.getIntersections(curve).

    Read only.

    • Type:
    • CurveLocation
  • tangent

    The tangential vector to the curve at the given location.

    Read only.

    • Type:
    • Point
  • normal

    The normal vector to the curve at the given location.

    Read only.

    • Type:
    • Point
  • curvature

    The curvature of the curve at the given location.

    Read only.

    • Type:
    • Number
  • distance

    The distance from the queried point to the returned location.

    Read only.

    • Type:
    • Number
    • See also:
    • curve.getNearestLocation(point)
    • pathItem.getNearestLocation(point)

Methods

  • equals(location)

    Checks whether tow CurveLocation objects are describing the same location on a path, by applying the same tolerances as elsewhere when dealing with curve-time parameters.

    • Parameters:
    • location: CurveLocation
    • Returns:
    • Booleantrue if the locations are equal, false otherwise
  • toString()

    • Returns:
    • String — a string representation of the curve location

Tests

  • isTouching()

    Checks if the location is an intersection with another curve and is merely touching the other curve, as opposed to crossing it.

    • Returns:
    • Booleantrue if the location is an intersection that is merely touching another curve, false otherwise
    • See also:
    • isCrossing()
  • isCrossing()

    Checks if the location is an intersection with another curve and is crossing the other curve, as opposed to just touching it.

    • Returns:
    • Booleantrue if the location is an intersection that is crossing another curve, false otherwise
    • See also:
    • isTouching()
  • hasOverlap()

    Checks if the location is an intersection with another curve and is part of an overlap between the two involved paths.

    • Returns:
    • Booleantrue if the location is an intersection that is part of an overlap between the two involved paths, false otherwise
    • See also:
    • isCrossing()
    • isTouching()