
# ISourceWave interface

*No description yet.*

```csharp
public interface ISourceWave : IWave
```

**Namespace:** SCH · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IPrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPrimitive.md) → [IWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [CumulativeError](#cumulativeerror) | `double` | get; set |  |
| [Datapoints](#datapoints) | `bool` | get |  |
| [Generated](#generated) | `bool` | get |  |
| [Imported](#imported) | `bool` | get |  |
| [WaveType](#wavetype) | [TWaveType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TWaveType.md) | get; set |  |

### CumulativeError

*No description yet.*

```csharp
double GetProperty_CumulativeError();
void SetProperty_CumulativeError(double argValue);
```

**Type:** `double` · **Access:** read/write

### Datapoints

*No description yet.*

```csharp
bool GetProperty_Datapoints();
```

**Type:** `bool` · **Access:** read-only

### Generated

*No description yet.*

```csharp
bool GetProperty_Generated();
```

**Type:** `bool` · **Access:** read-only

### Imported

*No description yet.*

```csharp
bool GetProperty_Imported();
```

**Type:** `bool` · **Access:** read-only

### WaveType

*No description yet.*

```csharp
TWaveType GetProperty_WaveType();
void SetProperty_WaveType(TWaveType argValue);
```

**Type:** [TWaveType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TWaveType.md) · **Access:** read/write

The accessors are extension methods of `ISourceWaveHelper` (`using SCH;`).

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [GenerateWave](#generatewave) | `void` |  |
| [MakeCopy](#makecopy) | [IPlottedWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPlottedWave.md) |  |
| [MakeFFTWave](#makefftwave) | `void` |  |
| [NameChange](#namechange) | `void` |  |
| [Replicate](#replicate) | [ISourceWave](#) |  |

### GenerateWave

*No description yet.*

```csharp
void GenerateWave();
```

**Returns:** nothing (`void`)

### MakeCopy

*No description yet.*

```csharp
IPlottedWave MakeCopy();
```

**Returns:** [IPlottedWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPlottedWave.md)

Extension method of `ISourceWaveHelper` (`using SCH;`).

### MakeFFTWave

*No description yet.*

```csharp
void MakeFFTWave(ISourceWave argWave, ref int argFFTLength);
void MakeFFTWave(object argWave, ref int argFFTLength);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argWave` | [ISourceWave](#) | value |
| `argFFTLength` | `int` | ref |

**Returns:** nothing (`void`)

The first overload is an extension method of `ISourceWaveHelper` (`using SCH;`) with typed parameters; the second is declared by the interface.

### NameChange

*No description yet.*

```csharp
void NameChange(int argChangeIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argChangeIndex` | `int` | value |

**Returns:** nothing (`void`)

### Replicate

*No description yet.*

```csharp
ISourceWave Replicate();
```

**Returns:** [ISourceWave](#)

Extension method of `ISourceWaveHelper` (`using SCH;`).

## Inherited members

- From [IWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md): [AddPoint](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#addpoint), [ClearPoints](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#clearpoints), [DataType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#datatype), [GetLineValues](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getlinevalues), [GetMaximum](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getmaximum), [GetMinimum](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getminimum), [GetNextPeak](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getnextpeak), [GetNextTrough](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getnexttrough), [GetRiseFallTime](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getrisefalltime), [GetState_MinMax](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getstate_minmax), [GetState_MinMax_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#getstate_minmax_1), [GetTopLine](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#gettopline), [Hint](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#hint), [InsertPoint](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#insertpoint), [Name](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#name), [ParentChart](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#parentchart), [PointCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#pointcount), [SetDataIndeces](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#setdataindeces), [XComplex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#xcomplex), [XImag](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#ximag), [XPlot](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#xplot), [XReal](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#xreal), [XValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#xvalue), [YComplex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#ycomplex), [YImag](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#yimag), [YPlot](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#yplot), [YReal](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#yreal), [YUnits](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#yunits), [YValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IWave.md#yvalue)
- From [IPrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPrimitive.md): [BoundingRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPrimitive.md#boundingrect), [ViewablePrimitiveId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPrimitive.md#viewableprimitiveid)

## Returned by

[IChart.AddNewSourceWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IChart.md#addnewsourcewave), [IChart.SourceWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IChart.md#sourcewave), [IChart.SourceWaveByName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IChart.md#sourcewavebyname), [ISourceWaveList.SourceWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISourceWaveList.md#sourcewave)

## Accepted by

[IChart.AddSourceWave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IChart.md#addsourcewave), [IChart.DeleteSourceWave_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IChart.md#deletesourcewave_1), [IChartCollection.AddDataPointToChart](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IChartCollection.md#adddatapointtochart)
