# `GSPath insertOffcurveWithStartIdx:endIdx:`

*Instance Method*

Inserts an off-curve node into a quadratic segment.

## Declaration

```swift
func insertOffcurve(withStartIdx startIdx: Int, endIdx: Int) -> GSNode?
```

```objc
- (GSNode *) insertOffcurveWithStartIdx:(NSInteger) startIdx endIdx:(NSInteger) endIdx;
```

```python
insertOffcurveWithStartIdx_endIdx_(startIdx: int, endIdx: int) -> GSNode
```

## Discussion

Returns `nil` when the index range does not describe off-curve nodes in a quadratic segment.

## See Also

### Inserting Nodes

- [`GSPath addNode:`](/Core/GlyphsCore/GSPath/addNode:) — Appends a node and aligns its position to the layer grid.
- [`GSPath addNodeFast:`](/Core/GlyphsCore/GSPath/addNodeFast:) — Appends a node without registering undo, aligning its position, or notifying the layer.
- [`GSPath addNodes:`](/Core/GlyphsCore/GSPath/addNodes:) — Appends nodes.
- [`GSPath addNodeWithPosition:type:connection:attributes:`](/Core/GlyphsCore/GSPath/addNodeWithPosition:type:connection:attributes:) — Appends a new node and aligns its position to the layer grid.
- [`GSPath addNodeFastWithPosition:type:connection:attributes:`](/Core/GlyphsCore/GSPath/addNodeFastWithPosition:type:connection:attributes:) — Appends a new node without registering undo, aligning its position, or notifying the layer.
- [`GSPath addCurveWithOff1:off2:end:connection:attributes:`](/Core/GlyphsCore/GSPath/addCurveWithOff1:off2:end:connection:attributes:) — Appends a cubic curve segment and aligns its node positions to the layer grid.
- [`GSPath addCurveFastWithOff1:off2:end:connection:attributes:`](/Core/GlyphsCore/GSPath/addCurveFastWithOff1:off2:end:connection:attributes:) — Appends a cubic curve segment without registering undo, aligning its node positions, or notifying the layer.
- [`GSPath insertObject:inNodesAtIndex:`](/Core/GlyphsCore/GSPath/insertObject:inNodesAtIndex:) — Inserts a node at an index and aligns its position to the layer grid.
- [`GSPath insertNodeWithPathTime:`](/Core/GlyphsCore/GSPath/insertNodeWithPathTime:) — Inserts an on-curve node at a path time while preserving the path shape.
- [`GSPath addExtremes:checkSelection:`](/Core/GlyphsCore/GSPath/addExtremes:checkSelection:) — Adds nodes at extrema of cubic curve segments.
- [`GSPath addInflections`](/Core/GlyphsCore/GSPath/addInflections) — Adds nodes at inflection points of cubic curve segments.

