# `GSPath primitiveRepresentationSecondaryPen:`

*Instance Method*

Paths tracing the same outline using primitive node types and connections.

## Declaration

```swift
func primitiveRepresentation(secondaryPen secondPen: (any GSPenProtocol & NSObjectProtocol)?) -> [GSPath]
```

```objc
- (NSArray<GSPath *> *) primitiveRepresentationSecondaryPen:(NSObject<GSPenProtocol> *) secondPen;
```

```python
primitiveRepresentationSecondaryPen_(secondPen: NSObject<GSPenProtocol>) -> list[GSPath]
```

## Parameters

- `secondPen` — A pen for secondary outline information.

## Discussion

The secondary pen receives secondary outline information while path components are decomposed.

## See Also

### Representations

- [`GSPath bezierPath`](/Core/GlyphsCore/GSPath/bezierPath) — An AppKit drawing path for the path.
- [`GSPath expandedStroke`](/Core/GlyphsCore/GSPath/expandedStroke) — Stroke outlines built from the path stroke attributes.
- [`GSPath flattenedPath`](/Core/GlyphsCore/GSPath/flattenedPath) — A path with path components expanded into outline nodes.
- [`GSPath removeOutsideOverlaps:`](/Core/GlyphsCore/GSPath/removeOutsideOverlaps:) — Removes outside overlaps at sharp line corners.
- [`GSPath decomposeCorner:`](/Core/GlyphsCore/GSPath/decomposeCorner:) — Replaces a corner, cap, segment, brush, or head hint with outline geometry.
- [`GSPath convertSpecialToBezier`](/Core/GlyphsCore/GSPath/convertSpecialToBezier) — A cubic path representation with special curve types converted to Bezier curves.
- [`GSPath primitiveRepresentation`](/Core/GlyphsCore/GSPath/primitiveRepresentation) — A path tracing the same outline using primitive node types and connections.
- [`GSPath.isPrimitive`](/Core/GlyphsCore/GSPath/isPrimitive) — Whether the path already uses primitive node types and connections.

