---
title: "Class PathNormalExtractor | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Normals/PathNormalExtractor/"
---

# Class PathNormalExtractor

> **Inheritance:** `System.Object` -> PathNormalExtractor

###### **Namespace**: [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Normals](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Normals.md)

###### **Assembly**: Aurigma.DesignAtoms.ImageProcessing.dll

```csharp title="Syntax"
public class PathNormalExtractor : IPathNormalExtractor
```

## Implements

* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Normals.IPathNormalExtractor](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Normals/IPathNormalExtractor.md)

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### PathNormalExtractor

```csharp
public PathNormalExtractor(IPathSegmentMeasurer pathSegmentMeasurer)
```

## Methods

### GetNormals

```csharp
public IEnumerable<LocatedVectorF> GetNormals(IEnumerable<Segment> path, float step)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Collections.Generic.IEnumerable<Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment>` | *path* |  |
| `System.Single` | *step* |  |

##### Returns

`System.Collections.Generic.IEnumerable<Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Math.LocatedVectorF>`
