Class HydroDynamicAPI
Last update: 09.03.2026Namespace: VM.API.Pre.Links
Assembly: VM.API.Pre.Links.dll
This class implements APIs for hydro dynamic.
public static class HydroDynamicAPI
Inheritance
object ← HydroDynamicAPI
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Methods
CreateHydroForce(SubSystemDocument, Obj, Obj, IEnumerable<Obj>, string)
[NotNullObj(new string[] { "baseWater", "hullBody" })]
[MatchTypeObj(new object[] { "baseWater", typeof(IWater), "hullBody", typeof(IConnectable) })]
public static Obj CreateHydroForce(this SubSystemDocument document, Obj baseWater, Obj hullBody, IEnumerable<Obj> actionEntities = null, string name = "")
Parameters
document SubSystemDocument
baseWater Obj
hullBody Obj
actionEntities IEnumerable<Obj>
name string
Returns
CreateMasslessTrackLink(SubSystemDocument, Obj, Obj, IEnumerable<PathData>, ExpressionValueVariable?, ExpressionValueVariable?, string)
Create
[NotNullObj(new string[] { "baseEntity", "hullMarker" })]
[MatchTypeObj(new object[] { "baseEntity", typeof(IContactableRigid3D), "hullMarker", typeof(IMarker) })]
[NotNull(new string[] { "paths" })]
public static Obj CreateMasslessTrackLink(this SubSystemDocument document, Obj baseEntity, Obj hullMarker, IEnumerable<PathData> paths, ExpressionValueVariable? thickness = null, ExpressionValueVariable? width = null, string name = "")
Parameters
document SubSystemDocument
The document to create the massless track link.
baseEntity Obj
The base entity.
hullMarker Obj
The hull marker.
paths IEnumerable<PathData>
The path information.
thickness ExpressionValueVariable?
The thickness.
width ExpressionValueVariable?
The width.
name string
The name of the
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'document', 'baseEntity', 'hullMarker' are null.
ArgumentNullException
Will be thrown if 'paths' is null.
ArgumentException
Will be thrown if type of 'baseEntity' is not
ArgumentException
Will be thrown if type of 'hullMarker' is not
ArgumentOutOfRangeException
Will be thrown if 'thickness', 'width' value equal to or less than 0.
ArgumentException
Will be thrown if type of 'Marker' of paths is not
ArgumentOutOfRangeException
Will be thrown if type of 'WindingRadius' of paths value equal to or less than 0.
CreateMultiMasslessTrackLink(SubSystemDocument, IEnumerable<Obj>, Obj, IEnumerable<PathData>, ExpressionValueVariable?, ExpressionValueVariable?, string)
Create
[NotNullObj(new string[] { "hullMarker" })]
[NotNull(new string[] { "baseEntities", "paths" })]
[MatchTypeObj(new object[] { "hullMarker", typeof(IMarker), "hullMarker", typeof(IMarker) })]
public static void CreateMultiMasslessTrackLink(this SubSystemDocument document, IEnumerable<Obj> baseEntities, Obj hullMarker, IEnumerable<PathData> paths, ExpressionValueVariable? thickness = null, ExpressionValueVariable? width = null, string name = "")
Parameters
document SubSystemDocument
The document to create the massless track link.
baseEntities IEnumerable<Obj>
The base entities.
hullMarker Obj
The hull marker.
paths IEnumerable<PathData>
The path information.
thickness ExpressionValueVariable?
The thickness.
width ExpressionValueVariable?
The width.
name string
The name of the
Exceptions
ArgumentNullException
Will be thrown if 'document', 'baseEntities', 'hullMarker' are null.
ArgumentNullException
Will be thrown if 'paths' is null.
ArgumentException
Will be thrown if type of Obj of 'baseEntities' is not
ArgumentException
Will be thrown if type of 'hullMarker' is not
ArgumentOutOfRangeException
Will be thrown if 'thickness', 'width' value equal to or less than 0.
ArgumentException
Will be thrown if type of 'Marker' of paths is not
ArgumentOutOfRangeException
Will be thrown if type of 'WindingRadius' of paths value equal to or less than 0.
CreateSoilInteraction(SubSystemDocument, Obj, IEnumerable<Obj>, string)
Create
[NotNullObj(new string[] { "baseEntity" })]
[MatchTypeObj(new object[] { "baseEntity", typeof(IContactableRigid3D) })]
public static Obj CreateSoilInteraction(this SubSystemDocument document, Obj baseEntity, IEnumerable<Obj> actionEntities, string name = "")
Parameters
document SubSystemDocument
The document to create the soil interaction.
baseEntity Obj
The base entity.
actionEntities IEnumerable<Obj>
The action entities.
name string
The name of the
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'document', 'baseEntity' are null.
ArgumentException
Will be thrown if type of 'baseEntity' is not
ArgumentException
Will be thrown if item type of 'actionEntities' is not
CreateThrustForce(SubSystemDocument, Obj, Obj, Vector, Vector, string)
[NotNullObj(new string[] { "baseWater", "body" })]
[MatchTypeObj(new object[] { "baseWater", typeof(IWater), "body", typeof(IConnectable) })]
[NotZeroMagnitude(new string[] { "thrustingAxis" })]
public static Obj CreateThrustForce(this SubSystemDocument document, Obj baseWater, Obj body, Vector position, Vector thrustingAxis, string name = "")
Parameters
document SubSystemDocument
baseWater Obj
body Obj
position Vector
thrustingAxis Vector
name string
Returns
CreateWater(SubSystemDocument, Obj, Vector, Vector, Vector, ExpressionValueVariable?, ExpressionValueVariable?, ExpressionValueVariable?, string)
Create
[NotNullObj(new string[] { "body" })]
[MatchTypeObj(new object[] { "body", typeof(IConnectable) })]
[NotZeroMagnitude(new string[] { "axisZ", "axisX" })]
public static Obj CreateWater(this SubSystemDocument document, Obj body, Vector position, Vector axisZ, Vector axisX, ExpressionValueVariable? lengthInXAxis = null, ExpressionValueVariable? widthInYAxis = null, ExpressionValueVariable? depthOfDeepWater = null, string name = "")
Parameters
document SubSystemDocument
The document to create the water.
body Obj
The body.
position Vector
The position.
axisZ Vector
The z axis.
axisX Vector
The x axis.
lengthInXAxis ExpressionValueVariable?
The length in x axis.
widthInYAxis ExpressionValueVariable?
The width in y axis.
depthOfDeepWater ExpressionValueVariable?
The depth of deep water.
name string
The name of the
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'document', 'baseEntity' are null.
ArgumentException
Will be thrown if type of 'baseEntity' is not
ArgumentException
Will be thrown if type of 'actionEntities' is not
ArgumentException
Will be thrown if the magnitude of 'axisZ'.
ArgumentException
Will be thrown if the magnitude of 'axisX'.
ArgumentException
Will be thrown if 'axisZ' is equal to 'axisX'.