    

 ## On this page

  

 

 # Class ShoeDataBase

 Last update: 16.07.2025 

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

The abstract class for shoe data.

```csharp
public abstract class ShoeDataBase : LinkContainer, IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← LinkContainer ← [ShoeDataBase](VM.Managed.CAD.Track.ShoeDataBase.md)

#### Derived

[ShoeDataParametric](VM.Managed.CAD.Track.ShoeDataParametric.md), [ShoeDataSimple](VM.Managed.CAD.Track.ShoeDataSimple.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable

#### Inherited Members

LinkContainer.SetModified(), LinkContainer.raise\_OnUpdating(object, LinkEventArgs), LinkContainer.raise\_OnUpdate(object, LinkEventArgs), LinkContainer.raise\_OnDestroying(object, LinkEventArgs), LinkContainer.raise\_OnDestroy(object, LinkEventArgs), LinkContainer.raise\_OnAdded(object, AddToDocEventArgs), LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs), LinkContainer.GetTargetListForUpdate(), LinkContainer.SkipUpdateObjectImpl(), LinkContainer.Initialize(Unit.ConvertFactor), LinkContainer.SetFlagWhenXMLFile(string, bool), LinkContainer.IsSerializableEvent(Delegate), LinkContainer.CustomGetObjectData(SerializationInfo, StreamingContext), LinkContainer.GetSerializedData(SerializationInfo, StreamingContext), LinkContainer.LinkRequestUpdating(object, LinkEventArgs), LinkContainer.LinkRequestUpdate(object, LinkEventArgs), LinkContainer.LinkRequestDestroying(object, LinkEventArgs), LinkContainer.LinkRequestDestroy(object, LinkEventArgs), LinkContainer.LinkAddedToDocument(object, AddToDocEventArgs), LinkContainer.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), LinkContainer.OnLinkReserved(ILink, object, EventArgs), LinkContainer.CanBeDestroy(object), LinkContainer.DisposeManagedResources(), LinkContainer.SetContainer(IOwned, bool), LinkContainer.OnChildUpdated(object, LinkEventArgs), LinkContainer.OnContainerDestroy(object, LinkEventArgs), LinkContainer.OnDeserialization(object), LinkContainer.Verify(VerifiedResult), LinkContainer.GetCopy(object), LinkContainer.Dispose(bool), LinkContainer.ClearChildInfoBeforeDeserialize, LinkContainer.Container, LinkContainer.Owner, LinkContainer.Document, LinkContainer.ID, LinkContainer.IsChildExternable, LinkContainer.IsExternable, LinkContainer.OnRemoved, LinkContainer.OnAdded, LinkContainer.OnDestroy, LinkContainer.OnDestroying, LinkContainer.OnUpdate, LinkContainer.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

### ShoeDataBase()

Initializes a new instance of the  class.

```csharp
public ShoeDataBase()

```

### ShoeDataBase(IOwned)

Initializes a new instance of the  class.

```csharp
public ShoeDataBase(IOwned owner)

```

#### Parameters

`owner` IOwned

The owner object.

## Properties

### DepthSegment

Gets and sets segment depth

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

```

#### Property Value

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

### EndNode

Gets and sets end node

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

```

#### Property Value

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

### IsApplyToFileProperty

Gets and sets boolean

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

```

#### Property Value

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

### LDForShoeCombination

Gets and sets longitudinal distance from reference position.

```csharp
public Variable LDForShoeCombination { get; set; }

```

#### Property Value

Variable

### LengthSegment

Gets and sets segment length

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

```

#### Property Value

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

### PositionForShoeCombination

Gets and set position for shoe combination.

```csharp
public ObjectBase PositionForShoeCombination { get; set; }

```

#### Property Value

ObjectBase

### ShoeWidth

Gets and sets shoe width

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

```

#### Property Value

ExpressionValueVariable

### StartNode

Gets and sets start node

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

```

#### Property Value

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

## Methods

### GetFactorForLength()

Gets the factor for length.

```csharp
protected double GetFactorForLength()

```

#### Returns

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

The factor.

### LinkRequestUpdate(object, LinkEventArgs)

Links the request update.

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

```

#### Parameters

`objNotifier` [object](https://learn.microsoft.com/dotnet/api/system.object)

The obj notifier.

`arg` LinkEventArgs

The  instance containing the event data.

### Update\_DesignPointWhenUpdatedDV()

Call when "LDForLinkCombination" updated.

```csharp
public void Update_DesignPointWhenUpdatedDV()

```

### Update\_IDesignPointDataBecauseOfObjectControl(TMatrix)

Update tranformation of design point or design frame.

```csharp
public void Update_IDesignPointDataBecauseOfObjectControl(TMatrix matT)

```

#### Parameters

`matT` TMatrix

The tramsformation matrix.

### Validation()

Checks the validation .

```csharp
public virtual void Validation()

```