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

# Class BaseRay

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

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

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

```csharp title="Syntax"
public abstract class BaseRay : IRay
```

## Implements

* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.RayCasting.IRay](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.RayCasting/IRay.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

### BaseRay

```csharp
public BaseRay(VectorInt origin, VectorF basis)
```

## Properties

### Origin

```csharp
public VectorInt Origin { get; }
```

### Basis

```csharp
public VectorF Basis { get; }
```

### Current

```csharp
public VectorInt Current { get; protected set; }
```

## Methods

### GetNext

```csharp
public abstract VectorInt GetNext()
```

##### Returns

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