    

 ## On this page

  

 

 # Class Water

 Last update: 09.03.2026 

<a id="VM_Managed_DAFUL_Track_Water"></a>

Namespace: [VM.Managed.DAFUL.Track](VM.Managed.DAFUL.Track.md)  
Assembly: VMDTrackBase.dll

This class is to represent the water.

```csharp
public class Water : Entity<PropertyWater>, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IDraw, IDrawIcon, IReferencable, IWater, ITransformable, IReportable, IHasReplaceableEntity

```

#### Inheritance

object ← ObservableObject ← [LinkableBase](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/LinkableBase.cs) ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← [EntityBase](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs) ← [Entity&lt;PropertyWater&gt;](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs) ← [Water](VM.Managed.DAFUL.Track.Water.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, [IHistoryObjectSerializable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMHist/Interfaces.cs), IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IDraw, IDrawIcon, IReferencable, [IWater](VM.Managed.DAFUL.Track.IWater.md), ITransformable, IReportable, IHasReplaceableEntity

#### Inherited Members

[Entity&lt;PropertyWater&gt;.Initialize(Unit.ConvertFactor)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [Entity&lt;PropertyWater&gt;.GetUnnamedObjectName(object)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [Entity&lt;PropertyWater&gt;.FindLocal(string)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [Entity&lt;PropertyWater&gt;.Property](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.Initialize(Unit.ConvertFactor)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.PropertyRequestUpdate(object, LinkEventArgs)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.OnDeserializationForAttribute()](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.OnUpdatePropertyImpl(Property, LinkEventArgs)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.LinkRequestDestroying(object, LinkEventArgs)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.FixUp(ObjectBase)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.FindLocal(string)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.WriteTemplateImpl(XmlWriter)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.ReadTemplateImpl(XmlReader)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.LinkAddedToDocument(object, AddToDocEventArgs)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.OnDeserialization(object)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.Name](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.FullName](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.NonSymmetricName](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.DisplayName](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.IsEnabled](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.Comment](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.HasLayerExplicitly](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.UntypedProperty](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.IsFileProperty](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.Layer](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), [EntityBase.IsVisible](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMObjBase/Entity.cs), ContainerObject&lt;EntityEventCore&gt;.Find(string), ContainerObject&lt;EntityEventCore&gt;.FindLocal(string), ContainerObject&lt;EntityEventCore&gt;.GetUnnamedObjectName(object), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int, int), Object&lt;EntityEventCore&gt;.GetKey(), Object&lt;EntityEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;EntityEventCore&gt;.SetIconColor(Canvas), Object&lt;EntityEventCore&gt;.OnDeserialization(object), Object&lt;EntityEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;EntityEventCore&gt;.RollbackEvent(), Object&lt;EntityEventCore&gt;.OnDeserializedCore(object), Object&lt;EntityEventCore&gt;.Key, Object&lt;EntityEventCore&gt;.UntypedEventCore, Object&lt;EntityEventCore&gt;.EventCore, Object&lt;EntityEventCore&gt;.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList&lt;ObjectBase&gt;), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet&lt;ObjectBase&gt;), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray&lt;T&gt;(T\[\], T\[\]), ObjectBase.IsEqualList(List&lt;double&gt;, List&lt;double&gt;), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise\_OnUpdating(object, LinkEventArgs), ObjectBase.raise\_OnUpdate(object, LinkEventArgs), ObjectBase.raise\_OnDestroying(object, LinkEventArgs), ObjectBase.raise\_OnDestroy(object, LinkEventArgs), ObjectBase.raise\_Destroying(object, Identifier), ObjectBase.raise\_OnAdded(object, AddToDocEventArgs), ObjectBase.raise\_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise\_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, ObjectBase.OnUpdating, [LinkableBase.OnDeserialization(object)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/LinkableBase.cs), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### <a id="VM_Managed_DAFUL_Track_Water__ctor"></a> Water()

Initializes a new instance of the  class.

```csharp
public Water()

```

### <a id="VM_Managed_DAFUL_Track_Water__ctor_System_String_"></a> Water(string)

Initializes a new instance of the  class.

```csharp
public Water(string strName)

```

#### Parameters

`strName` string

Name of the string.

## Properties

### <a id="VM_Managed_DAFUL_Track_Water_Color"></a> Color

Gets or sets the color.

```csharp
public Color Color { get; set; }

```

#### Property Value

Color

### <a id="VM_Managed_DAFUL_Track_Water_DepthAtDeepWater"></a> DepthAtDeepWater

Gets or sets the Depth at Deep Water.

```csharp
public ExpressionValueVariable DepthAtDeepWater { get; set; }

```

#### Property Value

[ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

#### Exceptions

Exception

Depth at Deep Water is null.

### <a id="VM_Managed_DAFUL_Track_Water_DistanceToDeepWater"></a> DistanceToDeepWater

Gets or sets the Distance to DeepWater.

```csharp
public ExpressionValueVariable DistanceToDeepWater { get; set; }

```

#### Property Value

[ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

#### Exceptions

Exception

Distance to DeepWater is null.

### <a id="VM_Managed_DAFUL_Track_Water_HasLayerExplicitly"></a> HasLayerExplicitly

Gets a value indicating whether object has a layer explicitly.

```csharp
protected override bool HasLayerExplicitly { get; }

```

#### Property Value

bool

### <a id="VM_Managed_DAFUL_Track_Water_Hide"></a> Hide

Gets or sets a value indicating whether this instance is hide.

```csharp
public bool Hide { get; set; }

```

#### Property Value

bool

### <a id="VM_Managed_DAFUL_Track_Water_Layer"></a> Layer

Gets or sets the layer.

```csharp
public override Layer Layer { get; set; }

```

#### Property Value

Layer

### <a id="VM_Managed_DAFUL_Track_Water_LengthInXAxis"></a> LengthInXAxis

Gets or sets the Length in X Axis.

```csharp
public ExpressionValueVariable LengthInXAxis { get; set; }

```

#### Property Value

[ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

#### Exceptions

Exception

Length in X Axis is null.

### <a id="VM_Managed_DAFUL_Track_Water_RandomPhase"></a> RandomPhase

Gets or sets the random phase

```csharp
public List<double> RandomPhase { get; set; }

```

#### Property Value

List&lt;double&gt;

### <a id="VM_Managed_DAFUL_Track_Water_ReferenceFrame"></a> ReferenceFrame

Gets or sets the reference frame.

```csharp
public Marker ReferenceFrame { get; set; }

```

#### Property Value

[Marker](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VMDFBase/Marker.cs)

### <a id="VM_Managed_DAFUL_Track_Water_Slope"></a> Slope

Gets or sets the Slope.

```csharp
public ExpressionValueVariable Slope { get; set; }

```

#### Property Value

[ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

#### Exceptions

Exception

Slope is null.

### <a id="VM_Managed_DAFUL_Track_Water_Transparency"></a> Transparency

Gets or sets the transparency.

```csharp
public double Transparency { get; set; }

```

#### Property Value

double

### <a id="VM_Managed_DAFUL_Track_Water_UseSlope"></a> UseSlope

Gets or sets the Slope flag.

```csharp
public bool UseSlope { get; set; }

```

#### Property Value

bool

### <a id="VM_Managed_DAFUL_Track_Water_WidthInYAxis"></a> WidthInYAxis

Gets or sets the Width in Y Axis.

```csharp
public ExpressionValueVariable WidthInYAxis { get; set; }

```

#### Property Value

[ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

#### Exceptions

Exception

Width in Y Axis is null.

### <a id="VM_Managed_DAFUL_Track_Water__Color"></a> \_Color

Gets or sets the color.

```csharp
public int _Color { get; set; }

```

#### Property Value

int

## Methods

### <a id="VM_Managed_DAFUL_Track_Water_CalculateWave_VM_Managed_Document_VM_Managed_DAFUL_Track_Water_WaveStructure_System_Boolean_System_Double____System_Collections_Generic_List_VM_Managed_DAFUL_Track_Water_WaveResult___"></a> CalculateWave(Document, WaveStructure, bool, ref double\[\], ref List&lt;WaveResult&gt;)

Calculate Wave

```csharp
public static void CalculateWave(Document doc, Water.WaveStructure waveStructure, bool bOnlyFirstResult, ref double[] ardX, ref List<Water.WaveResult> lstResult)

```

#### Parameters

`doc` Document

The Document

`waveStructure` [Water](VM.Managed.DAFUL.Track.Water.md).[WaveStructure](VM.Managed.DAFUL.Track.Water.WaveStructure.md)

The wave structure

`bOnlyFirstResult` bool

whether only first result gets or not

`ardX` double\[\]

The X array

`lstResult` List&lt;[Water](VM.Managed.DAFUL.Track.Water.md).[WaveResult](VM.Managed.DAFUL.Track.Water.WaveResult.md)&gt;

The result

### <a id="VM_Managed_DAFUL_Track_Water_CreateCurrentFile"></a> CreateCurrentFile()

Create current file

```csharp
public void CreateCurrentFile()

```

### <a id="VM_Managed_DAFUL_Track_Water_CreateCurrentFile_System_String_"></a> CreateCurrentFile(string)

Create current file

```csharp
public void CreateCurrentFile(string strCurrentFilePath)

```

#### Parameters

`strCurrentFilePath` string

The current file path

### <a id="VM_Managed_DAFUL_Track_Water_CreateWaveFile"></a> CreateWaveFile()

Create wave file

```csharp
public void CreateWaveFile()

```

### <a id="VM_Managed_DAFUL_Track_Water_CreateWaveFile_VM_Managed_Document_System_String_"></a> CreateWaveFile(Document, string)

Create wave file

```csharp
public void CreateWaveFile(Document doc, string strWaveFilePath)

```

#### Parameters

`doc` Document

The document

`strWaveFilePath` string

The wave file path

### <a id="VM_Managed_DAFUL_Track_Water_CreateWaveMesh_VM_Managed_TransformBase_System_Double_System_Double___System_Collections_Generic_List_VM_Managed_DAFUL_Track_Water_WaveResult__VM_Vector____System_Int32____"></a> CreateWaveMesh(TransformBase, double, double\[\], List&lt;WaveResult&gt;, ref Vector\[\], ref int\[\])

Create Rectangular Mesh

```csharp
public static void CreateWaveMesh(TransformBase transform, double dWidth, double[] ardX, List<Water.WaveResult> lstResult, ref Vector[] arPos, ref int[] arConnectivity)

```

#### Parameters

`transform` TransformBase

The Transform

`dWidth` double

The width

`ardX` double\[\]

The x array

`lstResult` List&lt;[Water](VM.Managed.DAFUL.Track.Water.md).[WaveResult](VM.Managed.DAFUL.Track.Water.WaveResult.md)&gt;

The wave result for height

`arPos` Vector\[\]

The position array

`arConnectivity` int\[\]

The Connectivity array

### <a id="VM_Managed_DAFUL_Track_Water_CreateWaveMesh_VM_Managed_Document_VM_Managed_TransformBase_System_Double_VM_Vector____System_Int32____"></a> CreateWaveMesh(Document, TransformBase, double, ref Vector\[\], ref int\[\])

Create Rectangular Mesh

```csharp
public void CreateWaveMesh(Document doc, TransformBase transform, double dWidth, ref Vector[] arPos, ref int[] arConnectivity)

```

#### Parameters

`doc` Document

The document

`transform` TransformBase

The Transform

`dWidth` double

The width

`arPos` Vector\[\]

The position array

`arConnectivity` int\[\]

The Connectivity array

### <a id="VM_Managed_DAFUL_Track_Water_Draw_VM_CAD_Kernel_Render_Canvas_"></a> Draw(Canvas)

Draws the icon.

```csharp
public virtual void Draw(Canvas canvas)

```

#### Parameters

`canvas` [Canvas](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/ClassicPre/Data/VM.CAD.Kernel/Render/Canvas.cs)

The canvas has icon information.

### <a id="VM_Managed_DAFUL_Track_Water_GenerateRandomPhase"></a> GenerateRandomPhase()

Generate random phase

```csharp
public static List<double> GenerateRandomPhase()

```

#### Returns

List&lt;double&gt;

### <a id="VM_Managed_DAFUL_Track_Water_GetModelNavigatorInformationImpl_System_Xml_XmlDocument_System_Xml_XmlElement_System_Boolean_"></a> GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)

Gets the object information for model navigator \[implementation\].

```csharp
protected override bool GetModelNavigatorInformationImpl(XmlDocument xmlDom, XmlElement xmlEle, bool bHasChild)

```

#### Parameters

`xmlDom` XmlDocument

The XmlDocument for object.

`xmlEle` XmlElement

The XmlElement for object.

`bHasChild` bool

if set to `true` \[has child\].

#### Returns

bool

`true` if success; otherwise, `false`.

### <a id="VM_Managed_DAFUL_Track_Water_Initialize_VM_Unit_ConvertFactor_"></a> Initialize(ConvertFactor)

Initializes member through unit convert factor.

```csharp
public override void Initialize(Unit.ConvertFactor factor)

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### <a id="VM_Managed_DAFUL_Track_Water_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_"></a> LinkRequestUpdate(object, LinkEventArgs)

Request for update the linked object.

```csharp
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` object

The linked object.

`arg` LinkEventArgs

The  instance containing the event data.

### <a id="VM_Managed_DAFUL_Track_Water_OnDeserialization_System_Object_"></a> OnDeserialization(object)

Called when \[deserialization\].

```csharp
protected override void OnDeserialization(object sender)

```

#### Parameters

`sender` object

The sender.

### <a id="VM_Managed_DAFUL_Track_Water_PiersonMoskowitzSpectrum_VM_Managed_DAFUL_Track_Wave_PMPeriodType_System_Collections_Generic_List_System_Double____System_Double_System_Double__System_Double____System_Double____System_Double____System_Collections_Generic_List_System_Tuple_System_Double_System_Double____"></a> PiersonMoskowitzSpectrum(PMPeriodType, List&lt;double\[\]&gt;, double, ref double, ref double\[\], ref double\[\], ref double\[\], ref List&lt;Tuple&lt;double, double&gt;&gt;)

Calculate Pierson-Moskowitz Spectrum

```csharp
public static void PiersonMoskowitzSpectrum(Wave.PMPeriodType typePMPeriod, List<double[]> lstWave, double dGravity, ref double dConvertedPeriod, ref double[] ardFrequency, ref double[] ardWaveAmp, ref double[] ardK, ref List<Tuple<double, double>> lstFreqToSpm)

```

#### Parameters

`typePMPeriod` [Wave](VM.Managed.DAFUL.Track.Wave.md).[PMPeriodType](VM.Managed.DAFUL.Track.Wave.PMPeriodType.md)

The Pierson-Moskowitz period type

`lstWave` List&lt;double\[\]&gt;

The wave list

`dGravity` double

The gravity

`dConvertedPeriod` double

The convert period

`ardFrequency` double\[\]

The frequency set

`ardWaveAmp` double\[\]

The wave ampitude set

`ardK` double\[\]

The k set

`lstFreqToSpm` List&lt;Tuple&lt;double, double&gt;&gt;

The Frequency and Spectrum data set

### <a id="VM_Managed_DAFUL_Track_Water_ReDraw"></a> ReDraw()

Redraw.

```csharp
public virtual void ReDraw()

```