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

# Class CubicBezierSegment

> **Inheritance:** `System.Object` -> [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md) -> CubicBezierSegment

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

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

```csharp title="Syntax"
public class CubicBezierSegment : Segment
```

## Inherited Members

* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment.GetNormalAt(System.Single)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md#getnormalat)
* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment.Start](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md#start)
* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment.End](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md#end)
* `System.Object.ToString`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### CubicBezierSegment

```csharp
public CubicBezierSegment(VectorF start, VectorF control1, VectorF control2, VectorF end)
```

## Properties

### Control1

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

### Control2

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

## Methods

### GetPositionAt

```csharp
public override VectorF GetPositionAt(float t)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Single` | *t* |  |

##### Returns

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

##### Overrides

* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment.GetPositionAt(System.Single)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md#getpositionat)

### Equals

```csharp
public override bool Equals(object obj)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Object` | *obj* |  |

##### Returns

`System.Boolean`

##### Overrides

* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment.Equals(System.Object)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md#equals)

### GetTangentAt

```csharp
protected override float GetTangentAt(float t)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Single` | *t* |  |

##### Returns

`System.Single`

##### Overrides

* [Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path.Segment.GetTangentAt(System.Single)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ImageProcessing.LineWidthMeasuring.Path/Segment.md#gettangentat)
