Class Water
Last update: 16.07.2025Namespace: VM.Managed.DAFUL.Track
Assembly: VMDTrackBase.dll
This class is to represent the water.
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
Inheritance
object ← ObservableObject ← LinkableBase ← ObjectBase ← Object<EntityEventCore> ← ContainerObject<EntityEventCore> ← EntityBase ← Entity<PropertyWater> ← Water
Implements
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
Inherited Members
Entity<PropertyWater>.Initialize(Unit.ConvertFactor), Entity<PropertyWater>.GetUnnamedObjectName(object), Entity<PropertyWater>.FindLocal(string), Entity<PropertyWater>.Property, EntityBase.Initialize(Unit.ConvertFactor), EntityBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), EntityBase.PropertyRequestUpdate(object, LinkEventArgs), EntityBase.OnDeserializationForAttribute(), EntityBase.OnUpdatePropertyImpl(Property, LinkEventArgs), EntityBase.LinkRequestDestroying(object, LinkEventArgs), EntityBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), EntityBase.FixUp(ObjectBase), EntityBase.FindLocal(string), EntityBase.WriteTemplateImpl(XmlWriter), EntityBase.ReadTemplateImpl(XmlReader), EntityBase.LinkAddedToDocument(object, AddToDocEventArgs), EntityBase.OnDeserialization(object), EntityBase.Name, EntityBase.FullName, EntityBase.NonSymmetricName, EntityBase.DisplayName, EntityBase.IsEnabled, EntityBase.Comment, EntityBase.HasLayerExplicitly, EntityBase.UntypedProperty, EntityBase.IsFileProperty, EntityBase.Layer, EntityBase.IsVisible, ContainerObject<EntityEventCore>.Find(string), ContainerObject<EntityEventCore>.FindLocal(string), ContainerObject<EntityEventCore>.GetUnnamedObjectName(object), ContainerObject<EntityEventCore>.GetNewEntityName(string), ContainerObject<EntityEventCore>.GetNewEntityName(string, bool, int), ContainerObject<EntityEventCore>.GetNewEntityName(string, bool, int, int), Object<EntityEventCore>.GetKey(), Object<EntityEventCore>.Initialize(Unit.ConvertFactor), Object<EntityEventCore>.SetIconColor(Canvas), Object<EntityEventCore>.OnDeserialization(object), Object<EntityEventCore>.CustomGetObjectData(SerializationInfo, StreamingContext), Object<EntityEventCore>.RollbackEvent(), Object<EntityEventCore>.OnDeserializedCore(object), Object<EntityEventCore>.Key, Object<EntityEventCore>.UntypedEventCore, Object<EntityEventCore>.EventCore, Object<EntityEventCore>.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<ObjectBase>), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet<ObjectBase>), 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<T>(T[], T[]), ObjectBase.IsEqualList(List<double>, List<double>), 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), 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), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Constructors
Water()
Initializes a new instance of the
public Water()
Water(string)
Initializes a new instance of the
public Water(string strName)
Parameters
strName string
Name of the string.
Properties
Color
Gets or sets the color.
public Color Color { get; set; }
Property Value
DepthAtDeepWater
Gets or sets the Depth at Deep Water.
public ExpressionValueVariable DepthAtDeepWater { get; set; }
Property Value
ExpressionValueVariable
Exceptions
Depth at Deep Water is null.
DistanceToDeepWater
Gets or sets the Distance to DeepWater.
public ExpressionValueVariable DistanceToDeepWater { get; set; }
Property Value
ExpressionValueVariable
Exceptions
Distance to DeepWater is null.
HasLayerExplicitly
Gets a value indicating whether object has a layer explicitly.
protected override bool HasLayerExplicitly { get; }
Property Value
Hide
Gets or sets a value indicating whether this instance is hide.
public bool Hide { get; set; }
Property Value
Layer
Gets or sets the layer.
public override Layer Layer { get; set; }
Property Value
Layer
LengthInXAxis
Gets or sets the Length in X Axis.
public ExpressionValueVariable LengthInXAxis { get; set; }
Property Value
ExpressionValueVariable
Exceptions
Length in X Axis is null.
RandomPhase
Gets or sets the random phase
public List<double> RandomPhase { get; set; }
Property Value
ReferenceFrame
Gets or sets the reference frame.
public Marker ReferenceFrame { get; set; }
Property Value
Marker
Slope
Gets or sets the Slope.
public ExpressionValueVariable Slope { get; set; }
Property Value
ExpressionValueVariable
Exceptions
Slope is null.
Transparency
Gets or sets the transparency.
public double Transparency { get; set; }
Property Value
UseSlope
Gets or sets the Slope flag.
public bool UseSlope { get; set; }
Property Value
WidthInYAxis
Gets or sets the Width in Y Axis.
public ExpressionValueVariable WidthInYAxis { get; set; }
Property Value
ExpressionValueVariable
Exceptions
Width in Y Axis is null.
_Color
Gets or sets the color.
public int _Color { get; set; }
Property Value
Methods
CalculateWave(Document, WaveStructure, bool, ref double[], ref List<WaveResult>)
Calculate Wave
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.WaveStructure
The wave structure
bOnlyFirstResult bool
whether only first result gets or not
ardX double[]
The X array
lstResult List<Water.WaveResult>
The result
CreateCurrentFile()
Create current file
public void CreateCurrentFile()
CreateCurrentFile(string)
Create current file
public void CreateCurrentFile(string strCurrentFilePath)
Parameters
strCurrentFilePath string
The current file path
CreateWaveFile()
Create wave file
public void CreateWaveFile()
CreateWaveFile(Document, string)
Create wave file
public void CreateWaveFile(Document doc, string strWaveFilePath)
Parameters
doc Document
The document
strWaveFilePath string
The wave file path
CreateWaveMesh(TransformBase, double, double[], List<WaveResult>, ref Vector[], ref int[])
Create Rectangular Mesh
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<Water.WaveResult>
The wave result for height
arPos Vector[]
The position array
arConnectivity int[]
The Connectivity array
CreateWaveMesh(Document, TransformBase, double, ref Vector[], ref int[])
Create Rectangular Mesh
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
Draw(Canvas)
Draws the icon.
public virtual void Draw(Canvas canvas)
Parameters
canvas Canvas
The canvas has icon information.
GenerateRandomPhase()
Generate random phase
public static List<double> GenerateRandomPhase()
Returns
GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)
Gets the object information for model navigator [implementation].
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
true if success; otherwise, false.
Initialize(ConvertFactor)
Initializes member through unit convert factor.
public override void Initialize(Unit.ConvertFactor factor)
Parameters
factor Unit.ConvertFactor
The unit convert factor.
LinkRequestUpdate(object, LinkEventArgs)
Request for update the linked object.
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)
Parameters
objNotifier object
The linked object.
arg LinkEventArgs
The
OnDeserialization(object)
Called when [deserialization].
protected override void OnDeserialization(object sender)
Parameters
sender object
The sender.
PiersonMoskowitzSpectrum(PMPeriodType, List<double[]>, double, ref double, ref double[], ref double[], ref double[], ref List<Tuple<double, double>>)
Calculate Pierson-Moskowitz Spectrum
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.PMPeriodType
The Pierson-Moskowitz period type
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<Tuple<double, double>>
The Frequency and Spectrum data set
ReDraw()
Redraw.
public virtual void ReDraw()