    

 ## On this page

  

 

 # Class Flow

 Last update: 16.07.2025 

Namespace: [VM.Models.Pre.Drivetrain.VehicleSimulator](VM.Models.Pre.Drivetrain.VehicleSimulator.md)  
Assembly: VM.Models.Pre.Drivetrain.VehicleSimulator.dll

```csharp
public sealed class Flow : ItemsContainerModelBase<Power>, IObservableObject, IDisposableObject, IValidatable, IHasName, IHasGuid

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← ValidatableBase ← [ItemsContainerModelBase&lt;Power&gt;](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md) ← [Flow](VM.Models.Pre.Drivetrain.VehicleSimulator.Flow.md)

#### Implements

IObservableObject, IDisposableObject, IValidatable, IHasName, IHasGuid

#### Inherited Members

[ItemsContainerModelBase&lt;Power&gt;.AddItem(Power)](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_AddItem__0_), [ItemsContainerModelBase&lt;Power&gt;.Contains(Guid)](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_Contains_System_Guid_), [ItemsContainerModelBase&lt;Power&gt;.Contains(Power)](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_Contains__0_), [ItemsContainerModelBase&lt;Power&gt;.RemoveItem(Guid)](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_RemoveItem_System_Guid_), [ItemsContainerModelBase&lt;Power&gt;.TryGetItem(Guid, out Power)](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_TryGetItem_System_Guid__0__), [ItemsContainerModelBase&lt;Power&gt;.All](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_All), [ItemsContainerModelBase&lt;Power&gt;.ItemsCount](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_ItemsCount), [ItemsContainerModelBase&lt;Power&gt;.ObservableItems](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_ObservableItems), [ItemsContainerModelBase&lt;Power&gt;.this\[int\]](VM.Models.Pre.Drivetrain.VehicleSimulator.ItemsContainerModelBase-1.md#VM_Models_Pre_Drivetrain_VehicleSimulator_ItemsContainerModelBase_1_Item_System_Int32_), ValidatableBase.RaisePropertyChanged(string), ValidatableBase.SuspendValidate(), ValidatableBase.Validate(), ValidatableBase.Validate(ValidationContext), ValidatableBase.CanValidate, ValidatableBase.Errors, ValidatableBase.HasValidationAttribute, ValidatableBase.HasValidator, ValidatableBase.IsValid, ValidatableBase.ValidateTrigger, ValidatableBase.ErrorsChanged, ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), 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

### Flow(Guid, string)

```csharp
public Flow(Guid guid, string name)

```

#### Parameters

`guid` [Guid](https://learn.microsoft.com/dotnet/api/system.guid)

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

## Properties

### CarrierGearRole

```csharp
public GearRoles CarrierGearRole { get; set; }

```

#### Property Value

[GearRoles](VM.Models.Pre.Drivetrain.VehicleSimulator.GearRoles.md)

### Guid

```csharp
[JsonProperty]
public Guid Guid { get; }

```

#### Property Value

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

### IsValid

```csharp
public override bool IsValid { get; }

```

#### Property Value

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

### MotorMaxRPM

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

```

#### Property Value

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

### Name

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

```

#### Property Value

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

### Pinion1ToothCount

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

```

#### Property Value

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

### Pinion2ToothCount

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

```

#### Property Value

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

### PlanetaryType

```csharp
public PlanetaryTypes PlanetaryType { get; set; }

```

#### Property Value

[PlanetaryTypes](VM.Models.Pre.Drivetrain.VehicleSimulator.PlanetaryTypes.md)

### PowerSplitMap

```csharp
public TorqueMap PowerSplitMap { get; set; }

```

#### Property Value

[TorqueMap](VM.Models.Pre.Drivetrain.VehicleSimulator.TorqueMap.md)

### Powers

```csharp
[JsonIgnore]
public IObservableCollection<Power> Powers { get; }

```

#### Property Value

IObservableCollection&lt;[Power](VM.Models.Pre.Drivetrain.VehicleSimulator.Power.md)&gt;

### RingGearRole

```csharp
public GearRoles RingGearRole { get; set; }

```

#### Property Value

[GearRoles](VM.Models.Pre.Drivetrain.VehicleSimulator.GearRoles.md)

### RingToothCount

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

```

#### Property Value

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

### SunGearRole

```csharp
public GearRoles SunGearRole { get; set; }

```

#### Property Value

[GearRoles](VM.Models.Pre.Drivetrain.VehicleSimulator.GearRoles.md)

### SunToothCount

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

```

#### Property Value

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

### UsePowerSplitModule

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

```

#### Property Value

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

## Methods

### GetPower(int)

```csharp
public Power GetPower(int index)

```

#### Parameters

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

#### Returns

[Power](VM.Models.Pre.Drivetrain.VehicleSimulator.Power.md)

### GetPowerCount()

```csharp
public int GetPowerCount()

```

#### Returns

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

### GetPowers()

```csharp
public IEnumerable<Power> GetPowers()

```

#### Returns

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[Power](VM.Models.Pre.Drivetrain.VehicleSimulator.Power.md)&gt;