# `GSPathSegment`

*Class*

## Declaration

```swift
class GSPathSegment
```

```objc
@interface GSPathSegment : NSObject
```

```python
class GSPathSegment(NSObject)
```

## Topics

### Instance Variables

- [`GSPathSegment.bounds`](/Core/GlyphsCore/GSPathSegment/bounds-c.ivar)
- [`GSPathSegment.count`](/Core/GlyphsCore/GSPathSegment/count)
- [`GSPathSegment.elements`](/Core/GlyphsCore/GSPathSegment/elements)
- [`GSPathSegment.flag`](/Core/GlyphsCore/GSPathSegment/flag)
- [`GSPathSegment.options`](/Core/GlyphsCore/GSPathSegment/options)
- [`GSPathSegment.type`](/Core/GlyphsCore/GSPathSegment/type)

### Instance Properties

- [`GSPathSegment.attributes`](/Core/GlyphsCore/GSPathSegment/attributes)
- [`GSPathSegment.countOfPoints`](/Core/GlyphsCore/GSPathSegment/countOfPoints)
- [`GSPathSegment.flag`](/Core/GlyphsCore/GSPathSegment/flag-swift.property)
- [`GSPathSegment.objects`](/Core/GlyphsCore/GSPathSegment/objects)
- [`GSPathSegment.options`](/Core/GlyphsCore/GSPathSegment/options-swift.property)
- [`GSPathSegment.tempData`](/Core/GlyphsCore/GSPathSegment/tempData)
- [`GSPathSegment.type`](/Core/GlyphsCore/GSPathSegment/type-swift.property)

### Instance Methods

