Class HydroDynamicAPI
Last update: 16.07.2025Namespace: VM.API.Pre.Links
Assembly: VM.API.Pre.Links.dll
This class implements APIs for hydro dynamic.
public static class HydroDynamicAPI
Inheritance
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
Obj
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
Obj
The new
Exceptions
Will be thrown if 'document', 'baseEntity', 'hullMarker' are null.
Will be thrown if 'paths' is null.
Will be thrown if type of 'baseEntity' is not
Will be thrown if type of 'hullMarker' is not
Will be thrown if 'thickness', 'width' value equal to or less than 0.
Will be thrown if type of 'Marker' of paths is not
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
Will be thrown if 'document', 'baseEntities', 'hullMarker' are null.
Will be thrown if 'paths' is null.
Will be thrown if type of Obj of 'baseEntities' is not
Will be thrown if type of 'hullMarker' is not
Will be thrown if 'thickness', 'width' value equal to or less than 0.
Will be thrown if type of 'Marker' of paths is not
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
Obj
The new
Exceptions
Will be thrown if 'document', 'baseEntity' are null.
Will be thrown if type of 'baseEntity' is not
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
Obj
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
Obj
The new
Exceptions
Will be thrown if 'document', 'baseEntity' are null.
Will be thrown if type of 'baseEntity' is not
Will be thrown if type of 'actionEntities' is not
Will be thrown if the magnitude of 'axisZ'.
Will be thrown if the magnitude of 'axisX'.
Will be thrown if 'axisZ' is equal to 'axisX'.