# `GSPath addExtremes:checkSelection:`

*Instance Method*

Adds nodes at extrema of cubic curve segments.

## Declaration

```swift
func addExtremes(force: Bool, checkSelection: Bool)
```

```objc
- (void) addExtremes:(BOOL) force checkSelection:(BOOL) checkSelection;
```

```python
addExtremes_checkSelection_(force: bool, checkSelection: bool)
```

## Parameters

- `force` — Whether to insert extrema when doing so may introduce a bump.
- `checkSelection` — Whether to restrict the operation to segments containing a selected node when the layer selection is not empty.

## Discussion

A nearby node may be moved to the extremum instead.

## 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 insertOffcurveWithStartIdx:endIdx:`](/Core/GlyphsCore/GSPath/insertOffcurveWithStartIdx:endIdx:) — Inserts an off-curve node into a quadratic segment.
- [`GSPath addInflections`](/Core/GlyphsCore/GSPath/addInflections) — Adds nodes at inflection points of cubic curve segments.

