# `GSPath nextOncurveNodeFromIndex:`

*Instance Method*

The next on-curve node after an index.

## Declaration

```swift
func nextOncurveNode(from index: Int) -> GSNode?
```

```objc
- (GSNode *) nextOncurveNodeFromIndex:(NSInteger) index;
```

```python
nextOncurveNodeFromIndex_(index: int) -> GSNode
```

## Discussion

For a closed path, navigation wraps around the path. For an open path, returns `nil` when no next on-curve node exists. For a path consisting solely of off-curve nodes, returns `nil`.

## See Also

### Node Navigation

- [`GSPath nodeAtIndex:`](/Core/GlyphsCore/GSPath/nodeAtIndex:) — The node at an index.
- [`GSPath indexOfNode:`](/Core/GlyphsCore/GSPath/indexOfNode:) — The index of a node, or `NSNotFound` when the node is not in the path.
- [`GSPath firstOncurveNodeIndex`](/Core/GlyphsCore/GSPath/firstOncurveNodeIndex) — An index from which every segment can be traversed in node order.
- [`GSPath previousOncurveNodeFromIndex:`](/Core/GlyphsCore/GSPath/previousOncurveNodeFromIndex:) — The previous on-curve node before an index.
- [`GSPath.startNode`](/Core/GlyphsCore/GSPath/startNode) — For open paths, returns the first node of the path, otherwise `nil`.
- [`GSPath.endNode`](/Core/GlyphsCore/GSPath/endNode) — For open paths, returns the last node of the path, otherwise `nil`.
- [`GSPath findStartNode`](/Core/GlyphsCore/GSPath/findStartNode) — The node used to begin traversing a closed path, or `nil` for an open path.
- [`GSPath findMinNode`](/Core/GlyphsCore/GSPath/findMinNode) — The lowest on-curve node, preferring the leftmost node at equal height.
- [`GSPath fixStartNode`](/Core/GlyphsCore/GSPath/fixStartNode) — Moves trailing off-curve nodes to the beginning of a closed path.
- [`GSPath makeNodeFirst:`](/Core/GlyphsCore/GSPath/makeNodeFirst:) — Makes a node the start node of the path.
- [`GSPath indexOfTTStartNode`](/Core/GlyphsCore/GSPath/indexOfTTStartNode) — The index preceding the first on-curve node for TrueType path traversal.

