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

# Class NormalCaster

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

###### **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 NormalCaster
```

## 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

### NormalCaster

```csharp
public NormalCaster(IRayFactory rayFactory, VectorF normal, VectorInt gridLocation, ImageColorGradient colorGradient)
```

## Properties

### CurrentState

```csharp
public NormalCaster.State CurrentState { get; }
```

### CurrentGradient

```csharp
public LocatedGradientVector CurrentGradient { get; }
```

## Methods

### Next

```csharp
public NormalCaster.Transition Next()
```

##### Returns

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