- [`GSPathSegment angleSpan`](/Core/GlyphsCore/GSPathSegment/angleSpan) — The angle the segment is spanning. a quarter circle would be 90° …
- [`GSPathSegment attributeForKey:`](/Core/GlyphsCore/GSPathSegment/attributeForKey:)
- [`GSPathSegment bounds`](/Core/GlyphsCore/GSPathSegment/bounds)
- [`GSPathSegment compare:`](/Core/GlyphsCore/GSPathSegment/compare:)
- [`GSPathSegment compare:italicAngle:`](/Core/GlyphsCore/GSPathSegment/compare:italicAngle:)
- [`GSPathSegment compareMinX:`](/Core/GlyphsCore/GSPathSegment/compareMinX:)
- [`GSPathSegment comparePoints:`](/Core/GlyphsCore/GSPathSegment/comparePoints:)
- [`GSPathSegment connectWithSegment:force:miterFactor:newPoint:`](/Core/GlyphsCore/GSPathSegment/connectWithSegment:force:miterFactor:newPoint:) — is used in makeCorner and offset paths to connect the segments when there is a gap
- [`GSPathSegment convertToQuadraticWithCurveError:`](/Core/GlyphsCore/GSPathSegment/convertToQuadraticWithCurveError:)
- [`GSPathSegment curvatureAtTime:`](/Core/GlyphsCore/GSPathSegment/curvatureAtTime:)
- [`GSPathSegment descriptionWithPrecision:`](/Core/GlyphsCore/GSPathSegment/descriptionWithPrecision:)
- [`GSPathSegment drawInPen:`](/Core/GlyphsCore/GSPathSegment/drawInPen:)
- [`GSPathSegment extremePoints`](/Core/GlyphsCore/GSPathSegment/extremePoints)
- [`GSPathSegment extremeTimes`](/Core/GlyphsCore/GSPathSegment/extremeTimes)
- [`GSPathSegment fiveQuadraticSegmentCurveError:t:`](/Core/GlyphsCore/GSPathSegment/fiveQuadraticSegmentCurveError:t:)
- [`GSPathSegment segmentForInflectionError:`](/Core/GlyphsCore/GSPathSegment/segmentForInflectionError:)
- [`GSPathSegment fourQuadraticSegmentCurveError:t:`](/Core/GlyphsCore/GSPathSegment/fourQuadraticSegmentCurveError:t:)
- [`GSPathSegment inflectionTime`](/Core/GlyphsCore/GSPathSegment/inflectionTime) — returns the “t” if there is one inflection, two inflections are rare and too degenerated, returns NSNotFound if none
- [`GSPathSegment inflectionTimes`](/Core/GlyphsCore/GSPathSegment/inflectionTimes)
- [`GSPathSegment initWithCurvePoint1:point2:point3:point4:options:`](/Core/GlyphsCore/GSPathSegment/initWithCurvePoint1:point2:point3:point4:options:)
- [`GSPathSegment initWithDescription:`](/Core/GlyphsCore/GSPathSegment/initWithDescription:)
- [`GSPathSegment initWithLinePoint1:point2:options:`](/Core/GlyphsCore/GSPathSegment/initWithLinePoint1:point2:options:)
- [`GSPathSegment initWithQuadratic:count:options:`](/Core/GlyphsCore/GSPathSegment/initWithQuadratic:count:options:)
- [`GSPathSegment initWithQuadratic:options:`](/Core/GlyphsCore/GSPathSegment/initWithQuadratic:options:)
- [`GSPathSegment initWithQuartPoint1:point2:point3:point4:point5:options:`](/Core/GlyphsCore/GSPathSegment/initWithQuartPoint1:point2:point3:point4:point5:options:)
- [`GSPathSegment initWithSegmentStruct:`](/Core/GlyphsCore/GSPathSegment/initWithSegmentStruct:)
- [`GSPathSegment intersectionPoints:`](/Core/GlyphsCore/GSPathSegment/intersectionPoints:)
- [`GSPathSegment intersectionPoints:unlimited:`](/Core/GlyphsCore/GSPathSegment/intersectionPoints:unlimited:)
- [`GSPathSegment intersectionPoints:unlimited:intersections:`](/Core/GlyphsCore/GSPathSegment/intersectionPoints:unlimited:intersections:)
- [`GSPathSegment isEqualToSegment:`](/Core/GlyphsCore/GSPathSegment/isEqualToSegment:)
- [`GSPathSegment isEqualToSegment:tolerance:`](/Core/GlyphsCore/GSPathSegment/isEqualToSegment:tolerance:)
- [`GSPathSegment isEqualToSegmentPoints:`](/Core/GlyphsCore/GSPathSegment/isEqualToSegmentPoints:)
- [`GSPathSegment lastPoint`](/Core/GlyphsCore/GSPathSegment/lastPoint)
- [`GSPathSegment length`](/Core/GlyphsCore/GSPathSegment/length)
- [`GSPathSegment lengthFast`](/Core/GlyphsCore/GSPathSegment/lengthFast)
- [`GSPathSegment lineSegmentCurveError:`](/Core/GlyphsCore/GSPathSegment/lineSegmentCurveError:)
- [`GSPathSegment meaningFullInflectionTime`](/Core/GlyphsCore/GSPathSegment/meaningFullInflectionTime) — similar to inflectionTime but filters out value close the the edges
- [`GSPathSegment meaningFullInflectionTime:`](/Core/GlyphsCore/GSPathSegment/meaningFullInflectionTime:) — to split before the segment is offset.
- [`GSPathSegment middlePoint`](/Core/GlyphsCore/GSPathSegment/middlePoint)
- [`GSPathSegment middlePointRight`](/Core/GlyphsCore/GSPathSegment/middlePointRight)
- [`GSPathSegment nearestPoint:time:`](/Core/GlyphsCore/GSPathSegment/nearestPoint:time:)
- [`GSPathSegment normalAtTime:`](/Core/GlyphsCore/GSPathSegment/normalAtTime:)
- [`GSPathSegment normalizeHandles`](/Core/GlyphsCore/GSPathSegment/normalizeHandles)
- [`GSPathSegment oneQuadraticSegmentCurveError:`](/Core/GlyphsCore/GSPathSegment/oneQuadraticSegmentCurveError:)
- [`GSPathSegment pointAtIndex:`](/Core/GlyphsCore/GSPathSegment/pointAtIndex:)
- [`GSPathSegment pointAtTime:`](/Core/GlyphsCore/GSPathSegment/pointAtTime:)
- [`GSPathSegment reverse`](/Core/GlyphsCore/GSPathSegment/reverse)
- [`GSPathSegment roundToGridLength:`](/Core/GlyphsCore/GSPathSegment/roundToGridLength:)
- [`GSPathSegment segmentStruct`](/Core/GlyphsCore/GSPathSegment/segmentStruct)
- [`GSPathSegment setAttribute:forKey:`](/Core/GlyphsCore/GSPathSegment/setAttribute:forKey:)
- [`GSPathSegment setPoint:atIndex:`](/Core/GlyphsCore/GSPathSegment/setPoint:atIndex:)
- [`GSPathSegment setTempData:forKey:`](/Core/GlyphsCore/GSPathSegment/setTempData:forKey:)
- [`GSPathSegment shortenFromTime:`](/Core/GlyphsCore/GSPathSegment/shortenFromTime:)
- [`GSPathSegment shortenToTime:`](/Core/GlyphsCore/GSPathSegment/shortenToTime:)
- [`GSPathSegment signedCurvatureAtTime:`](/Core/GlyphsCore/GSPathSegment/signedCurvatureAtTime:)
- [`GSPathSegment sixQuadraticSegmentCurveError:t:`](/Core/GlyphsCore/GSPathSegment/sixQuadraticSegmentCurveError:t:)
- [`GSPathSegment splitAtTime:firstHalf:secondHalf:`](/Core/GlyphsCore/GSPathSegment/splitAtTime:firstHalf:secondHalf:)
- [`GSPathSegment tForDistance:`](/Core/GlyphsCore/GSPathSegment/tForDistance:)
- [`GSPathSegment tangentAtTime:`](/Core/GlyphsCore/GSPathSegment/tangentAtTime:)
- [`GSPathSegment tangentAngleAtTime:`](/Core/GlyphsCore/GSPathSegment/tangentAngleAtTime:)
- [`GSPathSegment tempDataForKey:`](/Core/GlyphsCore/GSPathSegment/tempDataForKey:)
- [`GSPathSegment threeQuadraticSegmentCurveError:t:`](/Core/GlyphsCore/GSPathSegment/threeQuadraticSegmentCurveError:t:)
- [`GSPathSegment twoQuadraticSegmentCurveError:t:`](/Core/GlyphsCore/GSPathSegment/twoQuadraticSegmentCurveError:t:)
- [`GSPathSegment updateBounds`](/Core/GlyphsCore/GSPathSegment/updateBounds)

## Relationships

### Inherits From

- `NSObject`

### Conforms To

- `NSCopying`

