    

 ## On this page

  

 

 # Class PropertySoilInteraction

 Last update: 16.07.2025 

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

This abstract class is to represent the property of soil interaction.

```csharp
public class PropertySoilInteraction : Property, IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, ILinkContainer, IOwned, IHasID

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;PropertyEventCore&gt; ← ContainerObject&lt;PropertyEventCore&gt; ← Property ← [PropertySoilInteraction](VM.Managed.DAFUL.Track.PropertySoilInteraction.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, ILinkContainer, IOwned, IHasID

#### Inherited Members

Property.Initialize(Unit.ConvertFactor), Property.PropertyRequestUpdate(object, LinkEventArgs), Property.OnUpdatePropertyImpl(Property, LinkEventArgs), Property.GetUnnamedObjectName(object), Property.FindLocal(string), Property.Draw(Canvas, TMatrix, TMatrix, bool), ContainerObject&lt;PropertyEventCore&gt;.Find(string), ContainerObject&lt;PropertyEventCore&gt;.FindLocal(string), ContainerObject&lt;PropertyEventCore&gt;.GetUnnamedObjectName(object), ContainerObject&lt;PropertyEventCore&gt;.GetNewEntityName(string), ContainerObject&lt;PropertyEventCore&gt;.GetNewEntityName(string, bool, int), ContainerObject&lt;PropertyEventCore&gt;.GetNewEntityName(string, bool, int, int), Object&lt;PropertyEventCore&gt;.GetKey(), Object&lt;PropertyEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;PropertyEventCore&gt;.SetIconColor(Canvas), Object&lt;PropertyEventCore&gt;.OnDeserialization(object), Object&lt;PropertyEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;PropertyEventCore&gt;.RollbackEvent(), Object&lt;PropertyEventCore&gt;.OnDeserializedCore(object), Object&lt;PropertyEventCore&gt;.Key, Object&lt;PropertyEventCore&gt;.UntypedEventCore, Object&lt;PropertyEventCore&gt;.EventCore, Object&lt;PropertyEventCore&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), 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

### PropertySoilInteraction()

Initializes a new instance of the  class.

```csharp
public PropertySoilInteraction()

```

## Properties

### DynamicSinkage

Gets or sets the Dynamic Sinkage.

```csharp
public DynamicSinkageDefinition DynamicSinkage { get; set; }

```

#### Property Value

[DynamicSinkageDefinition](VM.Managed.DAFUL.Track.DynamicSinkageDefinition.md)

#### Exceptions

[Exception](https://learn.microsoft.com/dotnet/api/system.exception)

Dynamic Sinkage is null.

### NormalPressureFormulation

Gets or sets the Normal Pressure Formulation.

```csharp
public NormalPressureFormulationBase NormalPressureFormulation { get; set; }

```

#### Property Value

[NormalPressureFormulationBase](VM.Managed.DAFUL.Track.NormalPressureFormulationBase.md)

#### Exceptions

[Exception](https://learn.microsoft.com/dotnet/api/system.exception)

Normal Pressure Formulation is null.

### ShearPressureFormulation

Gets or sets the Shear Pressure Formulation.

```csharp
public ShearPressureFormulationBase ShearPressureFormulation { get; set; }

```

#### Property Value

[ShearPressureFormulationBase](VM.Managed.DAFUL.Track.ShearPressureFormulationBase.md)

#### Exceptions

[Exception](https://learn.microsoft.com/dotnet/api/system.exception)

Shear Pressure Formulation is null.

### TypeOfSoil

Gets or sets the soil type.

```csharp
public string TypeOfSoil { get; set; }

```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

## Methods

### GenerateRDFFile(IDocument, string)

Generate rdf file.

```csharp
public bool GenerateRDFFile(IDocument doc, string strFilePath)

```

#### Parameters

`doc` IDocument

The document.

`strFilePath` [string](https://learn.microsoft.com/dotnet/api/system.string)

The file path.

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### GenerateRDFFile(IDocument, IDocument, string, string, Dictionary&lt;string, List&lt;double&gt;&gt;, IContactableRigid3D, DirectionBase)

Generate rdf file.

```csharp
public static bool GenerateRDFFile(IDocument docCurrent, IDocument docSoil, string strFilePath, string strSoilType, Dictionary<string, List<double>> dicProperty, IContactableRigid3D contactable, DirectionBase dirVerticalDirection)

```

#### Parameters

`docCurrent` IDocument

The current document.

`docSoil` IDocument

The soil document.

`strFilePath` [string](https://learn.microsoft.com/dotnet/api/system.string)

The file path.

`strSoilType` [string](https://learn.microsoft.com/dotnet/api/system.string)

The soil type.

`dicProperty` [Dictionary](https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string), [List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[double](https://learn.microsoft.com/dotnet/api/system.double)&gt;&gt;

The property information.

`contactable` IContactableRigid3D

The contactable entity.

`dirVerticalDirection` DirectionBase

The vertical direction.

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### GetSoilTypesFromInteractionFile(ref List&lt;string&gt;)

Get soil types from interaction file.

```csharp
public static bool GetSoilTypesFromInteractionFile(ref List<string> lstSoilType)

```

#### Parameters

`lstSoilType` [List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string)&gt;

The solid types

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

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

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### ReadInteractionFile(IDocument, ref string, ref XmlNode, ref double, ref double, ref double, ref double)

Read interaction file

```csharp
public static bool ReadInteractionFile(IDocument doc, ref string strSoilType, ref XmlNode nodeSoilParameter, ref double dFactorPressure, ref double dFactorSlope, ref double dFactorLength, ref double dFactorForce)

```

#### Parameters

`doc` IDocument

The document

`strSoilType` [string](https://learn.microsoft.com/dotnet/api/system.string)

The soil type

`nodeSoilParameter` [XmlNode](https://learn.microsoft.com/dotnet/api/system.xml.xmlnode)

The soil paramter node

`dFactorPressure` [double](https://learn.microsoft.com/dotnet/api/system.double)

The pressure factor(F/L^2)

`dFactorSlope` [double](https://learn.microsoft.com/dotnet/api/system.double)

The slope factor(F/L)

`dFactorLength` [double](https://learn.microsoft.com/dotnet/api/system.double)

The length factor

`dFactorForce` [double](https://learn.microsoft.com/dotnet/api/system.double)

The force factor

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)