<?xml version="1.0"?>
<doc>
    <assembly>
        <name>OpenBveApi</name>
    </assembly>
    <members>
        <member name="T:OpenBveApi.FunctionScripting.AnimationScript">
            <summary>Interfaces with the CS Script Library </summary>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.AnimationScript.ExecuteScript(OpenBveApi.Trains.AbstractTrain,System.Int32,OpenBveApi.Math.Vector3,System.Double,System.Int32,System.Boolean,System.Double,System.Int32)">
            <summary> Call to execute this script </summary>
            <param name="Train">A reference to the nearest train</param>
            <param name="CarIndex">The object's car index in a train, if is a car object</param>
            <param name="Position">The object's absolute in world position</param>
            <param name="TrackPosition">The object's track position</param>
            <param name="SectionIndex"></param>
            <param name="IsPartOfTrain">Whether this object forms part of a train</param>
            <param name="TimeElapsed">The time elapsed since the previous call to this function</param>
            <param name="CurrentState">The value at the last invocation</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.AnimationScript.Clone">
            <summary> Clone this script object </summary>
            <returns> An shallow copy </returns>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.AnimationScript.LastResult">
            <summary> The result on the last invocation. 0 if not yet invoked. </summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.AnimationScript.Maximum">
            <summary>The maximum pinned result or NaN to set no maximum</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.AnimationScript.Minimum">
            <summary>The minimum pinned result or NaN to set no minimum</summary>
        </member>
        <member name="T:OpenBveApi.FunctionScripting.CSAnimationScript">
            <summary>Animation script implemented in external C# code.</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.CSAnimationScript.LastResult">
            <summary>The last result returned</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.CSAnimationScript.Maximum">
            <summary>The minimum pinned result or NaN to set no minimum</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.CSAnimationScript.Minimum">
            <summary>The maximum pinned result or NaN to set no maximum</summary>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.CSAnimationScript.#ctor(OpenBveApi.Hosts.HostInterface,System.String)">
            <summary>Load a script with or without arguments.</summary>
            <param name="host">A reference to the base application host interface.</param>
            <param name="path">The path to the CS file. Suffix similar to URL query string will be parsed as arguments.</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.CSAnimationScript.#ctor(OpenBveApi.Hosts.HostInterface,System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>Load a script with or without arguments.</summary>
            <param name="host">A reference to the base application host interface.</param>
            <param name="path">The path to the CS file.</param>
            <param name="args">The arguments to pass to the script, or null.</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.CSAnimationScript.Clone">
            <summary>Clone this object.</summary>
            <returns>A shallow copy.</returns>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.CSAnimationScript.ExecuteScript(OpenBveApi.Trains.AbstractTrain,System.Int32,OpenBveApi.Math.Vector3,System.Double,System.Int32,System.Boolean,System.Double,System.Int32)">
            <summary>Performs the function script, and returns the current result</summary>
        </member>
        <member name="T:OpenBveApi.FunctionScripting.FunctionScript">
            <summary>The base abstract function script which consumers must implement</summary>
        </member>
        <member name="F:OpenBveApi.FunctionScripting.FunctionScript.InstructionSet">
            <summary>The instructions to perform</summary>
        </member>
        <member name="F:OpenBveApi.FunctionScripting.FunctionScript.Stack">
            <summary>The stack for the script</summary>
        </member>
        <member name="F:OpenBveApi.FunctionScripting.FunctionScript.Constants">
            <summary>All constants used for the script</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.FunctionScript.LastResult">
            <summary>The last result returned</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.FunctionScript.Maximum">
            <summary>The minimum pinned result or NaN to set no minimum</summary>
        </member>
        <member name="P:OpenBveApi.FunctionScripting.FunctionScript.Minimum">
            <summary>The maximum pinned result or NaN to set no maximum</summary>
        </member>
        <member name="F:OpenBveApi.FunctionScripting.FunctionScript.exceptionCaught">
            <summary>We caught an exception on the last execution of the script, so further execution has been stopped</summary> 
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScript.ExecuteScript(OpenBveApi.Trains.AbstractTrain,System.Int32,OpenBveApi.Math.Vector3,System.Double,System.Int32,System.Boolean,System.Double,System.Int32)">
            <summary>Performs the function script, and returns the current result</summary>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScript.ConstantResult">
            <summary>Checks whether the specified function will return a constant result</summary>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScript.CorrectCarIndices(System.Int32)">
            <summary>Called when the underlying object is reversed</summary>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScript.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new empty function script</summary>
            <param name="Host">A reference to the base application host interface</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScript.#ctor(OpenBveApi.Hosts.HostInterface,System.String,System.Boolean)">
            <summary>Creates a new function script</summary>
            <param name="Host">A reference to the base application host interface</param>
            <param name="Expression">The function string</param>
            <param name="Infix">Whether this is in Infix notation (TRUE) or Postfix notation (FALSE)</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScript.Clone">
            <summary>Clones the function script</summary>
        </member>
        <member name="T:OpenBveApi.FunctionScripting.FunctionScriptNotation">
            <summary>Contains functions for dealing with function script notation</summary>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScriptNotation.GetPostfixNotationFromFunctionNotation(System.String)">
            <summary>Converts a string formatted in simple function script to postfix notation</summary>
            <param name="Expression">The function script string</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScriptNotation.GetPostfixNotationFromInfixNotation(System.String)">
            <summary>Converts a string formatted in infix notation to postfix notation</summary>
            <param name="Expression">The function script string</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScriptNotation.GetOptimizedPostfixNotation(System.String)">
            <summary>Gets the optimized version of a postfix notated function script</summary>
            <param name="Expression">The function script string to optimize</param>
        </member>
        <member name="M:OpenBveApi.FunctionScripting.FunctionScriptNotation.GetFunctionNotationFromInfixNotation(System.String,System.Boolean)">
            <summary>Converts a string in infix function notation into simple function script</summary>
            <param name="Expression">The function script string</param>
            <param name="Preprocessing">Whether this is preprocessing</param>
            <returns>The simple function script string</returns>
        </member>
        <member name="T:OpenBveApi.FunctionScripting.Instructions">
            <summary>The available instructions for use in a function script</summary>
        </member>
        <member name="F:OpenBveApi.FunctionScripting.Instructions.CarIndexDependant">
            <summary>DUMMY</summary>
            <remarks>Used when correcting index dependant functions</remarks>
        </member>
        <member name="T:OpenBveApi.Graphics.CameraRestrictionMode">
            <summary>Describes the different possible camera restriction modes</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.CameraRestrictionMode.NotAvailable">
            <summary>Represents a 3D cab.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.CameraRestrictionMode.Off">
            <summary>Represents a 2D cab with camera restriction disabled.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.CameraRestrictionMode.On">
            <summary>Represents a 2D cab with camera restriction enabled.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.CameraRestrictionMode.Restricted3D">
            <summary>A 3D cab with developer specified restrictions</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.CameraRestrictionMode.NotSpecified">
            <summary>The camera restriction mode is not specified (Used by parsers)</summary>
        </member>
        <member name="T:OpenBveApi.Graphics.InterpolationMode">
            <summary>Describes the available openGL interpolation modes</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.InterpolationMode.NearestNeighbor">
            <summary>Nearest Neighbour</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.InterpolationMode.Bilinear">
            <summary>Bilinear Filtering</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.InterpolationMode.NearestNeighborMipmapped">
            <summary>Nearest Neighbour with Mipmapping</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.InterpolationMode.BilinearMipmapped">
            <summary>Bilinear Filtering with Mipmapping</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.InterpolationMode.TrilinearMipmapped">
            <summary>
            Trilinear Filtering with Mipmapping</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.InterpolationMode.AnisotropicFiltering">
            <summary>Anisotropic Filtering</summary>
        </member>
        <member name="T:OpenBveApi.Graphics.TextAlignment">
            <summary>Represents the alignment of a text compared to a reference coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.TopLeft">
            <summary>The reference coordinate represents the top-left corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.TopMiddle">
            <summary>The reference coordinate represents the top-middle corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.TopRight">
            <summary>The reference coordinate represents the top-right corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.CenterLeft">
            <summary>The reference coordinate represents the center-left corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.CenterMiddle">
            <summary>The reference coordinate represents the center-middle corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.CenterRight">
            <summary>The reference coordinate represents the center-right corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.BottomLeft">
            <summary>The reference coordinate represents the bottom-left corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.BottomMiddle">
            <summary>The reference coordinate represents the bottom-middle corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.BottomRight">
            <summary>The reference coordinate represents the bottom-right corner.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.Left">
            <summary>Represents the left for bitmasking.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.Middle">
            <summary>Represents the (horizontal) middle for bitmasking.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.Right">
            <summary>Represents the right for bitmasking.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.Top">
            <summary>Represents the top for bitmasking.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.Center">
            <summary>Represents the (vertical) center for bitmasking.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TextAlignment.Bottom">
            <summary>Represents the bottom for bitmasking.</summary>
        </member>
        <member name="T:OpenBveApi.Graphics.TransparencyMode">
            <summary>Defines the behaviour of the renderer for transparent textures</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TransparencyMode.Performance">
            <summary>Textures using color-key transparency are considered opaque, producing good performance but crisp outlines. Partially transparent faces are rendered in a single pass with z-buffer writes disabled, producing good performance but more depth-sorting issues.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TransparencyMode.Sharp">
            <summary>Textures using color-key transparency are considered opaque, producing good performance but crisp outlines. Partially transparent faces are rendered in a single pass with z-buffer writes disabled, producing good performance but more depth-sorting issues.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TransparencyMode.Intermediate">
            <summary>Textures using color-key transparency are considered opaque, producing good performance but crisp outlines. Partially transparent faces are rendered in two passes, the first rendering only opaque pixels with z-buffer writes enabled, and the second rendering only partially transparent pixels with z-buffer writes disabled, producing best quality but worse performance.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TransparencyMode.Quality">
            <summary>Textures using color-key transparency are considered partially transparent. All partially transparent faces are rendered in two passes, the first rendering only opaque pixels with z-buffer writes enabled, and the second rendering only partially transparent pixels with z-buffer writes disabled, producing best quality but worse performance.</summary>
        </member>
        <member name="F:OpenBveApi.Graphics.TransparencyMode.Smooth">
            <summary>Textures using color-key transparency are considered partially transparent. All partially transparent faces are rendered in two passes, the first rendering only opaque pixels with z-buffer writes enabled, and the second rendering only partially transparent pixels with z-buffer writes disabled, producing best quality but worse performance.</summary>
        </member>
        <member name="T:OpenBveApi.Colors.ColorPalettes">
            <summary>Contains color palettes</summary>
        </member>
        <member name="F:OpenBveApi.Colors.ColorPalettes.Windows16ColorPalette">
            <summary>Standard Windows 16-color palette</summary>
        </member>
        <member name="F:OpenBveApi.Colors.ColorPalettes.Windows256ColorPalette">
            <summary>Standard Windows 256-color palette</summary>
        </member>
        <member name="F:OpenBveApi.Colors.ColorPalettes.MonochromePalette">
            <summary>Standard Windows monochrome palette</summary>
        </member>
        <member name="T:OpenBveApi.Colors.Color24">
            <summary>Represents a 24-bit color with red, green and blue channels at 8 bits each.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.R">
            <summary>The red component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.G">
            <summary>The green component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.B">
            <summary>The blue component.</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.#ctor(System.Byte,System.Byte,System.Byte)">
            <summary>Creates a new color.</summary>
            <param name="r">The red component.</param>
            <param name="g">The green component.</param>
            <param name="b">The blue component.</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.#ctor(OpenBveApi.Colors.Color96)">
             <summary>Creates a new color from a Color96</summary>
            <param name="color">The Color96</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.CosineInterpolate(OpenBveApi.Colors.Color24,OpenBveApi.Colors.Color24,System.Double)">
            <summary>Interpolates between two Color24 values using a simple Cosine algorithm</summary>
            <param name="Color1">The first color</param>
            <param name="Color2">The second color</param>
            <param name="mu">The position on the curve of the new color</param>
            <returns>The interpolated color</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.op_Equality(OpenBveApi.Colors.Color24,OpenBveApi.Colors.Color24)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.op_Inequality(OpenBveApi.Colors.Color24,OpenBveApi.Colors.Color24)">
            <summary>Checks whether two colors are unequal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.Equals(OpenBveApi.Colors.Color24,OpenBveApi.Colors.Color24)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.Equals(System.Object)">
            <summary>Checks whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.GetBrightness">
            <summary>Gets the hue-saturation-brightness (HSB) brightness value for this color.</summary>
            <returns>The brightness of this color.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Black">
            <summary>Represents a black color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.LightGrey">
            <summary>Represents a grey color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Grey">
            <summary>Represents a grey color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Red">
            <summary>Represents a red color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Green">
            <summary>Represents a green color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Blue">
            <summary>Represents a blue color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Cyan">
            <summary>Represents a cyan color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Magenta">
            <summary>Represents a magenta color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.Yellow">
            <summary>Represents a yellow color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color24.White">
            <summary>Represents a white color.</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.TryParseHexColor(System.String,OpenBveApi.Colors.Color24@)">
            <summary>Parses a hexadecimal string into a Color24</summary>
            <param name="Expression">The color in hexadecimal format</param>
            <param name="Color">The Color24, updated via 'out'</param>
            <remarks>Sets Color to blue if the parse fails</remarks>
            <returns>True if the parse succeeds, false if it does not</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.TryParseColor(System.String,System.Char,OpenBveApi.Colors.Color24@)">
            <summary>Parses a Color24 stored in a string</summary>
            <param name="stringToParse">The string to parse</param>
            <param name="separator">The separator character</param>
            <param name="Color">The out Color32</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Color32.
            If any part fails parsing, it will be set to 255</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.ParseHexColor(System.String)">
            <summary>Parses a Hexadecimal string into a Color24</summary>
            <param name="Expression">The color in hexadecimal format</param>
            <returns>The new Color24</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.op_Implicit(System.Drawing.Color)~OpenBveApi.Colors.Color24">
            <summary>Casts a System.Drawing.Color to a Color24, discarding the alpha component</summary>
            <param name="c">The System.Drawing.Color</param>
            <returns>The new Color24</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.op_Implicit(OpenBveApi.Colors.Color24)~System.Drawing.Color">
            <summary>Casts a Color24 to a System.Drawing.Color, discarding the alpha component</summary>
            <param name="c">The Color24</param>
            <returns>The new System.Drawing.Color</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color24.ToString">
            <summary>Returns a string representation of this Color24</summary>
        </member>
        <member name="T:OpenBveApi.Colors.Color32">
            <summary>Represents a 32-bit color with red, green, blue and alpha channels at 8 bits each.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.R">
            <summary>The red component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.G">
            <summary>The green component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.B">
            <summary>The blue component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.A">
            <summary>The alpha component.</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>Creates a new color.</summary>
            <param name="r">The red component.</param>
            <param name="g">The green component.</param>
            <param name="b">The blue component.</param>
            <param name="a">The alpha component.</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.#ctor(System.Byte,System.Byte,System.Byte)">
            <summary>Creates a new color.</summary>
            <param name="r">The red component.</param>
            <param name="g">The green component.</param>
            <param name="b">The blue component.</param>
            <remarks>The alpha component is set to full opacity.</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.#ctor(OpenBveApi.Colors.Color24,System.Byte)">
            <summary>Creates a new color.</summary>
            <param name="color">The solid color.</param>
            <param name="a">The alpha component.</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.#ctor(OpenBveApi.Colors.Color24)">
            <summary>Creates a new color.</summary>
            <param name="color">The solid color.</param>
            <remarks>The alpha component is set to full opacity.</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.#ctor(OpenBveApi.Colors.Color128)">
             <summary>Creates a new color from a Color128</summary>
            <param name="color">The Color128</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Equality(OpenBveApi.Colors.Color32,OpenBveApi.Colors.Color32)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Inequality(OpenBveApi.Colors.Color32,OpenBveApi.Colors.Color32)">
            <summary>Checks whether two colors are unequal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Multiply(OpenBveApi.Colors.Color32,System.Double)">
            <summary>Multiplies a Color32 with a scalar.</summary>
            <param name="a">The Color32.</param>
            <param name="b">The scalar.</param>
            <returns>The product of the Color32 and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.Equals(OpenBveApi.Colors.Color32,OpenBveApi.Colors.Color32)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.Equals(System.Object)">
            <summary>Checks whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.SizeInBytes">
            <summary>Defines the size of the Vector2 struct in bytes.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Black">
            <summary>Represents a black color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Red">
            <summary>Represents a red color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Green">
            <summary>Represents a green color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Blue">
            <summary>Represents a blue color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Cyan">
            <summary>Represents a cyan color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Magenta">
            <summary>Represents a magenta color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Yellow">
            <summary>Represents a yellow color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.White">
            <summary>Represents a white color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color32.Transparent">
            <summary>Represents a transparent black color.</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Implicit(OpenBveApi.Colors.Color24)~OpenBveApi.Colors.Color32">
            <summary>Performs a widening conversion from Color24 to Color32.</summary>
            <param name="value">The Color24 value.</param>
            <returns>The Color32 value.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Explicit(OpenBveApi.Colors.Color32)~OpenBveApi.Colors.Color24">
            <summary>Performs a narrowing conversion from Color32 to Color24.</summary>
            <param name="value">The Color32 value.</param>
            <returns>The Color24 value.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.TryParseHexColor(System.String,OpenBveApi.Colors.Color32@)">
            <summary>Parses a hexadecimal string into a Color32</summary>
            <param name="Expression">The color in hexadecimal format</param>
            <param name="Color">The Color32, updated via 'out'</param>
            <returns>True if the parse succeeds, false if it does not</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.TryParseColor(System.String,System.Char,OpenBveApi.Colors.Color32@)">
            <summary>Parses a Color32 stored in a string</summary>
            <param name="stringToParse">The string to parse</param>
            <param name="separator">The separator character</param>
            <param name="Color">The out Color32</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Color32.
            If any part fails parsing, it will be set to 255</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.TryParseColor(System.String[],OpenBveApi.Colors.Color32@)">
            <summary>Parses a Color32 stored in a string array</summary>
            <param name="arguments">The string array to parse</param>
            <param name="Color">The out Color32</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Color32.
            If any part fails parsing, it will be set to 255</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.CreateBackColor(OpenBveApi.Colors.MessageColor,System.Single)">
            <summary>Creates the background color for anti-aliasing text</summary>
            <param name="SystemColor">The color of the message text</param>
            <param name="Alpha">The alpha to apply</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.CreateTextColor(OpenBveApi.Colors.MessageColor,System.Single)">
            <summary>Creates the foreground color for anti-aliasing text</summary>
            <param name="SystemColor">The color of the message text</param>
            <param name="Alpha">The alpha to apply</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Implicit(System.Drawing.Color)~OpenBveApi.Colors.Color32">
            <summary>Casts a System.Drawing.Color to a Color32</summary>
            <param name="c">The System.Drawing.Color</param>
            <returns>The new Color32</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color32.op_Implicit(OpenBveApi.Colors.Color32)~System.Drawing.Color">
            <summary>Casts a Color32 to a System.Drawing.Color, preserving the alpha channel</summary>
            <param name="c">The Color32</param>
            <returns>The new System.Drawing.Color</returns>
        </member>
        <member name="T:OpenBveApi.Colors.Color96">
            <summary>Represents a 96-bit color with red, green and blue channels at 32 bits each.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.R">
            <summary>The red component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.G">
            <summary>The green component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.B">
            <summary>The blue component.</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color96.#ctor(System.Single,System.Single,System.Single)">
            <summary>Creates a new color.</summary>
            <param name="r">The red component.</param>
            <param name="g">The green component.</param>
            <param name="b">The blue component.</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color96.op_Equality(OpenBveApi.Colors.Color96,OpenBveApi.Colors.Color96)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color96.op_Inequality(OpenBveApi.Colors.Color96,OpenBveApi.Colors.Color96)">
            <summary>Checks whether two colors are unequal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color96.Equals(OpenBveApi.Colors.Color96,OpenBveApi.Colors.Color96)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color96.Equals(System.Object)">
            <summary>Checks whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color96.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Black">
            <summary>Represents a black color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Red">
            <summary>Represents a red color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Green">
            <summary>Represents a green color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Blue">
            <summary>Represents a blue color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Cyan">
            <summary>Represents a cyan color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Magenta">
            <summary>Represents a magenta color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.Yellow">
            <summary>Represents a yellow color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color96.White">
            <summary>Represents a white color.</summary>
        </member>
        <member name="T:OpenBveApi.Colors.Color128">
            <summary>Represents a 128-bit color with red, green, blue and alpha channels at 32 bits each.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.R">
            <summary>The red component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.G">
            <summary>The green component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.B">
            <summary>The blue component.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.A">
            <summary>The alpha component.</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>Creates a new color.</summary>
            <param name="r">The red component.</param>
            <param name="g">The green component.</param>
            <param name="b">The blue component.</param>
            <param name="a">The alpha component.</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.#ctor(System.Single,System.Single,System.Single)">
            <summary>Creates a new color.</summary>
            <param name="r">The red component.</param>
            <param name="g">The green component.</param>
            <param name="b">The blue component.</param>
            <remarks>The alpha component is set to full opacity.</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.#ctor(OpenBveApi.Colors.Color24,System.Single)">
            <summary>Creates a new color.</summary>
            <param name="color">The solid color.</param>
            <param name="a">The alpha component.</param>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.#ctor(OpenBveApi.Colors.Color24)">
            <summary>Creates a new color.</summary>
            <param name="color">The solid color.</param>
            <remarks>The alpha component is set to full opacity.</remarks>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.op_Equality(OpenBveApi.Colors.Color128,OpenBveApi.Colors.Color128)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.op_Inequality(OpenBveApi.Colors.Color128,OpenBveApi.Colors.Color128)">
            <summary>Checks whether two colors are unequal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.Equals(OpenBveApi.Colors.Color128,OpenBveApi.Colors.Color128)">
            <summary>Checks whether two colors are equal.</summary>
            <param name="a">The first color.</param>
            <param name="b">The second color.</param>
            <returns>Whether the two colors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.Equals(System.Object)">
            <summary>Checks whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Black">
            <summary>Represents a black color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Grey">
            <summary>Represents a black color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Red">
            <summary>Represents a red color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Green">
            <summary>Represents a green color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Blue">
            <summary>Represents a blue color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Cyan">
            <summary>Represents a cyan color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Magenta">
            <summary>Represents a magenta color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Yellow">
            <summary>Represents a yellow color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.White">
            <summary>Represents a white color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Transparent">
            <summary>Represents a transparent black color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.SemiTransparentGrey">
            <summary>Represents a semi transparent grey color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.DeepSkyBlue">
            <summary>Represents a deep sky blue color</summary>
        </member>
        <member name="F:OpenBveApi.Colors.Color128.Orange">
            <summary>Represents an orange color</summary>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.op_Implicit(OpenBveApi.Colors.Color24)~OpenBveApi.Colors.Color128">
            <summary>Performs a widening conversion from Color96 to Color128.</summary>
            <param name="value">The Color96 value.</param>
            <returns>The Color128 value.</returns>
        </member>
        <member name="M:OpenBveApi.Colors.Color128.op_Explicit(OpenBveApi.Colors.Color128)~OpenBveApi.Colors.Color96">
            <summary>Performs a narrowing conversion from Color128 to Color96.</summary>
            <param name="value">The Color128 value.</param>
            <returns>The Color96 value.</returns>
        </member>
        <member name="T:OpenBveApi.Colors.MessageColor">
            <summary>Represents the available colors for in-game messages.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.None">
            <summary>No color.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Black">
            <summary>Black.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Gray">
            <summary>Gray.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.White">
            <summary>White.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Red">
            <summary>Red.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Orange">
            <summary>Orange.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Green">
            <summary>Green.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Blue">
            <summary>Blue.</summary>
        </member>
        <member name="F:OpenBveApi.Colors.MessageColor.Magenta">
            <summary>Magenta.</summary>
        </member>
        <member name="T:OpenBveApi.Interface.Control">
            <summary>Information on an in-game control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Command">
            <summary>The public command which this control performs</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.InheritedType">
            <summary>The command type</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Method">
            <summary>The method of control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Modifier">
            <summary>Any keyboard modifiers used</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Device">
            <summary>The GUID of the device which activates this control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Component">
            <summary>The joystick component which activates this control (if joystick)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Element">
            <summary>The joystick axis / hat number</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Direction">
            <summary>The joystick movement direction</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.DigitalState">
            <summary>The simulation state of the control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.AnalogState">
            <summary>The analog state of the control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Key">
            <summary>The keyboard key (if keyboard activated)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.LastState">
            <summary>The last state of the control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Control.Option">
            <summary>The option applied to this control</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Control.ToString">
            <summary>Returns the control's representation in string format</summary>
        </member>
        <member name="T:OpenBveApi.Interface.ControlMethod">
            <summary>The method by which a control is activated</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ControlMethod.Invalid">
            <summary>This control is invalid</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ControlMethod.Keyboard">
            <summary>This control is activated using a keyboard button</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ControlMethod.Joystick">
            <summary>This control is activated using a joystick axis or button</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ControlMethod.RailDriver">
            <summary>This control is activated using the RailDriver cab controller</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ControlMethod.InputDevicePlugin">
            <summary>This control is activated using the Input Device Plugin</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ControlMethod.Touch">
            <summary>This control is activated using a touch element</summary>
        </member>
        <member name="T:OpenBveApi.Interface.DigitalControlState">
            <summary>The possible states of a digital control (button)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.DigitalControlState.ReleasedAcknowledged">
            <summary>The button has been released, but the simulation has not yet updated to reflect this</summary>
        </member>
        <member name="F:OpenBveApi.Interface.DigitalControlState.Released">
            <summary>The button is released</summary>
        </member>
        <member name="F:OpenBveApi.Interface.DigitalControlState.Pressed">
            <summary>
            The button is pressed
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.DigitalControlState.PressedAcknowledged">
            <summary>The button has been pressed, but the simulation has not yet updated to reflect this</summary>
        </member>
        <member name="T:OpenBveApi.Interface.InputEventArgs">
            <summary>
            The class of event argument with control's information
            </summary>
        </member>
        <member name="M:OpenBveApi.Interface.InputEventArgs.#ctor(OpenBveApi.Interface.InputControl)">
            <summary>
            Constructor
            </summary>
            <param name="control">Control's information</param>
        </member>
        <member name="P:OpenBveApi.Interface.InputEventArgs.Control">
            <summary>
            Control's information
            </summary>
        </member>
        <member name="T:OpenBveApi.Interface.InputControl">
            <summary>
            A structure within the control's information
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputControl.Command">
            <summary>
            Command
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputControl.Option">
            <summary>
            Command option
            </summary>
        </member>
        <member name="T:OpenBveApi.Interface.IInputDevice">
            <summary>
            An interface for Input Device Plugin
            </summary>
        </member>
        <member name="E:OpenBveApi.Interface.IInputDevice.KeyDown">
            <summary>
            Define KeyDown event
            </summary>
        </member>
        <member name="E:OpenBveApi.Interface.IInputDevice.KeyUp">
            <summary>
            Define KeyUp event
            </summary>
        </member>
        <member name="P:OpenBveApi.Interface.IInputDevice.Controls">
            <summary>
            The control list that is using for plugin
            </summary>
        </member>
        <member name="M:OpenBveApi.Interface.IInputDevice.Load(OpenBveApi.FileSystem.FileSystem)">
            <summary>
            A function called when the plugin is loading
            </summary>
            <param name="fileSystem">The instance of the FileSystem class</param>
            <returns>Check the plugin loading process is successfully</returns>
        </member>
        <member name="M:OpenBveApi.Interface.IInputDevice.Unload">
            <summary>
            A function call when the plugin is unload
            </summary>
        </member>
        <member name="M:OpenBveApi.Interface.IInputDevice.Config(System.Windows.Forms.IWin32Window)">
            <summary>
            A function called when the Config button is pressed
            </summary>
            <param name="owner">The owner of the window</param>
        </member>
        <member name="M:OpenBveApi.Interface.IInputDevice.SetMaxNotch(System.Int32,System.Int32)">
            <summary>
            The function what the notify to the plugin that the train maximum notches
            </summary>
            <param name="powerNotch">Maximum power notch number</param>
            <param name="brakeNotch">Maximum brake notch number</param>
        </member>
        <member name="M:OpenBveApi.Interface.IInputDevice.SetElapseData(OpenBveApi.Runtime.ElapseData)">
            <summary>
            The function what notify to the plugin that the train existing status
            </summary>
            <param name="data">Data</param>
        </member>
        <member name="M:OpenBveApi.Interface.IInputDevice.OnUpdateFrame">
            <summary>
            A function that calls each frame
            </summary>
        </member>
        <member name="T:OpenBveApi.Interface.ITrainInputDevice">
            <summary>An interface for Input Device plugins which require the train properties to function</summary>
        </member>
        <member name="M:OpenBveApi.Interface.ITrainInputDevice.SetVehicleSpecs(OpenBveApi.Runtime.VehicleSpecs)">
            <summary>
            Called after the train has loaded in order to inform the plugin of it's specs
            </summary>
            <param name="mySpecs"></param>
        </member>
        <member name="M:OpenBveApi.Interface.ITrainInputDevice.DoorChange(OpenBveApi.Runtime.DoorStates,OpenBveApi.Runtime.DoorStates)">
            <summary>Is called when the state of the doors changes.</summary>
            <param name="oldState">The old state of the doors.</param>
            <param name="newState">The new state of the doors.</param>
        </member>
        <member name="M:OpenBveApi.Interface.ITrainInputDevice.SetSignal(OpenBveApi.Runtime.SignalData[])">
            <summary>Is called when the aspect in the current or in any of the upcoming sections changes, or when passing section boundaries.</summary>
            <param name="data">Signal information per section. In the array, index 0 is the current section, index 1 the upcoming section, and so on.</param>
            <remarks>The signal array is guaranteed to have at least one element. When accessing elements other than index 0, you must check the bounds of the array first.</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.ITrainInputDevice.SetBeacon(OpenBveApi.Runtime.BeaconData)">
            <summary>Is called when the train passes a beacon.</summary>
            <param name="data">The beacon data.</param>
        </member>
        <member name="T:OpenBveApi.Interface.InputDevicePlugin">
            <summary>
            The class of the input device plugin
            </summary>
        </member>
        <member name="T:OpenBveApi.Interface.InputDevicePlugin.PluginInfo">
            <summary>
            The class of the plugin's information
            </summary>
        </member>
        <member name="T:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.PluginStatus">
            <summary>
            Enumerators of the plugin status
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.PluginStatus.Failure">
            <summary>
            Failed the loading
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.PluginStatus.Disable">
            <summary>
            Disabled
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.PluginStatus.Enable">
            <summary>
            Enabled
            </summary>
        </member>
        <member name="P:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.Name">
            <summary>
            Plugin's name
            </summary>
        </member>
        <member name="P:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.Status">
            <summary>
            Plugin's state
            </summary>
        </member>
        <member name="P:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.Version">
            <summary>
            Version information of the plugin
            </summary>
        </member>
        <member name="P:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.Provider">
            <summary>
            Provider of the plugin
            </summary>
        </member>
        <member name="P:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.FileName">
            <summary>
            Filename of the plugin
            </summary>
        </member>
        <member name="M:OpenBveApi.Interface.InputDevicePlugin.PluginInfo.#ctor(System.Reflection.Assembly)">
            <summary>
            Constructor
            </summary>
            <param name="File">Assembly information of the plugin</param>
        </member>
        <member name="F:OpenBveApi.Interface.InputDevicePlugin.FileSystem">
            <summary>
            The instance of FileSystem class
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputDevicePlugin.AvailablePluginInfos">
            <summary>
            The storing list of the plugin information that can use
            </summary>
        </member>
        <member name="F:OpenBveApi.Interface.InputDevicePlugin.AvailablePlugins">
            <summary>
            The storing list of the plugin instance that can use
            </summary>
        </member>
        <member name="M:OpenBveApi.Interface.InputDevicePlugin.LoadPlugins(OpenBveApi.FileSystem.FileSystem)">
            <summary>
            The function that is load the plugin what can use
            </summary>
            <param name="fileSystem">The instance of FileSystem class</param>
        </member>
        <member name="M:OpenBveApi.Interface.InputDevicePlugin.CallPluginLoad(System.Int32,OpenBveApi.Hosts.HostInterface)">
            <summary>
            The function that calls the plugin's load function
            </summary>
            <param name="index">The index number which can use the plugins</param>
            <param name="currentHost">A reference to the current host</param>
        </member>
        <member name="M:OpenBveApi.Interface.InputDevicePlugin.CallPluginUnload(System.Int32)">
            <summary>
            The function that calls the plugin's unload function
            </summary>
            <param name="index">The index number which can use the plugins</param>
        </member>
        <member name="M:OpenBveApi.Interface.InputDevicePlugin.CallPluginConfig(System.Windows.Forms.IWin32Window,System.Int32)">
            <summary>
            The function that calls the plugin's configuration function
            </summary>
            <param name="owner">The owner of the window</param>
            <param name="index">The index number which can use the plugins</param>
        </member>
        <member name="T:OpenBveApi.Interface.JoystickComponent">
            <summary>The joystick component used to activate a control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.JoystickComponent.Invalid">
            <summary>The joystick component is invalid</summary>
        </member>
        <member name="F:OpenBveApi.Interface.JoystickComponent.Axis">
            <summary>A half-axis range is used</summary>
        </member>
        <member name="F:OpenBveApi.Interface.JoystickComponent.FullAxis">
            <summary>A full axis range is used</summary>
        </member>
        <member name="F:OpenBveApi.Interface.JoystickComponent.Ball">
            <summary>The joystick ball</summary>
        </member>
        <member name="F:OpenBveApi.Interface.JoystickComponent.Hat">
            <summary>A joystick hat direction</summary>
        </member>
        <member name="F:OpenBveApi.Interface.JoystickComponent.Button">
            <summary>A joystick button</summary>
        </member>
        <member name="T:OpenBveApi.Interface.KeyboardModifier">
            <summary>Keyboard modifiers</summary>
        </member>
        <member name="F:OpenBveApi.Interface.KeyboardModifier.None">
            <summary>No modifier is applied</summary>
        </member>
        <member name="F:OpenBveApi.Interface.KeyboardModifier.Shift">
            <summary>The control is active when SHIFT is also pressed</summary>
        </member>
        <member name="F:OpenBveApi.Interface.KeyboardModifier.Ctrl">
            <summary>The control is active when CTRL is also pressed</summary>
        </member>
        <member name="F:OpenBveApi.Interface.KeyboardModifier.Alt">
            <summary>The control is active when ALT is also pressed</summary>
        </member>
        <member name="T:OpenBveApi.Interface.LogMessage">
            <summary>A logged textual message</summary>
        </member>
        <member name="F:OpenBveApi.Interface.LogMessage.Type">
            <summary>The message type</summary>
        </member>
        <member name="F:OpenBveApi.Interface.LogMessage.FileNotFound">
            <summary>Whether this message pertains to a missing file</summary>
        </member>
        <member name="F:OpenBveApi.Interface.LogMessage.Text">
            <summary>The message text</summary>
        </member>
        <member name="M:OpenBveApi.Interface.LogMessage.#ctor(OpenBveApi.Interface.MessageType,System.Boolean,System.String)">
            <summary>Creates a new logged textual message</summary>
        </member>
        <member name="T:OpenBveApi.Interface.MessageType">
            <summary>The different types of log messages</summary>
        </member>
        <member name="F:OpenBveApi.Interface.MessageType.Information">
            <summary>The message contains information only</summary>
        </member>
        <member name="F:OpenBveApi.Interface.MessageType.Warning">
            <summary>The message is a warning</summary>
            <remarks>May normally be ignored</remarks>
        </member>
        <member name="F:OpenBveApi.Interface.MessageType.Error">
            <summary>The message is an error</summary>
            <remarks>May generally be ignored, but may have issues such as missing textures etc.</remarks>
        </member>
        <member name="F:OpenBveApi.Interface.MessageType.Critical">
            <summary>The message is a critical error</summary>
            <remarks>The affected object etc. will generally not function correctly</remarks>
        </member>
        <member name="T:OpenBveApi.Interface.ShadowMapResolution">
            <summary>Available shadow map resolution presets.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowMapResolution.Off">
            <summary>Shadows disabled entirely.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowMapResolution.Low">
            <summary>512×512 per cascade — minimal quality, best performance.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowMapResolution.Medium">
            <summary>1024×1024 per cascade — balanced.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowMapResolution.High">
            <summary>2048×2048 per cascade — high quality.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowMapResolution.Ultra">
            <summary>4096×4096 per cascade — ultra quality, GPU-heavy.</summary>
        </member>
        <member name="T:OpenBveApi.Interface.ShadowDistance">
            <summary>Available shadow distance presets.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowDistance.ViewingDistance">
            <summary>Matches the camera viewing distance.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowDistance.Near">
            <summary>150m — close shadows only, best performance.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowDistance.Medium">
            <summary>300m — balanced distance.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowDistance.Far">
            <summary>500m — far shadows, higher GPU cost.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowDistance.VeryFar">
            <summary>800m — maximum distance.</summary>
        </member>
        <member name="T:OpenBveApi.Interface.ShadowCascadeCount">
            <summary>Available shadow cascade counts.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowCascadeCount.Two">
            <summary>2 cascades — fastest.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowCascadeCount.Three">
            <summary>3 cascades — balanced quality/performance.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.ShadowCascadeCount.Four">
            <summary>4 cascades — best quality gradient.</summary>
        </member>
        <member name="T:OpenBveApi.Interface.InterfaceQuickReference">
            <summary>The quick-reference strings displayed in-game</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleForward">
            <summary>Reverser Forwards</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleNeutral">
            <summary>Reverser Neutral</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleBackward">
            <summary>Reverser Reverse</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandlePower">
            <summary>Power P(n)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandlePowerNull">
            <summary>Power Neutral</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleBrake">
            <summary>Brake B(n)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleLocoBrake">
            <summary>LocoBrake B(n)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleBrakeNull">
            <summary>Brake / LocoBrake Neutral</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleRelease">
            <summary>Air brake release</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleLap">
            <summary>Air brake lap</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleService">
            <summary>Air brake service</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleEmergency">
            <summary>Brake emergency</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.HandleHoldBrake">
            <summary>Hold brake applied</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.DoorsLeft">
            <summary>Left Doors</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.DoorsRight">
            <summary>Right doors</summary>
        </member>
        <member name="F:OpenBveApi.Interface.InterfaceQuickReference.Score">
            <summary>Score (n)</summary>
        </member>
        <member name="T:OpenBveApi.Interface.NewLanguage">
            <summary>A language file</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.Name">
            <summary>The display name of the language</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.Code">
            <summary>The ISO-639 language code</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.FallbackCodes">
            <summary>A list of fallback language codes to try if a string does not exist</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.Flag">
            <summary>The path to the flag for this language code</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.Contributors">
            <summary>The list of contributors</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.TranslationGroups">
            <summary>The translation groups contained within the language</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.QuickReferences">
            <summary>The quick references</summary>
        </member>
        <member name="F:OpenBveApi.Interface.NewLanguage.KeyInfos">
            <summary>The key translations</summary>
        </member>
        <member name="M:OpenBveApi.Interface.NewLanguage.#ctor(System.String)">
            <summary>Loads a language from a language file</summary>
        </member>
        <member name="M:OpenBveApi.Interface.NewLanguage.#ctor(System.IO.Stream,System.String)">
            <summary>Loads a language from an embedded stream</summary>
        </member>
        <member name="M:OpenBveApi.Interface.NewLanguage.GetInterfaceString(OpenBveApi.Hosts.HostApplication,System.String[])">
            <summary>Gets an interface string unconditionally</summary>
            <param name="hostApplication">The host application</param>
            <param name="parameters">The string to retrieve</param>
            <returns>The translated string</returns>
            <remarks>If the translated string does not exist in the current language, this may return a result from a fallback language file</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.NewLanguage.ToString">
            <summary>Returns the name of the language</summary>
        </member>
        <member name="T:OpenBveApi.Interface.TranslationGroup">
            <summary>A group of translations</summary>
        </member>
        <member name="F:OpenBveApi.Interface.TranslationGroup.SubGroups">
            <summary>The sub-groups within this group</summary>
            <remarks>A group may contain multiple layers of sub-groups</remarks>
        </member>
        <member name="F:OpenBveApi.Interface.TranslationGroup.Strings">
            <summary>The strings within this group</summary>
        </member>
        <member name="M:OpenBveApi.Interface.TranslationGroup.#ctor(System.Xml.Linq.XNamespace,System.Xml.Linq.XElement)">
            <summary>Creates a new TranslationGroup</summary>
            <param name="xmlns">The parent XML namespace</param>
            <param name="groupElement">The XElement containing the group</param>
        </member>
        <member name="T:OpenBveApi.Interface.TranslationString">
            <summary>A translation string</summary>
        </member>
        <member name="F:OpenBveApi.Interface.TranslationString.Source">
            <summary>The source string</summary>
        </member>
        <member name="F:OpenBveApi.Interface.TranslationString.Translation">
            <summary>The translated string</summary>
        </member>
        <member name="M:OpenBveApi.Interface.TranslationString.#ctor(System.Xml.Linq.XNamespace,System.Xml.Linq.XElement)">
            <summary>Creates a new TranslationString</summary>
            <param name="xmlns">The parent XMLNamespace</param>
            <param name="stringElement">The XElement containing the translation string</param>
        </member>
        <member name="T:OpenBveApi.Interface.Translations">
            <summary>Contains functions for providing translations</summary>
        </member>
        <member name="T:OpenBveApi.Interface.Translations.CommandInfo">
            <summary>Information on an in-game command</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandInfo.Command">
            <summary>The actual command to be performed</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandInfo.Type">
            <summary>Whether this is a digital or analog control</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandInfo.Name">
            <summary>The command name</summary>
        </member>
        <member name="P:OpenBveApi.Interface.Translations.CommandInfo.Description">
            <summary>The command's description</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandInfo.EnableOption">
            <summary>Whether to enable command options</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.CommandInfo.ToString">
            <summary>Gets the string representation of this command</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.CommandInfo.op_Equality(OpenBveApi.Interface.Translations.CommandInfo,OpenBveApi.Interface.Translations.CommandInfo)">
            <summary>Checks whether the two specified CommandInfo instances are equal</summary>
            <remarks>This ignores the translated command description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.CommandInfo.op_Inequality(OpenBveApi.Interface.Translations.CommandInfo,OpenBveApi.Interface.Translations.CommandInfo)">
            <summary>Checks whether the two specified CommandInfo instances are NOT equal</summary>
            <remarks>This ignores the translated command description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.CommandInfo.Equals(System.Object)">
            <summary>Returns whether this CommandInfo instance is equal to the specified object</summary>
            <remarks>This ignores the translated command description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.CommandInfo.Equals(OpenBveApi.Interface.Translations.CommandInfo)">
            <summary>Returns whether this CommandInfo instance is equal to the specified CommandInfo</summary>
            <remarks>This ignores the translated command description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.CommandInfo.GetHashCode">
            <summary>Gets the HashCode for this CommandInfo instance</summary>
            <remarks>This ignores the translated command description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.TryGetInfo(System.Collections.Generic.Dictionary{OpenBveApi.Interface.Translations.Command,OpenBveApi.Interface.Translations.CommandInfo},OpenBveApi.Interface.Translations.Command)">
            <summary>Gets the command info for the specified command</summary>
            <param name="commandInfos">The array of command infos</param>
            <param name="Value">The command</param>
            <returns>The command info for Value, or a new command info if this is not in the array</returns>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandInfos">
            <summary>Contains the list of all known command infos</summary>
        </member>
        <member name="T:OpenBveApi.Interface.Translations.Command">
            <summary>Defines the available commands which may be called by a player during a simulation session</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.None">
            <summary>No command specified</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.PowerIncrease">
            <summary>Increases the power notch on a train with separate power and brake handles</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.PowerDecrease">
            <summary>Decreases the power notch on a train with separate power and brake handles</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.PowerHalfAxis">
            <summary>Controls the power notch using half a joystick axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.PowerFullAxis">
            <summary>Controls the power notch using a full joystick axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.BrakeIncrease">
            <summary>Increases the brake notch on a train with separate power and brake handles</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.BrakeDecrease">
            <summary>Decreases the brake notch on a train with separate power and brake handles</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.BrakeEmergency">
            <summary>Applies full emergency brake on a train with separate power and brake handles (Power notch remains at the driver's setting)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.BrakeHalfAxis">
            <summary>Controls the brake notch using half a joystick axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.BrakeFullAxis">
            <summary>Controls the brake notch using a full joystick axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SinglePower">
            <summary>Advances the handle towards the maximum power notch on a train with a combined power and brake handle</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SingleNeutral">
            <summary>Moves the handle towards neutral on a train with a combined power and brake handle (Will not apply brakes)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SingleBrake">
            <summary>Returns the handle towards the maximum brake notch on a train with a combined power and brake handle</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SingleEmergency">
            <summary>Applies full emergency brake on a train with a combined power and brake handle</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SingleFullAxis">
            <summary>Controls a combined power and brake handle using a full joystick axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.PowerAnyNotch">
            <summary>Adjust to the power notch directly from command option value</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.BrakeAnyNotch">
            <summary>Adjust to the brake notch directly from command option value</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.ReverserAnyPosition">
            <summary>Adjust to the reverser directly from command option value</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.HoldBrake">
            <summary>Hold Brake</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.ReverserForward">
            <summary>Moves the reverser in the forwards direction</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.ReverserBackward">
            <summary>Moves the reverser in the backwards direction</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.ReverserFullAxis">
            <summary>Controls the reverser using a full joystick axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DoorsLeft">
            <summary>Opens or closes the left-hand doors</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DoorsRight">
            <summary>Opens or closes the right-hand doors</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.HornPrimary">
            <summary>Activates the primary horn</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.HornSecondary">
            <summary>Activates the secondary horn</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.HornMusic">
            <summary>Activates the music horn</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DeviceConstSpeed">
            <summary>Enables or disables the constant-speed device</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.LocoBrakeIncrease">
            <summary>Increases the locomotive brake notch</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.LocoBrakeDecrease">
            <summary>Decreases the locomotive brake notch</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.PlayMicSounds">
            <summary>Activate microphone audio playback</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraInterior">
            <summary>Change to the interior (Cab) camera mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraInteriorNoPanel">
            <summary>Change to the interior (Cab) camera mode. However, the panel is not displayed.</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraExterior">
            <summary>Change to the exterior (Attached to train) camera mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraHeadOutLeft">
            <summary>Change to the head out (left) camera mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraHeadOutRight">
            <summary>Change to the head out (right) camera mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraTrack">
            <summary>Change to the track based camera mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraFlyBy">
            <summary>Change to fly-by camera mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraMoveForward">
            <summary>Move the camera forwards</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraMoveBackward">
            <summary>Move the camera backwards</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraMoveLeft">
            <summary>Move the camera left</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraMoveRight">
            <summary>Move the camera right</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraMoveUp">
            <summary>Move the camera up</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraMoveDown">
            <summary>Move the camera down</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRotateLeft">
            <summary>Rotate the camera left</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRotateRight">
            <summary>Rotate the camera right</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRotateUp">
            <summary>Rotate the camera up</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRotateDown">
            <summary>Rotate the camera down</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRotateCCW">
            <summary>Rotate the camera counter-clockwise</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRotateCW">
            <summary>Rotate the camera clockwise</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraZoomIn">
            <summary>Zoom the camera in</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraZoomOut">
            <summary>Zoom the camera out</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraPOIPrevious">
            <summary>Shift to the previous Point of Interest camera view</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraPOINext">
            <summary>Shift to the next Point of Interest camera view</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraReset">
            <summary>Reset the camera to pointing immediately forwards at track-level</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CameraRestriction">
            <summary>Toggle camera restriction mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.TimetableToggle">
            <summary>Shows or hides the in-game timetable</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.TimetableUp">
            <summary>Scrolls the in-game timetable up</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.TimetableDown">
            <summary>Scrolls the in-game timetable down</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscClock">
            <summary>Shows or hides the in-game clock</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscSpeed">
            <summary>Shows or hides the in-game speed display</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscGradient">
            <summary>Shows or hides the in-game gradient display</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscDistNextStation">
            <summary>Show / hide the in-game remain distance of the next station</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscFps">
            <summary>Shows or hides the in-game FPS display</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscAI">
            <summary>Toggles AI control of the player train</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscInterface">
            <summary>Switches between the different interface modes</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscBackface">
            <summary>Toggles the backface-culling mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscCPUMode">
            <summary>Switches between low and high CPU modes</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscTimeFactor">
            <summary>Switches between the normal and accelerated time-factors</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscPause">
            <summary>Pauses/ unpauses the game</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscMute">
            <summary>Mutes/ unmutes the game</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscFullscreen">
            <summary>Toggles fullscreen mode</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MiscQuit">
            <summary>Quits the game</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MenuActivate">
            <summary>Activates the in-game menu</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MenuUp">
            <summary>Moves up within a menu</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MenuDown">
            <summary>Moves down within a menu</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MenuEnter">
            <summary>Enters a submenu</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MenuBack">
            <summary>Returns from a submenu</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DebugWireframe">
            <summary>Toggles wireframe rendering</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DebugNormals">
            <summary>Toggles rendering of a visual representation of vertex normals</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DebugBrakeSystems">
            <summary>Shows or hides debug information on the brake-system performance</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DebugATS">
            <summary>Shows or hides the ATS (plugin) debug screen</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DebugTouchMode">
            <summary>Shows or hides the touch range</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.ShowEvents">
            <summary>Shows or hides a visual representation of all events on the track</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DebugRendererMode">
            <summary>Toggles the renderer</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityS">
            <summary>The security (Plugin) S-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityA1">
            <summary>The security (Plugin) A1-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityA2">
            <summary>The security (Plugin) A2-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityB1">
            <summary>The security (Plugin) B1-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityB2">
            <summary>The security (Plugin) B2-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityC1">
            <summary>The security (Plugin) C1-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityC2">
            <summary>The security (Plugin) C2-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityD">
            <summary>The security (Plugin) D-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityE">
            <summary>The security (Plugin) E-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityF">
            <summary>The security (Plugin) F-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityG">
            <summary>The security (Plugin) G-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityH">
            <summary>The security (Plugin) H-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityI">
            <summary>The security (Plugin) I-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityJ">
            <summary>The security (Plugin) J-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityK">
            <summary>The security (Plugin) K-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityL">
            <summary>The security (Plugin) L-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityM">
            <summary>The security (Plugin) M-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityN">
            <summary>The security (Plugin) N-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityO">
            <summary>The security (Plugin) O-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SecurityP">
            <summary>The security (Plugin) P-Key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.WiperSpeedUp">
            <summary>Increase the speed of the windscreen wipers</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.WiperSpeedDown">
            <summary>Decrease the speed of the windscreen wipers</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.FillFuel">
            <summary>Fill fuel</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.Headlights">
            <summary>Toggles the headlights</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.LiveSteamInjector">
            <summary>The live-steam injector</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.ExhaustSteamInjector">
            <summary>The exhaust-steam injector</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.IncreaseCutoff">
            <summary>Increase cutoff</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DecreaseCutoff">
            <summary>Decrease cutoff</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.Blowers">
            <summary>The blowers</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.CylinderCocks">
            <summary>The cylinder cocks</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.EngineStart">
            <summary>Start the engine</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.EngineStop">
            <summary>Stop the engine</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.GearUp">
            <summary>Shift up a gear</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.GearDown">
            <summary>Shift down a gear</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.RaisePantograph">
            <summary>Raise the pantograph</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.LowerPantograph">
            <summary>Lower the pantograph</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.MainBreaker">
            <summary>The main breaker</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.RouteInformation">
            <summary>Shows or hides the route information window</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.RailDriverSpeedUnits">
            <summary>Toggles the speed units in the RailDriver's display</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.AccessibilityCurrentSpeed">
            <summary>Triggers a screen reader message with the current speed</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.AccessibilityNextSignal">
            <summary>Triggers a screen reader message with the distance and aspect to the next signal</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.AccessibilityNextStation">
            <summary>Triggers a screen reader message with the distance to the next station</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.AccessibilityNextLimit">
            <summary>Triggers a screen reader message with the current limit, next limit and distance</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.SwitchMenu">
            <summary>Shows the change switch menu</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.Sanders">
            <summary>Toggles the sanders if fitted</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.UncoupleFront">
            <summary>Uncouples the front coupling of a car</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.UncoupleRear">
            <summary>Uncouples the rear coupling of a car</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.DriverSupervision">
            <summary>Controls the DSD</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.Command.AccessPermissiveSection">
            <summary>Press to request permission from the signaller to access a permissive section</summary>
        </member>
        <member name="T:OpenBveApi.Interface.Translations.CommandType">
            <summary>Defines the possible command types</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandType.Digital">
            <summary>A digital input, comprising of ON and OFF states</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandType.AnalogHalf">
            <summary>One-half of an analog joystick or gamepad axis</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CommandType.AnalogFull">
            <summary>A full analog joystick or gamepad axis</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.SecurityToVirtualKey(OpenBveApi.Interface.Translations.Command,OpenBveApi.Runtime.VirtualKeys@)">
            <summary>Converts the specified security command to a virtual key.</summary>
            <returns>Virtual key for plugins.</returns>
            <param name="cmd">The security command</param>
            <param name="key">The returned key</param>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.CurrentLanguageCode">
            <summary>Stores the current language-code</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.SetInGameLanguage(System.String)">
            <summary>Sets the in-game language</summary>
            <param name="Language">The language string to set</param>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.GetInterfaceString(OpenBveApi.Hosts.HostApplication,System.String[])">
            <summary>Fetches a translated user interface string</summary>
            <param name="Application">The application string database to search</param>
            <param name="parameters">A string array containing the group tree to retrieve the string</param>
            <returns>The translated string</returns>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.QuickReferences">
            <summary>Holds the current set of interface quick reference strings</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.RatingsCount">
            <summary>The number of score events to be displayed</summary>
            TODO: Appears to remain constant, investigate exact usages and whether we can dump
        </member>
        <member name="T:OpenBveApi.Interface.Translations.KeyInfo">
            <summary>Defines an available keyboard key</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.KeyInfo.Key">
            <summary>The key (OpenTK.Input.Key enum member)</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.KeyInfo.Name">
            <summary>The internal key name</summary>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.KeyInfo.Description">
            <summary>The translated key description</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.#ctor(OpenBveApi.Input.Key,System.String)">
            <summary>Creates a new translated key</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.ToString">
            <returns>ToString for a key binding returns the binding description in textual format, NOT the physical key</returns>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.op_Equality(OpenBveApi.Interface.Translations.KeyInfo,OpenBveApi.Interface.Translations.KeyInfo)">
            <summary>Checks whether the two specified KeyInfo instances are equal</summary>
            <remarks>This ignores the translated key description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.op_Inequality(OpenBveApi.Interface.Translations.KeyInfo,OpenBveApi.Interface.Translations.KeyInfo)">
            <summary>Checks whether the two specified KeyInfo instances are NOT equal</summary>
            <remarks>This ignores the translated key description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.Equals(OpenBveApi.Interface.Translations.KeyInfo)">
            <summary>Returns whether this KeyInfo instance is equal to the specified KeyInfo</summary>
            <remarks>This ignores the translated key description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.Equals(System.Object)">
            <summary>Returns whether this KeyInfo instance is equal to the specified object</summary>
            <remarks>This ignores the translated key description</remarks>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.KeyInfo.GetHashCode">
            <summary>Gets the HashCode for this KeyInfo instance</summary>
            <remarks>This ignores the translated key description</remarks>
        </member>
        <member name="F:OpenBveApi.Interface.Translations.TranslatedKeys">
            <summary>Holds the translations for all keys available for assignation</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.LoadLanguageFiles(System.String)">
            <summary>Loads all available language files from the specified folder</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.LoadEmbeddedLanguage">
            <summary>Loads the embedded default language</summary>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.ListLanguages(System.Windows.Forms.ComboBox)">
            <summary>Populates a list of languages in a combobox</summary>
            <param name="comboboxLanguages">The combobox to populate</param>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.SelectedLanguage(System.String,System.String@,System.Windows.Forms.ComboBox,System.String@)">
            <summary>Attempts to set the flag image for the selected language code</summary>
            <param name="flagFolder">The folder containing flag images</param>
            <param name="currentLanguageCodeArgument">The language code we wish to get the flag for</param>
            <param name="comboboxLanguages">A reference to the combobox used to select the UI language</param>
            <param name="languageImage">The path to the returned language image</param>
            <returns>True if we have found and successfully loaded the flag image</returns>
        </member>
        <member name="M:OpenBveApi.Interface.Translations.SelectedLanguage(System.String@,System.Windows.Forms.ComboBox)">
            <summary>Selects a language</summary>
            <param name="currentLanguageCodeArgument">The language code to select</param>
            <param name="comboboxLanguages">A reference to the combobox used to select the UI language</param>
            <returns>True if the language was found and selected successfully</returns>
        </member>
        <member name="T:OpenBveApi.Input.Key">
            <summary>
            The available keyboard keys.
            </summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Unknown">
            <summary>A key outside the known keys.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.ShiftLeft">
            <summary>The left shift key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.LShift">
            <summary>The left shift key (equivalent to ShiftLeft).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.ShiftRight">
            <summary>The right shift key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.RShift">
            <summary>The right shift key (equivalent to ShiftRight).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.ControlLeft">
            <summary>The left control key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.LControl">
            <summary>The left control key (equivalent to ControlLeft).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.ControlRight">
            <summary>The right control key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.RControl">
            <summary>The right control key (equivalent to ControlRight).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.AltLeft">
            <summary>The left alt key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.LAlt">
            <summary>The left alt key (equivalent to AltLeft.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.AltRight">
            <summary>The right alt key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.RAlt">
            <summary>The right alt key (equivalent to AltRight).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.WinLeft">
            <summary>The left win key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.LWin">
            <summary>The left win key (equivalent to WinLeft).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.WinRight">
            <summary>The right win key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.RWin">
            <summary>The right win key (equivalent to WinRight).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Menu">
            <summary>The menu key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F1">
            <summary>The F1 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F2">
            <summary>The F2 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F3">
            <summary>The F3 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F4">
            <summary>The F4 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F5">
            <summary>The F5 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F6">
            <summary>The F6 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F7">
            <summary>The F7 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F8">
            <summary>The F8 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F9">
            <summary>The F9 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F10">
            <summary>The F10 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F11">
            <summary>The F11 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F12">
            <summary>The F12 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F13">
            <summary>The F13 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F14">
            <summary>The F14 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F15">
            <summary>The F15 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F16">
            <summary>The F16 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F17">
            <summary>The F17 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F18">
            <summary>The F18 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F19">
            <summary>The F19 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F20">
            <summary>The F20 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F21">
            <summary>The F21 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F22">
            <summary>The F22 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F23">
            <summary>The F23 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F24">
            <summary>The F24 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F25">
            <summary>The F25 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F26">
            <summary>The F26 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F27">
            <summary>The F27 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F28">
            <summary>The F28 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F29">
            <summary>The F29 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F30">
            <summary>The F30 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F31">
            <summary>The F31 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F32">
            <summary>The F32 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F33">
            <summary>The F33 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F34">
            <summary>The F34 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F35">
            <summary>The F35 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Up">
            <summary>The up arrow key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Down">
            <summary>The down arrow key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Left">
            <summary>The left arrow key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Right">
            <summary>The right arrow key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Enter">
            <summary>The enter key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Escape">
            <summary>The escape key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Space">
            <summary>The space key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Tab">
            <summary>The tab key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.BackSpace">
            <summary>The backspace key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Back">
            <summary>The backspace key (equivalent to BackSpace).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Insert">
            <summary>The insert key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Delete">
            <summary>The delete key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.PageUp">
            <summary>The page up key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.PageDown">
            <summary>The page down key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Home">
            <summary>The home key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.End">
            <summary>The end key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.CapsLock">
            <summary>The caps lock key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.ScrollLock">
            <summary>The scroll lock key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.PrintScreen">
            <summary>The print screen key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Pause">
            <summary>The pause key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.NumLock">
            <summary>The num lock key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Clear">
            <summary>The clear key (Keypad5 with NumLock disabled, on typical keyboards).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Sleep">
            <summary>The sleep key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad0">
            <summary>The keypad 0 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad1">
            <summary>The keypad 1 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad2">
            <summary>The keypad 2 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad3">
            <summary>The keypad 3 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad4">
            <summary>The keypad 4 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad5">
            <summary>The keypad 5 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad6">
            <summary>The keypad 6 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad7">
            <summary>The keypad 7 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad8">
            <summary>The keypad 8 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Keypad9">
            <summary>The keypad 9 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadDivide">
            <summary>The keypad divide key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadMultiply">
            <summary>The keypad multiply key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadSubtract">
            <summary>The keypad subtract key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadMinus">
            <summary>The keypad minus key (equivalent to KeypadSubtract).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadAdd">
            <summary>The keypad add key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadPlus">
            <summary>The keypad plus key (equivalent to KeypadAdd).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadDecimal">
            <summary>The keypad decimal key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadPeriod">
            <summary>The keypad period key (equivalent to KeypadDecimal).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.KeypadEnter">
            <summary>The keypad enter key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.A">
            <summary>The A key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.B">
            <summary>The B key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.C">
            <summary>The C key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.D">
            <summary>The D key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.E">
            <summary>The E key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.F">
            <summary>The F key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.G">
            <summary>The G key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.H">
            <summary>The H key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.I">
            <summary>The I key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.J">
            <summary>The J key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.K">
            <summary>The K key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.L">
            <summary>The L key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.M">
            <summary>The M key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.N">
            <summary>The N key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.O">
            <summary>The O key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.P">
            <summary>The P key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Q">
            <summary>The Q key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.R">
            <summary>The R key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.S">
            <summary>The S key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.T">
            <summary>The T key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.U">
            <summary>The U key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.V">
            <summary>The V key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.W">
            <summary>The W key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.X">
            <summary>The X key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Y">
            <summary>The Y key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Z">
            <summary>The Z key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number0">
            <summary>The number 0 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number1">
            <summary>The number 1 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number2">
            <summary>The number 2 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number3">
            <summary>The number 3 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number4">
            <summary>The number 4 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number5">
            <summary>The number 5 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number6">
            <summary>The number 6 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number7">
            <summary>The number 7 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number8">
            <summary>The number 8 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Number9">
            <summary>The number 9 key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Tilde">
            <summary>The tilde key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Grave">
            <summary>The grave key (equivalent to Tilde).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Minus">
            <summary>The minus key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Plus">
            <summary>The plus key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.BracketLeft">
            <summary>The left bracket key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.LBracket">
            <summary>The left bracket key (equivalent to BracketLeft).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.BracketRight">
            <summary>The right bracket key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.RBracket">
            <summary>The right bracket key (equivalent to BracketRight).</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Semicolon">
            <summary>The semicolon key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Quote">
            <summary>The quote key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Comma">
            <summary>The comma key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Period">
            <summary>The period key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Slash">
            <summary>The slash key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.BackSlash">
            <summary>The backslash key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.NonUSBackSlash">
            <summary>The secondary backslash key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.LastKey">
            <summary>Indicates the last available keyboard key.</summary>
        </member>
        <member name="F:OpenBveApi.Input.Key.Command">
            <summary>The Command key.</summary>
            <remarks>Valid on OS-X only</remarks>
        </member>
        <member name="T:OpenBveApi.Time">
            <summary>Provides time related functionality</summary>
        </member>
        <member name="M:OpenBveApi.Time.TryParseTime(System.String,System.Double@)">
            <summary>Parses a string into OpenBVE's internal time representation (Seconds since midnight on the first day)</summary>
            <param name="Expression">The time in string format</param>
            <param name="Value">The number of seconds since midnight on the first day this represents, updated via 'out'</param>
            <returns>True if the parse succeeds, false if it does not</returns>
        </member>
        <member name="T:OpenBveApi.Math.Endianness">
            <summary>Represents the endianness of an integer.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Endianness.Little">
            <summary>Represents little endian byte order, i.e. least-significant byte first.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Endianness.Big">
            <summary>Represents big endian byte order, i.e. most-significant byte first.</summary>
        </member>
        <member name="T:OpenBveApi.Math.Extensions">
            <summary>Provides extension methods for some System.Math functions</summary>
        </member>
        <member name="M:OpenBveApi.Math.Extensions.LogC(System.Double)">
            <summary>Returns the natural (base e) logarithm of a number</summary>
            <remarks>This function will return 0 if the result would be Complex or NonReal</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Extensions.SqrtC(System.Double)">
            <summary>Returns the square root of a number</summary>
            <remarks>This function will return 0 if the result would be NonReal</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Extensions.TanC(System.Double)">
            <summary>Returns the tangent of the specified angle</summary>
            <remarks>This function will return 0 if the result would be ComplexInfinity</remarks>
        </member>
        <member name="T:OpenBveApi.Math.Matrix4D">
            <summary>Represents a 4x4 double-precision row-major matrix</summary>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.Row0">
            <summary>The top row of the matrix</summary>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.Row1">
            <summary>The first row of the matrix</summary>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.Row2">
            <summary>The second row of the matrix</summary>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.Row3">
            <summary>The third row of the matrix</summary>
        </member>
        <member name="P:OpenBveApi.Math.Matrix4D.Column0">
            <summary>The first column of the matrix</summary>
        </member>
        <member name="P:OpenBveApi.Math.Matrix4D.Column1">
            <summary>The second column of the matrix</summary>
        </member>
        <member name="P:OpenBveApi.Math.Matrix4D.Column2">
            <summary>The third column of the matrix</summary>
        </member>
        <member name="P:OpenBveApi.Math.Matrix4D.Column3">
            <summary>The fourth column of the matrix</summary>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.#ctor(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Creates a new Matrix4D</summary>
            <param name="topRow"></param>
            <param name="row1"></param>
            <param name="row2"></param>
            <param name="bottomRow"></param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.#ctor(System.Double[])">
            <summary>Creates a new Matrix4D</summary>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.#ctor(OpenBveApi.Math.Matrix4D)">
            <summary>Creates a clone of a matrix</summary>
            <param name="matrix">The matrix to clone</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.op_Equality(OpenBveApi.Math.Matrix4D,OpenBveApi.Math.Matrix4D)">
            <summary>Checks whether the two specified matrices are equal.</summary>
            <param name="a">The first matrix.</param>
            <param name="b">The second matrix.</param>
            <returns>Whether the two matrices are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Equals(OpenBveApi.Math.Matrix4D)">
            <summary>Checks whether the current vector is equal to the specified vector.</summary>
            <param name="b">The specified vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.op_Inequality(OpenBveApi.Math.Matrix4D,OpenBveApi.Math.Matrix4D)">
            <summary>Checks whether the two specified vectors are unequal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.LookAt(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Builds a camera-space to world-space matrix</summary>
            <param name="eyePosition">The eye position</param>
            <param name="targetPosition">The target position in world-space</param>
            <param name="Up">The world-space up vector</param>
            <returns>The matrix which transforms camera space to world-space</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Perspective(System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a perspective matrix</summary>
            <param name="fieldOfViewY">The field of view Y angle in radians</param>
            <param name="aspectRatio">The aspect ratio</param>
            <param name="zNear">Distance to the near clip plane</param>
            <param name="zFar">Distance to the far clip plane</param>
            <returns></returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Frustum(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a matrix which transforms camera space to the viewing frustum</summary>
            <param name="left">The left side of the frustum</param>
            <param name="right">The right side of the frustum</param>
            <param name="bottom">The bottom of the frustum</param>
            <param name="top">The top of the frustum</param>
            <param name="zNear">Distance to the near clip plane</param>
            <param name="zFar">Distance to the far clip plane</param>
            <returns></returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreatePerspectiveFieldOfView(System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a perspective projection matrix</summary>
            <param name="fieldOfViewY">The field of view Y angle in radians</param>
            <param name="aspectRatio">The aspect ratio</param>
            <param name="zNear">Distance to the near clip plane</param>
            <param name="zFar">Distance to the far clip plane</param>
            <returns>The perspective projection matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreatePerspectiveOffCenter(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a perspective projection matrix, assuming that the eye is located at 0,0,0</summary>
            <param name="left">The left side of the frustum</param>
            <param name="right">The right side of the frustum</param>
            <param name="bottom">The bottom of the frustum</param>
            <param name="top">The top of the frustum</param>
            <param name="zNear">Distance to the near clip plane</param>
            <param name="zFar">Distance to the far clip plane</param>
            <returns>The perspective projection matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.op_Multiply(OpenBveApi.Math.Matrix4D,OpenBveApi.Math.Matrix4D)">
            <summary>Multiplies two matrices</summary>
            <param name="left">The left matrix</param>
            <param name="right">The right matrix</param>
            <returns>The new multiplied matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.op_Addition(OpenBveApi.Math.Matrix4D,OpenBveApi.Math.Matrix4D)">
            <summary>Adds two matrices</summary>
            <param name="left">The left matrix</param>
            <param name="right">The right matrix</param>
            <returns>The final matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.op_Subtraction(OpenBveApi.Math.Matrix4D,OpenBveApi.Math.Matrix4D)">
            <summary>Subtracts the left matrix from the right matrix</summary>
            <param name="left">The left matrix</param>
            <param name="right">The right matrix</param>
            <returns>The final matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateTranslation(System.Double,System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>Creates a translation matrix.</summary>
            <param name="x">X translation.</param>
            <param name="y">Y translation.</param>
            <param name="z">Z translation.</param>
            <param name="result">The resulting Matrix4.</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateTranslation(OpenBveApi.Math.Vector3@,OpenBveApi.Math.Matrix4D@)">
            <summary>Creates a translation matrix.</summary>
            <param name="vector">The translation vector.</param>
            <param name="result">The resulting Matrix4.</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateTranslation(System.Double,System.Double,System.Double)">
            <summary>Creates a translation matrix.</summary>
            <param name="x">X translation.</param>
            <param name="y">Y translation.</param>
            <param name="z">Z translation.</param>
            <returns>The resulting Matrix4.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateTranslation(OpenBveApi.Math.Vector3)">
            <summary>Creates a translation matrix.</summary>
            <param name="vector">The translation vector.</param>
            <returns>The resulting Matrix4.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.ExtractTranslation">
            <summary>Returns the translation component of this Matrix4.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateFromAxisAngle(OpenBveApi.Math.Vector3,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>Build a rotation matrix from the specified axis/angle rotation.</summary>
            <param name="axis">The axis to rotate about.</param>
            <param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
            <param name="result">A matrix instance.</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateFromAxisAngle(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Build a rotation matrix from the specified axis/angle rotation.</summary>
            <param name="axis">The axis to rotate about.</param>
            <param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
            <returns>A matrix instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateFromQuaternion(OpenBveApi.Math.Quaternion@,OpenBveApi.Math.Matrix4D@)">
            <summary>
            Build a rotation matrix from the specified quaternion.
            </summary>
            <param name="q">Quaternion to translate.</param>
            <param name="result">Matrix result.</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateFromQuaternion(OpenBveApi.Math.Quaternion)">
            <summary>
            Builds a rotation matrix from a quaternion.
            </summary>
            <param name="q">The quaternion to rotate by.</param>
            <returns>A matrix instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Transpose(OpenBveApi.Math.Matrix4D)">
            <summary>
            Calculate the transpose of the given matrix
            </summary>
            <param name="mat">The matrix to transpose</param>
            <returns>The transpose of the given matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Transpose(OpenBveApi.Math.Matrix4D@,OpenBveApi.Math.Matrix4D@)">
            <summary>
            Calculate the transpose of the given matrix
            </summary>
            <param name="mat">The matrix to transpose</param>
            <param name="result">The result of the calculation</param>
        </member>
        <member name="P:OpenBveApi.Math.Matrix4D.Determinant">
            <summary>
            The determinant of this matrix
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Invert(OpenBveApi.Math.Matrix4D)">
            <summary>
            Calculate the inverse of the given matrix
            </summary>
            <param name="mat">The matrix to invert</param>
            <returns>The inverse of the given matrix if it has one, or the input if it is singular</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the Matrix4d is singular.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Inverse(OpenBveApi.Math.Matrix4D)">
            <summary>Computes the inverse of a 4x4 matrix using cofactor expansion.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Invert(OpenBveApi.Math.Matrix4D@)">
            <summary>
            Inverts a matrix
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Scale(System.Double)">
            <summary>
            Build a scaling matrix
            </summary>
            <param name="scale">Single scale factor for x,y and z axes</param>
            <returns>A scaling matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Scale(OpenBveApi.Math.Vector3)">
            <summary>
            Build a scaling matrix
            </summary>
            <param name="scale">Scale factors for x,y and z axes</param>
            <returns>A scaling matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.Scale(System.Double,System.Double,System.Double)">
            <summary>
            Build a scaling matrix
            </summary>
            <param name="x">Scale factor for x-axis</param>
            <param name="y">Scale factor for y-axis</param>
            <param name="z">Scale factor for z-axis</param>
            <returns>A scaling matrix</returns>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateOrthographic(System.Double,System.Double,System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>
            Creates an orthographic projection matrix.
            </summary>
            <param name="width">The width of the projection volume.</param>
            <param name="height">The height of the projection volume.</param>
            <param name="depthNear">The near edge of the projection volume.</param>
            <param name="depthFar">The far edge of the projection volume.</param>
            <param name="result">The resulting Matrix4d instance.</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateOrthographicOffCenter(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>
            Creates an orthographic projection matrix.
            </summary>
            <param name="left">The left edge of the projection volume.</param>
            <param name="right">The right edge of the projection volume.</param>
            <param name="bottom">The bottom edge of the projection volume.</param>
            <param name="top">The top edge of the projection volume.</param>
            <param name="zNear">The near edge of the projection volume.</param>
            <param name="zFar">The far edge of the projection volume.</param>
            <param name="result">The resulting Matrix4 instance.</param>
        </member>
        <member name="M:OpenBveApi.Math.Matrix4D.CreateOrthographicOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,OpenBveApi.Math.Matrix4D@)">
            <summary>
            Creates an orthographic projection matrix.
            </summary>
            <param name="left">The left edge of the projection volume.</param>
            <param name="right">The right edge of the projection volume.</param>
            <param name="bottom">The bottom edge of the projection volume.</param>
            <param name="top">The top edge of the projection volume.</param>
            <param name="zNear">The near edge of the projection volume.</param>
            <param name="zFar">The far edge of the projection volume.</param>
            <param name="result">The resulting Matrix4 instance.</param>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.Zero">
            <summary>Represents a zero matrix</summary>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.NoTransformation">
            <summary>Represents a matrix which performs no transformation</summary>
        </member>
        <member name="F:OpenBveApi.Math.Matrix4D.Identity">
            <summary>Represents an identity matrix</summary>
        </member>
        <member name="T:OpenBveApi.Math.Quaternion">
            <summary>Represents a Quaternion</summary>
        </member>
        <member name="F:OpenBveApi.Math.Quaternion.Xyz">
            <summary>The X, Y and Z components</summary>
        </member>
        <member name="F:OpenBveApi.Math.Quaternion.W">
            <summary>The W component</summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a new quaternion from four doubles.</summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
            <param name="z">The Z component.</param>
            <param name="w">The W component.</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.#ctor(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Creates a new quaternion from a Vector3 and a double.</summary>
            <param name="xyz">The Xyz component</param>
            <param name="w">The W component.</param>
        </member>
        <member name="P:OpenBveApi.Math.Quaternion.X">
            <summary>Gets / sets the X component</summary>
        </member>
        <member name="P:OpenBveApi.Math.Quaternion.Y">
            <summary>Gets / sets the Y component</summary>
        </member>
        <member name="P:OpenBveApi.Math.Quaternion.Z">
            <summary>Gets / sets the Z component</summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.RotationBetweenVectors(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Creates a new quaternion describing the rotation between two vectors</summary>
            <param name="Start">The start vector</param>
            <param name="Dest">The destination vector</param>
            <returns></returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.ToAxisAngle">
            <summary>Convert this instance to an axis-angle representation.</summary>
            <returns>A Vector4 that is the axis-angle representation of this quaternion.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.ToAxisAngle(OpenBveApi.Math.Vector3@,System.Double@)">
            <summary>Convert the current quaternion to axis angle representation</summary>
            <param name="axis">The resultant axis</param>
            <param name="angle">The resultant angle</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.FromAxisAngle(OpenBveApi.Math.Vector3,System.Double)">
            <summary>
            Build a Quaternion from the given axis and angle
            </summary>
            <param name="axis">The axis to rotate about</param>
            <param name="angle">The rotation angle in radians</param>
            <returns></returns>
        </member>
        <member name="P:OpenBveApi.Math.Quaternion.Length">
            <summary>
            Gets the length (magnitude) of the Quaternion.
            </summary>
            <seealso cref="P:OpenBveApi.Math.Quaternion.LengthSquared"/>
        </member>
        <member name="P:OpenBveApi.Math.Quaternion.LengthSquared">
            <summary>
            Gets the square of the Quaternion length (magnitude).
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Normalized">
            <summary>
            Returns a copy of the Quaternion scaled to unit length.
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Invert">
            <summary>
            Reverses the rotation angle of this Quaternion.
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Inverted">
            <summary>
            Returns a copy of this Quaternion with its rotation angle reversed.
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Normalize">
            <summary>
            Scales the Quaternion to unit length.
            </summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Multiply(OpenBveApi.Math.Quaternion@)">
            <summary>
            Multiplies this quaternion by another
            </summary>
            <param name="Quaternion">The quaternion to multiply by</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Multiply(OpenBveApi.Math.Quaternion@,OpenBveApi.Math.Quaternion@)">
            <summary>
            Multiplies this quaternion by another and returns the result as a new quaternion
            </summary>
            <param name="Quaternion">The quaternion to multiply by</param>
            <param name="result">The new quaternion</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Multiply(OpenBveApi.Math.Quaternion@,OpenBveApi.Math.Quaternion@,OpenBveApi.Math.Quaternion@)">
            <summary>
            Multiplies one quaternion by another and returns the result as a new quaternion
            </summary>
            <param name="left">The first quaternion multiply by</param>
            <param name="right">The quaternion to multiply by</param>
            <param name="result">The new quaternion</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Multiply(System.Double)">
            <summary>
            Multiplies all components of this quaternion by a scalar
            </summary>
            <param name="scalar">The scalar</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Multiply(System.Double,OpenBveApi.Math.Quaternion@)">
            <summary>
            Multiplies this quaternion by a scalar and returns the result as a new quaternion
            </summary>
            <param name="scalar">The scalar</param>
            <param name="result">The new quaternion</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Multiply(OpenBveApi.Math.Quaternion@,System.Double,OpenBveApi.Math.Quaternion@)">
            <summary>
            Multiplies a quaternion by a scalar and returns the result as a new quaternion
            </summary>
            <param name="Quaternion">The quaternion</param>
            <param name="scalar">The scalar</param>
            <param name="result">The new quaternion</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Addition(OpenBveApi.Math.Quaternion,OpenBveApi.Math.Quaternion)">
            <summary>
            Adds two instances.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Subtraction(OpenBveApi.Math.Quaternion,OpenBveApi.Math.Quaternion)">
            <summary>
            Subtracts two instances.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Multiply(OpenBveApi.Math.Quaternion,OpenBveApi.Math.Quaternion)">
            <summary>
            Multiplies two instances.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Multiply(OpenBveApi.Math.Quaternion,System.Double)">
            <summary>
            Multiplies an instance by a scalar.
            </summary>
            <param name="quaternion">The instance.</param>
            <param name="scale">The scalar.</param>
            <returns>A new instance containing the result of the calculation.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Multiply(System.Double,OpenBveApi.Math.Quaternion)">
            <summary>
            Multiplies an instance by a scalar.
            </summary>
            <param name="quaternion">The instance.</param>
            <param name="scale">The scalar.</param>
            <returns>A new instance containing the result of the calculation.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Equality(OpenBveApi.Math.Quaternion,OpenBveApi.Math.Quaternion)">
            <summary>
            Compares two instances for equality.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>True, if left equals right; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.op_Inequality(OpenBveApi.Math.Quaternion,OpenBveApi.Math.Quaternion)">
            <summary>Compares two instances for inequality.</summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>True, if left does not equal right; false otherwise.</returns>
        </member>
        <member name="F:OpenBveApi.Math.Quaternion.Identity">
            <summary>A quaternion representing an identity matrix.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Quaternion.DirectXIdentity">
            <summary>A quaternion representing an identity matrix in DirectX format.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Slerp(OpenBveApi.Math.Quaternion,OpenBveApi.Math.Quaternion,System.Single)">
            <summary>Performs a spherical linear interpolation between two quaternions</summary>
            <param name="q1">The first quaternion</param>
            <param name="q2">The second quaternion</param>
            <param name="blend">The blend factor</param>
            <returns>A smooth blend between the given quaternions</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.ToEulerAngles">
            <summary>
            Convert this instance to an Euler angle representation.
            </summary>
            <returns>The Euler angles in radians.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.FromEulerAngles(OpenBveApi.Math.Vector3)">
            <summary>
            Builds a Quaternion from the given euler angles in radians.
            The rotations will get applied in following order:
            1. Around X, 2. Around Y, 3. Around Z.
            </summary>
            <param name="eulerAngles">The counterclockwise euler angles a vector.</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Equals(OpenBveApi.Math.Quaternion)">
            <summary>Tests whether this Quaternion is equal to another</summary>
            <param name="other">The other quaternion</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.Equals(System.Object)">
            <summary>Tests whether this Quaternion is equal to the specified object</summary>
            <param name="obj">The object</param>
        </member>
        <member name="M:OpenBveApi.Math.Quaternion.GetHashCode">
            <summary>Gets the hash-code for this quaternion</summary>
        </member>
        <member name="T:OpenBveApi.Math.Vector2f">
            <summary>Represents a two-dimensional vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.X">
            <summary>The x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.Y">
            <summary>The y-coordinate.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.#ctor(System.Double,System.Double)">
            <summary>Creates a new two-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
            <remarks>This discards the double precision</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.#ctor(System.Single,System.Single)">
            <summary>Creates a new two-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.#ctor(OpenBveApi.Math.Vector2)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
            <remarks>This discards the double precision</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.#ctor(OpenBveApi.Math.Vector2f)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Addition(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Adds two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Addition(OpenBveApi.Math.Vector2f,System.Double)">
            <summary>Adds a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The sum of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Addition(System.Double,OpenBveApi.Math.Vector2f)">
            <summary>Adds a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The sum of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Subtraction(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Subtracts two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Subtraction(OpenBveApi.Math.Vector2f,System.Double)">
            <summary>Subtracts a scalar from a vector.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The difference of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Subtraction(System.Double,OpenBveApi.Math.Vector2f)">
            <summary>Subtracts a vector from a scalar.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The difference of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_UnaryNegation(OpenBveApi.Math.Vector2f)">
            <summary>Negates a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The negation of the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Multiply(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Multiplies two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Multiply(OpenBveApi.Math.Vector2f,System.Double)">
            <summary>Multiplies a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The product of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Multiply(System.Double,OpenBveApi.Math.Vector2f)">
            <summary>Multiplies a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The product of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Division(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Divides two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The quotient of the two vectors.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the second vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Division(OpenBveApi.Math.Vector2f,System.Double)">
            <summary>Divides a vector by a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The quotient of the vector and the scalar.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the scalar is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Division(System.Double,OpenBveApi.Math.Vector2f)">
            <summary>Divides a scalar by a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The quotient of the scalar and the vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Equality(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Checks whether the two specified vectors are equal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.op_Inequality(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Checks whether the two specified vectors are unequal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer containing the unique hashcode for this instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Equals(OpenBveApi.Math.Vector2f)">
            <summary>Checks whether the current vector is equal to the specified vector.</summary>
            <param name="b">The specified vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Normalize">
            <summary>Normalizes the vector.</summary>
            <exception cref="T:System.DivideByZeroException">Raised when the vector is a null vector.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Translate(OpenBveApi.Math.Vector2f)">
            <summary>Translates the vector by a specified offset.</summary>
            <param name="offset">The offset.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Scale(OpenBveApi.Math.Vector2f)">
            <summary>Scales the vector by a specified factor.</summary>
            <param name="factor">The factor.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Rotate(System.Double,System.Double)">
            <summary>Rotates the vector by the specified angle.</summary>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.IsNullVector">
            <summary>Checks whether the vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.IsNullVector(System.Double)">
            <summary>Checks whether the vector is considered a null vector.</summary>
            <param name="tolerance">The highest absolute value that each component of the vector may have before the vector is not considered a null vector.</param>
            <returns>A boolean indicating whether the vector is considered a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Norm">
            <summary>Gets the euclidean norm.</summary>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.NormSquared">
            <summary>Gets the square of the euclidean norm.</summary>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Dot(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Gives the dot product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Normalize(OpenBveApi.Math.Vector2f)">
            <summary>Normalizes a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The normalized vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the vector is a null vector.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Translate(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Translates a vector by a specified offset.</summary>
            <param name="vector">The vector.</param>
            <param name="offset">The offset.</param>
            <returns>The translated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Scale(OpenBveApi.Math.Vector2f,OpenBveApi.Math.Vector2f)">
            <summary>Scales a vector by a specified factor.</summary>
            <param name="vector">The vector.</param>
            <param name="factor">The factor.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Rotate(OpenBveApi.Math.Vector2f,System.Double,System.Double)">
            <summary>Rotates a vector by a specified angle.</summary>
            <param name="vector">The vector.</param>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
            <returns>The rotated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.IsNullVector(OpenBveApi.Math.Vector2f)">
            <summary>Checks whether a vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.Norm(OpenBveApi.Math.Vector2f)">
            <summary>Gets the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.NormSquared(OpenBveApi.Math.Vector2f)">
            <summary>Gets the square of the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.Null">
            <summary>Represents a null vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.Left">
            <summary>Represents a vector pointing left.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.Right">
            <summary>Represents a vector pointing right.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.One">
            <summary>Represents a vector with both components set to one.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.Up">
            <summary>Represents a vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2f.Down">
            <summary>Represents a vector pointing down.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector2f.ToString">
            <summary>Returns the representation of the vector in string format</summary>
        </member>
        <member name="T:OpenBveApi.Math.Vector3f">
            <summary>Represents a three-dimensional vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.X">
            <summary>The x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Y">
            <summary>The y-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Z">
            <summary>The z-coordinate.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.#ctor(System.Double,System.Double,System.Double)">
            <summary>Creates a new three-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
            <param name="z">The z-coordinate.</param>
            <remarks>This discards the double precision</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.#ctor(System.Single,System.Single,System.Single)">
            <summary>Creates a new three-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
            <param name="z">The z-coordinate.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.#ctor(OpenBveApi.Math.Vector3f)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.#ctor(OpenBveApi.Math.Vector3)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
            <remarks>This discards the double precision</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Implicit(OpenBveApi.Math.Vector3f)~OpenBveApi.Math.Vector3">
            <summary>Converts a Vector3f to a Vector3</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.TryParse(System.String,System.Char,OpenBveApi.Math.Vector3f@)">
            <summary>Parses a Vector3f stored in a string</summary>
            <param name="stringToParse">The string to parse</param>
            <param name="separator">The separator character</param>
            <param name="v">The out Vector</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Vector3f.
            If any part fails parsing, it will be set to zero</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.CosineInterpolate(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,System.Double)">
            <summary>Interpolates between two Vector3f values using a simple Cosine algorithm</summary>
            <param name="Vector1">The first vector</param>
            <param name="Vector2">The second vector</param>
            <param name="mu">The position on the curve of the new vector</param>
            <returns>The interpolated vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.LinearInterpolate(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,System.Double)">
            <summary>Linearly interpolates between two vectors</summary>
            <param name="Vector1">The first vector</param>
            <param name="Vector2">The second vector</param>
            <param name="mu">The position on the interpolation curve of the new vector</param>
            <returns>The interpolated vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Addition(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Adds two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Addition(OpenBveApi.Math.Vector3f,System.Double)">
            <summary>Adds a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The sum of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Addition(System.Double,OpenBveApi.Math.Vector3f)">
            <summary>Adds a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The sum of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Subtraction(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Subtracts two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Subtraction(OpenBveApi.Math.Vector3f,System.Double)">
            <summary>Subtracts a scalar from a vector.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The difference of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Subtraction(System.Double,OpenBveApi.Math.Vector3f)">
            <summary>Subtracts a vector from a scalar.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The difference of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_UnaryNegation(OpenBveApi.Math.Vector3f)">
            <summary>Negates a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The negation of the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Multiply(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Multiplies two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Multiply(OpenBveApi.Math.Vector3f,System.Double)">
            <summary>Multiplies a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The product of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Multiply(System.Double,OpenBveApi.Math.Vector3f)">
            <summary>Multiplies a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The product of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Division(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Divides two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The quotient of the two vectors.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the second vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Division(OpenBveApi.Math.Vector3f,System.Double)">
            <summary>Divides a vector by a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The quotient of the vector and the scalar.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the scalar is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Division(System.Double,OpenBveApi.Math.Vector3f)">
            <summary>Divides a scalar by a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The quotient of the scalar and the vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Equality(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Checks whether the two specified vectors are equal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Equals(OpenBveApi.Math.Vector3f)">
            <summary>Checks whether the current vector is equal to the specified vector.</summary>
            <param name="b">The specified vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.op_Inequality(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Checks whether the two specified vectors are unequal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Normalize">
            <summary>Normalizes the vector.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.IsNullVector">
            <summary>Checks whether the vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.IsNullVector(System.Double)">
            <summary>Checks whether the vector is considered a null vector.</summary>
            <param name="tolerance">The highest absolute value that each component of the vector may have before the vector is not considered a null vector.</param>
            <returns>A boolean indicating whether the vector is considered a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Norm">
            <summary>Gets the euclidean norm.</summary>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.NormSquared">
            <summary>Gets the square of the euclidean norm.</summary>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Dot(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Gives the dot product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Cross(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Gives the cross product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The cross product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Normalize(OpenBveApi.Math.Vector3f)">
            <summary>Normalizes a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The normalized vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the vector is a null vector.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Translate(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Translates a vector by a specified offset.</summary>
            <param name="vector">The vector.</param>
            <param name="offset">The offset.</param>
            <returns>The translated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Translate(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Orientation3,OpenBveApi.Math.Vector3f)">
            <summary>Translates a vector by a specified offset that is measured along a specified orientation.</summary>
            <param name="vector">The vector.</param>
            <param name="orientation">The orientation.</param>
            <param name="offset">The offset measured in the specified orientation.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Scale(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Scales a vector by a specified factor.</summary>
            <param name="vector">The vector.</param>
            <param name="factor">The factor.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Rotate(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,System.Double,System.Double)">
            <summary>Rotates a vector on the plane perpendicular to a specified direction by a specified angle.</summary>
            <param name="vector">The vector.</param>
            <param name="direction">The direction perpendicular to the plane on which to rotate.</param>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
            <returns>The rotated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Rotate(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Orientation3)">
            <summary>Rotates a vector from the default orientation into a specified orientation.</summary>
            <param name="vector">The vector.</param>
            <param name="orientation">The orientation.</param>
            <returns>The rotated vector.</returns>
            <remarks>The default orientation is X = {1, 0, 0), Y = {0, 1, 0} and Z = {0, 0, 1}.</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.CreateNormal(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f@)">
            <summary>Creates a unit vector perpendicular to the plane described by three spatial coordinates, suitable for being a surface normal.</summary>
            <param name="a">The first spatial coordinate.</param>
            <param name="b">The second spatial coordinate.</param>
            <param name="c">The third spatial coordinate.</param>
            <param name="normal">On success, receives the vector perpendicular to the described plane. On failure, receives Vector3f.Up.</param>
            <returns>The success of the operation. This operation fails if the specified three vectors are colinear.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.AreColinear(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Checks whether three spatial coordinates are colinear.</summary>
            <param name="a">The first spatial coordinate.</param>
            <param name="b">The second spatial coordinate.</param>
            <param name="c">The third spatial coordinate.</param>
            <returns>A boolean indicating whether the three spatial coordinates are colinear.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.IsNullVector(OpenBveApi.Math.Vector3f)">
            <summary>Checks whether a vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.Norm(OpenBveApi.Math.Vector3f)">
            <summary>Gets the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.NormSquared(OpenBveApi.Math.Vector3f)">
            <summary>Gets the square of the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.GetVector3f(OpenBveApi.Math.Vector2,System.Double)">
            <summary>Returns a normalized vector based on a 2D vector in the XZ plane and an additional Y-coordinate.</summary>
            <param name="Vector">The vector in the XZ-plane. The X and Y components in Vector represent the X- and Z-coordinates, respectively.</param>
            <param name="Y">The Y-coordinate.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.IsZero(OpenBveApi.Math.Vector3f)">
            <summary>Determines whether this is a zero (0,0,0) vector</summary>
            <param name="Vector"></param>
            <returns>True if this is a zero vector, false otherwise</returns>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Zero">
            <summary>Represents a null vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Left">
            <summary>Represents a vector pointing left.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Right">
            <summary>Represents a vector pointing right.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Up">
            <summary>Represents a vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Down">
            <summary>Represents a vector pointing down.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Backward">
            <summary>Represents a vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3f.Forward">
            <summary>Represents a vector pointing down.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3f.ToString">
            <summary>Returns the representation of the vector in string format</summary>
        </member>
        <member name="T:OpenBveApi.Math.Vector3i">
            <summary>Represents a three-dimensional vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3i.X">
            <summary>The x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3i.Y">
            <summary>The y-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3i.Z">
            <summary>The z-coordinate.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3i.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>Creates a new three-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
            <param name="z">The z-coordinate.</param>
        </member>
        <member name="F:OpenBveApi.Math.Vector3i.Zero">
            <summary>Represents a null vector.</summary>
        </member>
        <member name="T:OpenBveApi.Math.Vector4">
            <summary>Represents a 4-dimensional vector</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.X">
            <summary>The x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.Y">
            <summary>The y-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.Z">
            <summary>The z-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.W">
            <summary>The W-component of the vector</summary>
        </member>
        <member name="P:OpenBveApi.Math.Vector4.Xyz">
            <summary>A Vector3 representing the X Y and Z components</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.#ctor(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Creates a new four-dimensional vector.</summary>
            <param name="Xyz">A Vector3 representing the X Y and Z components.</param>
            <param name="w">The w-component</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a new four-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
            <param name="z">The z-coordinate.</param>
            <param name="w">The w-component</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.#ctor(OpenBveApi.Math.Vector4)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Addition(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Adds two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Addition(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector3)">
            <summary>Adds two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Addition(OpenBveApi.Math.Vector4,System.Double)">
            <summary>Adds a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The sum of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Addition(System.Double,OpenBveApi.Math.Vector4)">
            <summary>Adds a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The sum of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Subtraction(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Subtracts two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Subtraction(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector3)">
            <summary>Subtracts two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Subtraction(OpenBveApi.Math.Vector4,System.Double)">
            <summary>Subtracts a scalar from a vector.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The difference of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Subtraction(System.Double,OpenBveApi.Math.Vector4)">
            <summary>Subtracts a vector from a scalar.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The difference of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_UnaryNegation(OpenBveApi.Math.Vector4)">
            <summary>Negates a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The negation of the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Multiply(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Multiplies two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Multiply(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector3)">
            <summary>Multiplies two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Multiply(OpenBveApi.Math.Vector4,System.Double)">
            <summary>Multiplies a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The product of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Multiply(System.Double,OpenBveApi.Math.Vector4)">
            <summary>Multiplies a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The product of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Division(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Divides two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The quotient of the two vectors.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the second vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Division(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector3)">
            <summary>Divides two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The quotient of the two vectors.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the second vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Division(OpenBveApi.Math.Vector4,System.Double)">
            <summary>Divides a vector by a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The quotient of the vector and the scalar.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the scalar is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Division(System.Double,OpenBveApi.Math.Vector4)">
            <summary>Divides a scalar by a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The quotient of the scalar and the vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Equality(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Checks whether the two specified vectors are equal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.Equals(OpenBveApi.Math.Vector4)">
            <summary>Checks whether the current vector is equal to the specified vector.</summary>
            <param name="b">The specified vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.op_Inequality(OpenBveApi.Math.Vector4,OpenBveApi.Math.Vector4)">
            <summary>Checks whether the two specified vectors are unequal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.Transform(OpenBveApi.Math.Vector4,OpenBveApi.Math.Matrix4D)">
            <summary>Transforms a Vector by the given Matrix</summary>
            <param name="vec">The vector to transform</param>
            <param name="mat">The desired transformation</param>
            <returns>The transformed vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector4.Transform(OpenBveApi.Math.Vector4@,OpenBveApi.Math.Matrix4D@,OpenBveApi.Math.Vector4@)">
            <summary>Transforms a Vector by the given Matrix</summary>
            <param name="vec">The vector to transform</param>
            <param name="mat">The desired transformation</param>
            <param name="result">The transformed vector</param>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.Zero">
            <summary>Represents a null vector</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.UnitX">
            <summary>Represents a unit-length Vector4 that points towards the X-axis.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.UnitY">
            <summary>Represents a unit-length Vector4 that points towards the Y-axis.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.UnitZ">
            <summary>Represents a unit-length Vector4 that points towards the Z-axis.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector4.UnitW">
            <summary>Represents a unit-length Vector4 that points towards the W-axis.</summary>
        </member>
        <member name="T:OpenBveApi.Math.NumberFormats">
            <summary>Contains methods required for parsing differently formatted numbers</summary>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.TryParseDoubleVb6(System.String,System.Double@)">
            <summary>Parses a double formatted as a Visual Basic 6 string</summary>
            <param name="Expression">The expression to parse</param>
            <param name="Value">The value to return (Default 0.0)</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.TryParseFloatVb6(System.String,System.Single@)">
            <summary>Parses a float formatted as a Visual Basic 6 string</summary>
            <param name="Expression">The expression to parse</param>
            <param name="Value">The value to return (Default 0.0)</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.TryParseIntVb6(System.String,System.Int32@)">
            <summary>Parses an integer formatted as a Visual Basic 6 string</summary>
            <param name="Expression">The expression to parse</param>
            <param name="Value">The value to return (Default 0.0)</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.TryParseByteVb6(System.String,System.Int32@)">
            <summary>Parses a byte bounded number formatted as a Visual Basic 6 string</summary>
            <param name="Expression">The expression to parse</param>
            <param name="Value">The value to return (Default 0.0)</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.IsValidDouble(System.String,System.Double[])">
            <summary>Returns whether a string contains a valid double, using the supplied unit conversion factor(s)</summary>
            <param name="Expression">The expression to parse</param>
            <param name="UnitFactors">An array of unit conversion factors</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.TryParseDouble(System.String,System.Double[],System.Double@)">
            <summary>Parses a double from a string, using the supplied unit conversion factor(s)</summary>
            <param name="Expression">The expression to parse</param>
            <param name="UnitFactors">An array of unit conversion factors</param>
            <param name="Value">The value to return (Default 0.0)</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.TryParseDoubleVb6(System.String,System.Double[],System.Double@)">
            <summary>Parses an integer formatted as a Visual Basic 6 string, using the supplied unit conversion factor(s)</summary>
            <param name="Expression">The expression to parse</param>
            <param name="UnitFactors">An array of unit conversion factors</param>
            <param name="Value">The value to return (Default 0.0)</param>
            <returns>True if parsing succeeds, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.NumberFormats.ToRadians(System.Double)">
            <summary>Converts a value given in degrees to Radians</summary>
        </member>
        <member name="T:OpenBveApi.Math.Orientation3">
            <summary>Represents an orientation in three-dimensional space.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Orientation3.X">
            <summary>The vector pointing right.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Orientation3.Y">
            <summary>The vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Orientation3.Z">
            <summary>The vector pointing forward.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Orientation3.Null">
            <summary>Represents a null orientation.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Orientation3.Default">
            <summary>Represents the default orientation with X = {1, 0, 0}, Y = {0, 1, 0} and Z = {0, 0, 1}.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Orientation3.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Creates a new orientation in three-dimensional space.</summary>
            <param name="x">The vector pointing right.</param>
            <param name="y">The vector pointing up.</param>
            <param name="z">The vector pointing forward.</param>
        </member>
        <member name="M:OpenBveApi.Math.Orientation3.GetHashCode">
            <summary>Returns the hash-code for this instance</summary>
        </member>
        <member name="M:OpenBveApi.Math.Orientation3.Equals(OpenBveApi.Math.Orientation3)">
            <summary>Tests whether this Orientation3 is equal to a second Orientation3</summary>
        </member>
        <member name="M:OpenBveApi.Math.Orientation3.Equals(System.Object)">
            <summary>Tests whether the given object is equal to this Orientation3</summary>
        </member>
        <member name="M:OpenBveApi.Math.Orientation3.op_Equality(OpenBveApi.Math.Orientation3,OpenBveApi.Math.Orientation3)">
            <summary>Tests whether two Orientation3 instances are equal</summary>
        </member>
        <member name="M:OpenBveApi.Math.Orientation3.op_Inequality(OpenBveApi.Math.Orientation3,OpenBveApi.Math.Orientation3)">
            <summary>Tests whether two Orientation3 instances are NOT equal</summary>
        </member>
        <member name="T:OpenBveApi.Math.Vector2">
            <summary>Represents a two-dimensional vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.X">
            <summary>The x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.Y">
            <summary>The y-coordinate.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.#ctor(System.Double,System.Double)">
            <summary>Creates a new two-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.#ctor(OpenBveApi.Math.Vector2)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Implicit(OpenBveApi.Math.Vector2)~OpenBveApi.Math.Vector2f">
            <summary>Converts a Vector2 to a Vector2f</summary>
            <remarks>This discards the double precision</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.TryParse(System.String[],OpenBveApi.Math.Vector2@)">
            <summary>Parses a Vector2 from a list of strings</summary>
            <param name="arguments">The list of strings</param>
            <param name="v">The out Vector</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Vector3.
            If any part fails parsing, it will be set to zero</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Parse(System.String)">
            <summary>Unconditionally parses a vector stored in string format</summary>
            <param name="v">The string</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Addition(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Adds two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Addition(OpenBveApi.Math.Vector2,System.Double)">
            <summary>Adds a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The sum of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Addition(System.Double,OpenBveApi.Math.Vector2)">
            <summary>Adds a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The sum of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Subtraction(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Subtracts two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Subtraction(OpenBveApi.Math.Vector2,System.Double)">
            <summary>Subtracts a scalar from a vector.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The difference of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Subtraction(System.Double,OpenBveApi.Math.Vector2)">
            <summary>Subtracts a vector from a scalar.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The difference of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_UnaryNegation(OpenBveApi.Math.Vector2)">
            <summary>Negates a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The negation of the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Multiply(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Multiplies two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Multiply(OpenBveApi.Math.Vector2,System.Double)">
            <summary>Multiplies a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The product of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Multiply(System.Double,OpenBveApi.Math.Vector2)">
            <summary>Multiplies a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The product of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Division(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Divides two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The quotient of the two vectors.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the second vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Division(OpenBveApi.Math.Vector2,System.Double)">
            <summary>Divides a vector by a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The quotient of the vector and the scalar.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the scalar is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Division(System.Double,OpenBveApi.Math.Vector2)">
            <summary>Divides a scalar by a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The quotient of the scalar and the vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when any member of the vector is zero.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Equality(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Checks whether the two specified vectors are equal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.op_Inequality(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Checks whether the two specified vectors are unequal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer containing the unique hashcode for this instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Equals(OpenBveApi.Math.Vector2)">
            <summary>Checks whether the current vector is equal to the specified vector.</summary>
            <param name="b">The specified vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Normalize">
            <summary>Normalizes the vector.</summary>
            <exception cref="T:System.DivideByZeroException">Raised when the vector is a null vector.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Translate(OpenBveApi.Math.Vector2)">
            <summary>Translates the vector by a specified offset.</summary>
            <param name="offset">The offset.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Scale(OpenBveApi.Math.Vector2)">
            <summary>Scales the vector by a specified factor.</summary>
            <param name="factor">The factor.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Rotate(System.Double,System.Double)">
            <summary>Rotates the vector by the specified angle.</summary>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Rotate(System.Double)">
            <summary>Rotates the vector by the specified angle.</summary>
            <param name="angle">The angle.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.IsNullVector">
            <summary>Checks whether the vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.IsFinite(OpenBveApi.Math.Vector2)">
            <summary>Tests to see whether the vector is finite (no components are double or infinity.</summary>
            <returns>A boolean indicating whether the vector is finite</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.IsNullVector(System.Double)">
            <summary>Checks whether the vector is considered a null vector.</summary>
            <param name="tolerance">The highest absolute value that each component of the vector may have before the vector is not considered a null vector.</param>
            <returns>A boolean indicating whether the vector is considered a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Norm">
            <summary>Gets the euclidean norm.</summary>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.NormSquared">
            <summary>Gets the square of the euclidean norm.</summary>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Dot(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Gives the dot product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Determinant(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Gives the determinant product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The determinant product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Normalize(OpenBveApi.Math.Vector2)">
            <summary>Normalizes a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The normalized vector.</returns>
            <exception cref="T:System.DivideByZeroException">Raised when the vector is a null vector.</exception>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Translate(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Translates a vector by a specified offset.</summary>
            <param name="vector">The vector.</param>
            <param name="offset">The offset.</param>
            <returns>The translated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Scale(OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Scales a vector by a specified factor.</summary>
            <param name="vector">The vector.</param>
            <param name="factor">The factor.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Rotate(OpenBveApi.Math.Vector2,System.Double,System.Double)">
            <summary>Rotates a vector by a specified angle.</summary>
            <param name="vector">The vector.</param>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
            <returns>The rotated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.IsNullVector(OpenBveApi.Math.Vector2)">
            <summary>Checks whether a vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.Norm(OpenBveApi.Math.Vector2)">
            <summary>Gets the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.NormSquared(OpenBveApi.Math.Vector2)">
            <summary>Gets the square of the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.Null">
            <summary>Represents a null vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.Left">
            <summary>Represents a vector pointing left.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.Right">
            <summary>Represents a vector pointing right.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.Up">
            <summary>Represents a vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.Down">
            <summary>Represents a vector pointing down.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector2.One">
            <summary>Represents a unary vector.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector2.ToString">
            <summary>Returns the representation of the vector in string format</summary>
        </member>
        <member name="T:OpenBveApi.Math.Vector3">
            <summary>Represents a three-dimensional vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.X">
            <summary>The x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Y">
            <summary>The y-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Z">
            <summary>The z-coordinate.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.#ctor(System.Double,System.Double,System.Double)">
            <summary>Creates a new three-dimensional vector.</summary>
            <param name="x">The x-coordinate.</param>
            <param name="y">The y-coordinate.</param>
            <param name="z">The z-coordinate.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.#ctor(OpenBveApi.Math.Vector3)">
            <summary>Creates a clone of a vector</summary>
            <param name="v">The vector to clone</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.TryParse(System.String,System.Char,OpenBveApi.Math.Vector3@)">
            <summary>Parses a Vector3 stored in a string</summary>
            <param name="stringToParse">The string to parse</param>
            <param name="separator">The separator character</param>
            <param name="v">The out Vector</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Vector3.
            If any part fails parsing, it will be set to zero</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.TryParse(System.String[],OpenBveApi.Math.Vector3@)">
            <summary>Parses a Vector3 from a list of strings</summary>
            <param name="arguments">The list of strings</param>
            <param name="v">The out Vector</param>
            <returns>True if parsing succeeded with no errors, false otherwise</returns>
            <remarks>This will always return a Vector3.
            If any part fails parsing, it will be set to zero</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.CosineInterpolate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Double)">
            <summary>Interpolates between two Vector3 values using a simple Cosine algorithm</summary>
            <param name="vector1">The first vector</param>
            <param name="vector2">The second vector</param>
            <param name="mu">The position on the curve of the new vector</param>
            <returns>The interpolated vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.LinearInterpolate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Double)">
            <summary>Linearly interpolates between two vectors</summary>
            <param name="vector1">The first vector</param>
            <param name="vector2">The second vector</param>
            <param name="mu">The position on the interpolation curve of the new vector</param>
            <returns>The interpolated vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Implicit(OpenBveApi.Math.Vector3)~OpenBveApi.Math.Vector3f">
            <summary>Converts a Vector3 to a Vector3f</summary>
            <remarks>This discards the double precision</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Addition(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Adds two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Addition(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Adds a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The sum of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Addition(System.Double,OpenBveApi.Math.Vector3)">
            <summary>Adds a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The sum of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Subtraction(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Subtracts two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Subtraction(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Subtracts a scalar from a vector.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The difference of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Subtraction(System.Double,OpenBveApi.Math.Vector3)">
            <summary>Subtracts a vector from a scalar.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The difference of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_UnaryNegation(OpenBveApi.Math.Vector3)">
            <summary>Negates a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The negation of the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Multiply(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Multiplies two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Multiply(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Multiplies a vector and a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The product of the vector and the scalar.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Multiply(System.Double,OpenBveApi.Math.Vector3)">
            <summary>Multiplies a scalar and a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The product of the scalar and the vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Division(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Divides two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The quotient of the two vectors, or Vector3.Zero if any member of the second vector is zero.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Division(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Divides a vector by a scalar.</summary>
            <param name="a">The vector.</param>
            <param name="b">The scalar.</param>
            <returns>The quotient of the vector and the scalar, or Vector3.Zero if the scalar is zero.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Division(System.Double,OpenBveApi.Math.Vector3)">
            <summary>Divides a scalar by a vector.</summary>
            <param name="a">The scalar.</param>
            <param name="b">The vector.</param>
            <returns>The quotient of the scalar and the vector, or Vector3.Zero if any member of the vector is zero.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Multiply(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation)">
            <summary>Multiplies a Vector3 by a transformation</summary>
            <param name="t">The transformation</param>
            <param name="v">The vector</param>
            <returns>The multiplied vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Equality(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Checks whether the two specified vectors are equal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>An integer representing the unique hashcode for this instance.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Equals(OpenBveApi.Math.Vector3)">
            <summary>Checks whether the current vector is equal to the specified vector.</summary>
            <param name="b">The specified vector.</param>
            <returns>Whether the two vectors are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.op_Inequality(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Checks whether the two specified vectors are unequal.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>Whether the two vectors are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Normalize">
            <summary>Normalizes the vector.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Translate(OpenBveApi.Math.Vector3)">
            <summary>Translates the vector by a specified offset.</summary>
            <param name="offset">The offset.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Translate(OpenBveApi.Math.Orientation3,OpenBveApi.Math.Vector3)">
            <summary>Translates the vector by a specified offset that is measured in a specified orientation.</summary>
            <param name="orientation">The orientation.</param>
            <param name="offset">The offset measured in the specified orientation.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Scale(OpenBveApi.Math.Vector3)">
            <summary>Scales the vector by a specified factor.</summary>
            <param name="factor">The factor.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Rotates the vector on the plane perpendicular to a specified direction by a specified angle.</summary>
            <param name="direction">The direction perpendicular to the plane on which to rotate.</param>
            <param name="angle">The angle to rotate by.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <summary>Rotates the vector on the plane perpendicular to a specified direction by a specified angle.</summary>
            <param name="direction">The direction perpendicular to the plane on which to rotate.</param>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.RotatePlane(System.Double)">
            <summary>Rotates the vector on the perpendicular world plane (Used by the .Turn command)</summary>
            <param name="angle">The angle.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.RotatePlane(System.Double,System.Double)">
            <summary>Rotates the vector on the perpendicular world plane (Used by the .Turn command)</summary>
            <param name="cosa">The cosine of the angle.</param>
            <param name="sina">The sine of the angle.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Rotates the vector based upon three other vectors</summary>
            <param name="direction">The vector in the Z axis direction</param>
            <param name="up">The vector in the Y axis direction</param>
            <param name="side">The vector in the X axis direction</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.Math.Orientation3)">
            <summary>Rotates the vector from the default orientation into a specified orientation.</summary>
            <param name="orientation">The orientation.</param>
            <remarks>The default orientation is X = {1, 0, 0), Y = {0, 1, 0} and Z = {0, 0, 1}.</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.World.Transformation)">
            <summary>Rotates the vector using the specified transformation</summary>
            <param name="transformation">The transformation</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.IsNullVector">
            <summary>Checks whether the vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.IsNullVector(System.Double)">
            <summary>Checks whether the vector is considered a null vector.</summary>
            <param name="tolerance">The highest absolute value that each component of the vector may have before the vector is not considered a null vector.</param>
            <returns>A boolean indicating whether the vector is considered a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Magnitude">
            <summary>Gets the magnitude of the vector</summary>
            <returns>The magnitude</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Norm">
            <summary>Gets the euclidean norm.</summary>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.NormSquared">
            <summary>Gets the square of the euclidean norm.</summary>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Dot(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Gives the dot product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Cross(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Gives the cross product of two vectors.</summary>
            <param name="a">The first vector.</param>
            <param name="b">The second vector.</param>
            <returns>The cross product of the two vectors.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Normalize(OpenBveApi.Math.Vector3)">
            <summary>Normalizes a vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The normalized vector, or Vector3.Zero if the input is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Translate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Translates a vector by a specified offset.</summary>
            <param name="vector">The vector.</param>
            <param name="offset">The offset.</param>
            <returns>The translated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Translate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Orientation3,OpenBveApi.Math.Vector3)">
            <summary>Translates a vector by a specified offset that is measured along a specified orientation.</summary>
            <param name="vector">The vector.</param>
            <param name="orientation">The orientation.</param>
            <param name="offset">The offset measured in the specified orientation.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Scale(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Scales a vector by a specified factor.</summary>
            <param name="vector">The vector.</param>
            <param name="factor">The factor.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <summary>Rotates a vector on the plane perpendicular to a specified direction by a specified angle.</summary>
            <param name="vector">The vector.</param>
            <param name="direction">The direction perpendicular to the plane on which to rotate.</param>
            <param name="cosineOfAngle">The cosine of the angle.</param>
            <param name="sineOfAngle">The sine of the angle.</param>
            <returns>The rotated vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Rotate(OpenBveApi.Math.Vector3,OpenBveApi.Math.Orientation3)">
            <summary>Rotates a vector from the default orientation into a specified orientation.</summary>
            <param name="vector">The vector.</param>
            <param name="orientation">The orientation.</param>
            <returns>The rotated vector.</returns>
            <remarks>The default orientation is X = {1, 0, 0), Y = {0, 1, 0} and Z = {0, 0, 1}.</remarks>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.CreateNormal(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3@)">
            <summary>Creates a unit vector perpendicular to the plane described by three spatial coordinates, suitable for being a surface normal.</summary>
            <param name="a">The first spatial coordinate.</param>
            <param name="b">The second spatial coordinate.</param>
            <param name="c">The third spatial coordinate.</param>
            <param name="normal">On success, receives the vector perpendicular to the described plane. On failure, receives Vector3.Up.</param>
            <returns>The success of the operation. This operation fails if the specified three vectors are collinear.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.AreCollinear(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Checks whether three spatial coordinates are collinear.</summary>
            <param name="a">The first spatial coordinate.</param>
            <param name="b">The second spatial coordinate.</param>
            <param name="c">The third spatial coordinate.</param>
            <returns>A boolean indicating whether the three spatial coordinates are collinear.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.IsNullVector(OpenBveApi.Math.Vector3)">
            <summary>Checks whether a vector is a null vector.</summary>
            <returns>A boolean indicating whether the vector is a null vector.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.IsFinite(OpenBveApi.Math.Vector3)">
            <summary>Tests to see whether the vector is finite (no components are double or infinity.</summary>
            <returns>A boolean indicating whether the vector is finite</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Norm(OpenBveApi.Math.Vector3)">
            <summary>Gets the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.NormSquared(OpenBveApi.Math.Vector3)">
            <summary>Gets the square of the euclidean norm of the specified vector.</summary>
            <param name="vector">The vector.</param>
            <returns>The square of the euclidean norm.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.GetVector3(OpenBveApi.Math.Vector2,System.Double)">
            <summary>Returns a normalized vector based on a 2D vector in the XZ plane and an additional Y-coordinate.</summary>
            <param name="vector">The vector in the XZ-plane. The X and Y components in Vector represent the X- and Z-coordinates, respectively.</param>
            <param name="Y">The Y-coordinate.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Transform(OpenBveApi.Math.Matrix4D,System.Boolean)">
            <summary>Transforms the Vector based upon the given transform matrix</summary>
            <param name="transformMatrix">The matrix by which to transform the Vector</param>
            <param name="ignoreW">Whether the W component of the matrix should be ignored</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Transform(OpenBveApi.Math.Vector3,OpenBveApi.Math.Quaternion)">
            <summary>Transforms a vector by a quaternion rotation.</summary>
            <param name="vec">The vector to transform.</param>
            <param name="quat">The quaternion to rotate the vector by.</param>
            <returns>The result of the operation.</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Transform(OpenBveApi.Math.Vector3@,OpenBveApi.Math.Quaternion@,OpenBveApi.Math.Vector3@)">
            <summary>Transforms a vector by a quaternion rotation.</summary>
            <param name="vec">The vector to transform.</param>
            <param name="quat">The quaternion to rotate the vector by.</param>
            <param name="result">The result of the operation.</param>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Project(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Projects a vector onto a second vector</summary>
            <param name="firstVector">The first vector</param>
            <param name="secondVector">The second vector</param>
            <returns>The projected vector</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.Lerp(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Single)">
            <summary>Returns a new Vector that is the linear blend of the 2 given Vectors</summary>
            <param name="a">First input vector</param>
            <param name="b">Second input vector</param>
            <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
            <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.IsZero(OpenBveApi.Math.Vector3)">
            <summary>Determines whether this is a zero (0,0,0) vector</summary>
            <param name="Vector"></param>
            <returns>True if this is a zero vector, false otherwise</returns>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Zero">
            <summary>Represents a null vector.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Left">
            <summary>Represents a vector pointing left.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Right">
            <summary>Represents a vector pointing right.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Up">
            <summary>Represents a vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Down">
            <summary>Represents a vector pointing down.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Backward">
            <summary>Represents a vector pointing up.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.Forward">
            <summary>Represents a vector pointing down.</summary>
        </member>
        <member name="F:OpenBveApi.Math.Vector3.One">
            <summary>Represents a unary vector.</summary>
        </member>
        <member name="M:OpenBveApi.Math.Vector3.ToString">
            <summary>Returns the representation of the vector in string format</summary>
        </member>
        <member name="T:OpenBveApi.Objects.FaceFlags">
            <summary>Describes the different OpenGL face drawing types</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.Polygon">
            <summary>Polygon</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.Triangles">
            <summary>Triangles</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.TriangleStrip">
            <summary>TriangleStrip</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.Quads">
            <summary>Quads</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.QuadStrip">
            <summary>QuadStrip</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.NotSet">
            <summary>NotSet</summary>
            <remarks>The FaceType will be calculated when the mesh is loaded by OpenGL (used internally, not as a flag)</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.FaceTypeMask">
            <summary>The mask used for unidirectonal Face commands</summary>
        </member>
        <member name="F:OpenBveApi.Objects.FaceFlags.Face2Mask">
            <summary>The mask used for bidirectional Face2 commands</summary>
        </member>
        <member name="T:OpenBveApi.Objects.Glow">
            <summary>Properties related to glow</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Glow.GetAttenuationData(System.Double,OpenBveApi.Objects.GlowAttenuationMode)">
            <summary>Creates glow attenuation data from a half distance and a mode. The resulting value can be later passed to SplitGlowAttenuationData in order to reconstruct the parameters.</summary>
            <param name="HalfDistance">The distance at which the glow is at 50% of its full intensity. The value is clamped to the integer range from 1 to 4096. Values less than or equal to 0 disable glow attenuation.</param>
            <param name="Mode">The glow attenuation mode.</param>
            <returns>A System.UInt16 packed with the information about the half distance and glow attenuation mode.</returns>
        </member>
        <member name="M:OpenBveApi.Objects.Glow.SplitAttenuationData(System.UInt16,OpenBveApi.Objects.GlowAttenuationMode@,System.Double@)">
            <summary>Recreates the half distance and the glow attenuation mode from a packed System.UInt16 that was created by GetGlowAttenuationData.</summary>
            <param name="Data">The data returned by GetGlowAttenuationData.</param>
            <param name="Mode">The mode of glow attenuation.</param>
            <param name="HalfDistance">The half distance of glow attenuation.</param>
        </member>
        <member name="M:OpenBveApi.Objects.Glow.GetDistanceFactor(OpenBveApi.Math.Matrix4D,OpenBveApi.Objects.VertexTemplate[],OpenBveApi.Objects.MeshFace@,System.UInt16)">
            <summary>Gets the current intensity glow intensity, using the glow attenuation factor</summary>
            <param name="ModelMatrix">The model transformation matrix to apply</param>
            <param name="Vertices">The vertices to which the glow is to be applied</param>
            <param name="Face">The face which these vertices make up</param>
            <param name="GlowAttenuationData">The current glow attenuation</param>
            <returns></returns>
        </member>
        <member name="M:OpenBveApi.Objects.Glow.GetDistanceFactor(OpenBveApi.Math.Matrix4D,OpenBveApi.Objects.VertexTemplate[],OpenBveApi.Objects.MeshFace@,System.UInt16,OpenBveApi.Objects.GlowAttenuationMode@)">
            <summary>Gets the current intensity glow intensity, using the glow attenuation factor</summary>
            <param name="ModelMatrix">The model transformation matrix to apply</param>
            <param name="Vertices">The vertices to which the glow is to be applied</param>
            <param name="Face">The face which these vertices make up</param>
            <param name="GlowAttenuationData">The current glow attenuation</param>
            <param name="mode">The returned glow attenuation mode</param>
            <returns></returns>
        </member>
        <member name="T:OpenBveApi.Objects.Material">
            <summary>Helper class describing textual material properties to be applied to a 3D face</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.Color">
            <summary>The base color</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.EmissiveColor">
            <summary>The emissive color (RGBA — supports optional alpha for advanced transparency effects)</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.SpecularColor">
            <summary>The specular color</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.TransparentColor">
            <summary>The transparent color</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.Flags">
            <summary>Describes the special properties (if any) of the material</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.DaytimeTexture">
            <summary>The absolute on-disk path to the daytime texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.NighttimeTexture">
            <summary>The absolute on-disk path to the nighttime texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.TransparencyTexture">
            <summary>The absolute on-disk path to the transparency texture (Used for both daytime and nighttime textures)</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.LightMap">
            <summary>The absolute on-disk path to the light map texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.BlendMode">
            <summary>The blend mode to be used</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.WrapMode">
            <summary>The wrap mode, or a null reference if not in use</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.GlowAttenuationData">
            <summary>The glow attenuation data, as a packed ushort</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.Text">
            <summary>The text to overlay onto the texture when it is loaded</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.Key">
            <summary></summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.TextColor">
            <summary>The color of the text to overlay (RGBA — alpha defaults to 255 for backward compatibility)</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.BackgroundColor">
            <summary>The background color for the text (RGBA — alpha defaults to 255 for backward compatibility)</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.Font">
            <summary>The font to use for the text</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Material.TextPadding">
            <summary>The text padding to apply</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Material.#ctor">
            <summary>Creates a new Material with default properties</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Material.#ctor(System.String)">
            <summary>Creates a new material from the specified texture file with default properties</summary>
            <param name="textureFile"></param>
        </member>
        <member name="M:OpenBveApi.Objects.Material.#ctor(OpenBveApi.Objects.Material)">
            <summary>Clones an existing material</summary>
        </member>
        <member name="T:OpenBveApi.Objects.MeshBuilder">
            <summary>The MeshBuilder is a helper class used when creating a 3D model from a textual object file</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshBuilder.Vertices">
            <summary>The vertices</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshBuilder.Faces">
            <summary>The faces</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshBuilder.Materials">
            <summary>The materials present</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshBuilder.TransformMatrix">
            <summary>The transform matrix to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshBuilder.isCylinder">
            <summary>
            Whether this was created using the Cylinder command in a B3D / CSV</summary>
            <remarks>Used to compensate for some BVE behaviour</remarks>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new MeshBuilder</summary>
            <param name="Host">The callback to the host application allowing for texture loading etc.</param>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.Apply(OpenBveApi.Objects.StaticObject@,System.Boolean,System.Boolean)">
            <summary>Applies the MeshBuilder's data to a StaticObject</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyTranslation(System.Double,System.Double,System.Double)">
            <summary>Translates the MeshBuilder by the given values</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyScale(OpenBveApi.Math.Vector3)">
            <summary>Scales the MeshBuilder by the given value</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyScale(System.Double,System.Double,System.Double)">
            <summary>Scales the MeshBuilder by the given values</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyRotation(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Rotates the MeshBuilder along the Rotation vector using the given angle</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyMirror(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>Mirrors the MeshBuilder using the given parameters</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyShear(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Double)">
            <summary>Shears the MeshBuilder along the given vectors</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshBuilder.ApplyColor(OpenBveApi.Colors.Color32,System.Boolean)">
            <summary>Applies a color to all materials in the MeshBuilder</summary>
        </member>
        <member name="T:OpenBveApi.Objects.ModelExporter">
            <summary>The exporter for any given model</summary>
            <remarks>Some exporters use a different handing / origin for texture co-ordinates and vertices</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.Unknown">
            <summary>Unknown</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.UnknownRightHanded">
            <summary>Unknown</summary>
            <remarks>Assumes a right-handed co-ordinate system</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.Mesquoia">
            <summary>Mesquioa</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.UnknownLeftHanded">
            <summary>Unknown</summary>
            <remarks>Assumes a right-handed co-ordinate system</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.SketchUp">
            <summary>Google SketchUp</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.BlockBench">
            <summary>BlockBench</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ModelExporter.Blender">
            <summary>Blender</summary>
        </member>
        <member name="T:OpenBveApi.Objects.ObjectCreationParameters">
            <summary>Helper struct for parameters to be applied when creating an object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.TrackPosition">
            <summary>The absolute track position at which the object is placed</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.AccurateObjectDisposalZOffset">
            <summary>he Z-offset to be applied before calculating the position of the object for disposal</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.StartingDistance">
            <summary>The track distance at which this object is displayed by the renderer</summary>
            <remarks>Not valid in QuadTree visibility mode</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.EndingDistance">
            <summary>The track distance at which this object is hidden by the renderer</summary>
            <remarks>Not valid in QuadTree visibility mode</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.Brightness">
            <summary>The brightness value of this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.DisableShadowCasting">
            <summary>Whether shadow casting is disabled for this object </summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectCreationParameters.SectionIndex">
            <summary>The section index the object is linked to</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectCreationParameters.#ctor(System.Double,System.Double,System.Double,System.Double,System.Double,System.Int32,System.Boolean)">
            <summary>Creates a new ObjectCreationParameters</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectCreationParameters.#ctor(System.Double,System.Double,System.Double,System.Double,System.Int32)">
            <summary>Creates a new ObjectCreationParameters</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectCreationParameters.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a new ObjectCreationParameters</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectCreationParameters.#ctor(System.Double,System.Double,System.Double)">
            <summary>Creates a new ObjectCreationParameters</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectCreationParameters.#ctor(System.Double,System.Double)">
            <summary>Creates a new ObjectCreationParameters</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectCreationParameters.WithoutShadow">
            <summary>Returns a clone of the ObjectCreationParameters with DisableShadowCasting set</summary>
        </member>
        <member name="T:OpenBveApi.Objects.Mesh">
            <summary>Represents a mesh consisting of a series of vertices, faces and material properties.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Mesh.Vertices">
            <summary>The shared vertices for the mesh</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Mesh.Materials">
            <summary>The shared materials for the mesh</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Mesh.Faces">
            <summary>The materials for the mesh</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Mesh.BoundingBox">
            <summary>The bounding box for the mesh</summary>
            <remarks>Not currently implemented</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.Mesh.VAO">
            <summary>The OpenGL/OpenTK VAO for the mesh</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Mesh.NormalsVAO">
            <summary>The OpenGL/OpenTK VAO for the normals</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Mesh.#ctor">
            <summary>Creates a new empty mesh</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Mesh.#ctor(OpenBveApi.Objects.VertexTemplate[],OpenBveApi.Colors.Color32)">
            <summary>Creates a mesh consisting of one face, which is represented by individual vertices, and a color.</summary>
            <param name="Vertices">The vertices that make up one face.</param>
            <param name="Color">The color to be applied on the face.</param>
        </member>
        <member name="M:OpenBveApi.Objects.Mesh.#ctor(OpenBveApi.Objects.VertexTemplate[],System.Int32[][],OpenBveApi.Colors.Color32)">
            <summary>Creates a mesh consisting of the specified vertices, faces and color.</summary>
            <param name="Vertices">The vertices used.</param>
            <param name="FaceVertices">A list of faces represented by a list of references to vertices.</param>
            <param name="Color">The color to be applied on all of the faces.</param>
        </member>
        <member name="M:OpenBveApi.Objects.Mesh.CreateNormals">
            <summary>Creates the normals for all faces within this mesh</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Mesh.CreateNormals(System.Int32)">
            <summary>Creates the normals for the specified face index</summary>
        </member>
        <member name="T:OpenBveApi.Objects.MeshFace">
            <summary>Represents a face consisting of vertices and material attributes.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFace.Vertices">
            <summary>The array of vertices making up this face</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFace.Material">
            <summary>A reference to an element in the Material array of the containing Mesh structure.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFace.Flags">
            <summary>A bit mask combining constants of the MeshFace structure.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFace.IboStartIndex">
            <summary>The starting position for the face in the VAO</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFace.NormalsIboStartIndex">
            <summary>The starting position for the normals in the VAO</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.ToString">
            <summary>Returns a representation of the face in string format</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.#ctor(System.Int32[],System.UInt16,OpenBveApi.Objects.FaceFlags)">
            <summary>Creates a new MeshFace using the specified vertex indices and the default material</summary>
            <param name="Vertices">The vertex indices</param>
            <param name="material">The material</param>
            <param name="Type">The type of OpenGL face drawing to use</param>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.#ctor(System.Int32[],OpenBveApi.Objects.FaceFlags)">
            <summary>Creates a new MeshFace using the specified vertex indices and the default material</summary>
            <param name="Vertices">The vertex indices</param>
            <param name="Type">The type of OpenGL face drawing to use</param>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.#ctor(OpenBveApi.Objects.MeshFaceVertex[],System.UInt16)">
            <summary>Creates a new MeshFace using the specified vertex indices and material</summary>
            <param name="vertices">The vertex indices</param>
            <param name="material">The material</param>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.#ctor(System.Int32)">
            <summary>Creates a new MeshFace containing <param name="numVertices">N</param> vertices</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.AppendVertices(System.Int32[])">
            <summary>Appends an array of vertices to the MeshFace</summary>
            <param name="additionalVertices">The vertices to append</param>
            <remarks>This does not check the MeshFace for duplicates</remarks>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFace.Flip">
            <summary>Flips the MeshFace</summary>
        </member>
        <member name="T:OpenBveApi.Objects.MeshFaceVertex">
            <summary>Represents a reference to a vertex and the normal to be used for that vertex.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFaceVertex.Index">
            <summary>A reference to an element in the Vertex array of the contained Mesh structure.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshFaceVertex.Normal">
            <summary>The normal to be used at the vertex.</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFaceVertex.#ctor(System.Int32)">
            <summary>Creates a new MeshFaceVertex with the default normal vector</summary>
            <param name="Index">The index to the vertex</param>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFaceVertex.#ctor(System.Int32,OpenBveApi.Math.Vector3)">
            <summary>Creates a new MeshFaceVertex with the specified normal vector</summary>
            <param name="Index">The index to the vertex</param>
            <param name="Normal">The normal to use</param>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFaceVertex.op_Equality(OpenBveApi.Objects.MeshFaceVertex,OpenBveApi.Objects.MeshFaceVertex)">
            <summary>Determines whether two MeshFaceVertex are equal</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshFaceVertex.op_Inequality(OpenBveApi.Objects.MeshFaceVertex,OpenBveApi.Objects.MeshFaceVertex)">
            <summary>Determines whether two MeshFaceVertex are unequal</summary>
        </member>
        <member name="T:OpenBveApi.Objects.MeshMaterialBlendMode">
            <summary>Describes the texture blending types available to be used for a MeshMaterial</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterialBlendMode.Normal">
            <summary>Normal blending is used</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterialBlendMode.Additive">
            <summary>Additive blending is used (e.g. signal glow)</summary>
        </member>
        <member name="T:OpenBveApi.Objects.MeshMaterial">
            <summary>Represents material properties.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.Flags">
            <summary>A bit mask combining constants of the MeshMaterial structure.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.Color">
            <summary>The base color of the material</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.TransparentColor">
            <summary>The texture transparent color</summary>
            <remarks>Only valid if using <see cref="F:OpenBveApi.Textures.TextureTransparencyType.Partial"/></remarks>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.EmissiveColor">
            <summary>The material emissive color (upgraded to Color32 to support optional RGBA; alpha defaults to 255)</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.SpecularColor">
            <summary>The material specular color</summary>
            <remarks>Only valid if <see cref="F:OpenBveApi.Objects.MaterialFlags.Specular"/> is set</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.DaytimeTexture">
            <summary>The daytime texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.NighttimeTexture">
            <summary>The night-time texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.LightMapTexture">
            <summary>The lightmap texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.BlendMode">
            <summary>The blend mode for this material</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.GlowAttenuationData">
            <summary>A bit mask specifying the glow properties. Use GetGlowAttenuationData to create valid data for this field.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MeshMaterial.WrapMode">
            <summary>The wrap mode, or null to allow the renderer to decide</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshMaterial.op_Equality(OpenBveApi.Objects.MeshMaterial,OpenBveApi.Objects.MeshMaterial)">
            <summary>Returns whether two MeshMaterial structs are equal</summary>
        </member>
        <member name="M:OpenBveApi.Objects.MeshMaterial.op_Inequality(OpenBveApi.Objects.MeshMaterial,OpenBveApi.Objects.MeshMaterial)">
            <summary>Returns whether two MeshMaterial structs are unequal</summary>
        </member>
        <member name="T:OpenBveApi.Objects.MaterialFlags">
            <summary>The flags which may be applied to material properties</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.None">
            <summary>The material has no special properties</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.Emissive">
            <summary>The material is emissive</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.TransparentColor">
            <summary>The material uses the Transparent Color in its texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.DisableLighting">
            <summary>The material is to be rendered with disabled lighting</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.CrossFadeTexture">
            <summary>The daytime and night-time textures are to be cross-faded</summary>
            <remarks>Disabled by default</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.DisableTextureAlpha">
            <summary>Alpha is disabled when rendering</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.NoShadow">
            <summary>The material casts no shadows</summary>
        </member>
        <member name="F:OpenBveApi.Objects.MaterialFlags.Specular">
            <summary>The material has a separate specular light color</summary>
        </member>
        <member name="T:OpenBveApi.Objects.ObjectInterface">
            <summary>Represents the interface for loading objects. Plugins must implement this interface if they wish to expose objects.</summary>
        </member>
        <member name="P:OpenBveApi.Objects.ObjectInterface.SupportedAnimatedObjectExtensions">
            <summary>
            Array of supported animated object extensions.
            </summary>
        </member>
        <member name="P:OpenBveApi.Objects.ObjectInterface.SupportedStaticObjectExtensions">
            <summary>
            Array of supported static object extensions.
            </summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.Load(OpenBveApi.Hosts.HostInterface,OpenBveApi.FileSystem.FileSystem)">
            <summary>Called when the plugin is loaded.</summary>
            <param name="host">The host that loaded the plugin.</param>
            <param name="fileSystem">The program filesystem object</param>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.Unload">
            <summary>Called when the plugin is unloaded.</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.SetCompatibilityHacks(OpenBveApi.Objects.CompatabilityHacks)">
            <summary>Sets various hacks to workaround buggy objects</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.SetObjectParser(System.Object)">
            <summary>Sets the parser type to use</summary>
            <remarks>The actual type of parserType should be checked by the consumer and ignored if not relevant</remarks>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.CanLoadObject(System.String)">
            <summary>Checks whether the plugin can load the specified object.</summary>
            <param name="path">The path to the file or folder that contains the object.</param>
            <returns>Whether the plugin can load the specified object.</returns>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.LoadObject(System.String,System.Text.Encoding,OpenBveApi.Objects.UnifiedObject@)">
            <summary>Loads the specified object.</summary>
            <param name="path">The path to the file or folder that contains the object.</param>
            <param name="unifiedObject">Receives the object.</param>
            <param name="textEncoding">The encoding for the object</param>
            <returns>Whether loading the object was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectInterface.LoadObject(System.String,System.String,System.Text.Encoding,OpenBveApi.Objects.UnifiedObject@)">
            <summary>Loads the specified object.</summary>
            <param name="path">The path to the file or folder that contains the object.</param>
            <param name="unifiedObject">Receives the object.</param>
            <param name="wagonFileDirectory">The path to the wagon file</param>
            <param name="Encoding">The encoding for the object</param>
            <returns>Whether loading the object was successful.</returns>
            <remarks>Useful for loading MSTS content only</remarks>
        </member>
        <member name="T:OpenBveApi.Objects.CompatabilityHacks">
            <summary>Controls various hacks used with older content</summary>
        </member>
        <member name="F:OpenBveApi.Objects.CompatabilityHacks.BveTsHacks">
            <summary>Looser parsing model is used in various cases</summary>
        </member>
        <member name="F:OpenBveApi.Objects.CompatabilityHacks.CylinderHack">
            <summary>Cylinders are generated with a different face order</summary>
            <remarks>Used as tunnel internals by some BVE2 content</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.CompatabilityHacks.BlackTransparency">
            <summary>Pure black is used as a transparent color</summary>
            <remarks>Used to provide color-key transparency in BVE4 X format files</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.CompatabilityHacks.DisableSemiTransparentFaces">
            <summary>Semi-transparent faces are disabled</summary>
            <remarks>BVE2 did not support semi-transparent faces</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.CompatabilityHacks.AggressiveRwBrackets">
            <summary>Whether aggressive RW bracket fixing is performed</summary>
        </member>
        <member name="T:OpenBveApi.Objects.ObjectState">
            <summary>A single internal state of an Object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.Prototype">
            <summary>A reference to the prototype static object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState._translation">
            <summary>The translation matrix to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState._scale">
            <summary>The scale matrix to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState._rotate">
            <summary>The rotation matrix to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.WorldPosition">
            <summary>The world position vector</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.DaytimeNighttimeBlend">
            <summary>A value between 0 (daytime) and 255 (nighttime).</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.Matricies">
            <summary>The matrices within the object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.MatrixBufferIndex">
            <summary>The index of the storage buffer for the matrices</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.DisableShadowCasting">
            <summary>Whether shadow casting is disabled for this object</summary>
        </member>
        <member name="P:OpenBveApi.Objects.ObjectState.Translation">
            <summary>The translation matrix to be applied</summary>
        </member>
        <member name="P:OpenBveApi.Objects.ObjectState.Scale">
            <summary>The scale matrix to be applied</summary>
        </member>
        <member name="P:OpenBveApi.Objects.ObjectState.Rotate">
            <summary>The rotation matrix to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.modelMatrix">
            <summary>Backing property holding the cached model matrix</summary>
        </member>
        <member name="P:OpenBveApi.Objects.ObjectState.ModelMatrix">
            <summary>Returns the final model matrix</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.TextureTranslation">
            <summary>The texture translation matrix to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.StartingDistance">
            <summary>The starting track position, for static objects only.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectState.EndingDistance">
            <summary>The ending track position, for static objects only.</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectState.#ctor">
            <summary>Creates a new ObjectState</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectState.#ctor(OpenBveApi.Objects.StaticObject)">
            <summary>Creates a new ObjectState</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectState.Clone">
            <summary>Clones this ObjectState</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ObjectState.Reverse(OpenBveApi.Math.Vector3)">
            <summary>Reverses this ObjectState</summary>
            <param name="pos">The viewer position</param>
        </member>
        <member name="T:OpenBveApi.Objects.AnimatedObject">
            <summary>The base type for an animated object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.FileName">
            <summary>The filename</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.States">
            <summary>The array of states</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.StateFunction">
            <summary>The function script controlling state changes</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.CurrentState">
            <summary>The index of the current state</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.ScaleXFunction">
            <summary>The function script controlling scaling in the X direction</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.ScaleYFunction">
            <summary>The function script controlling scaling in the Y direction</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.ScaleZFunction">
            <summary>The function script controlling scaling in the Z direction</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TranslateXDirection">
            <summary>A 3D vector describing the direction taken when TranslateXFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TranslateYDirection">
            <summary>A 3D vector describing the direction taken when TranslateXYFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TranslateZDirection">
            <summary>A 3D vector describing the direction taken when TranslateZFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TranslateXFunction">
            <summary>The function script controlling translation in the X direction</summary>
            <remarks>X is an arbitrary 3D direction, nominally 1,0,0</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TranslateYFunction">
            <summary>The function script controlling translation in the Y direction</summary>
            <remarks>Y is an arbitrary 3D direction, nominally 0,1,0</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TranslateZFunction">
            <summary>The function script controlling translation in the Z direction</summary>
            <remarks>Z is an arbitrary 3D direction, nominally 0,0,1</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateXDirection">
            <summary>A 3D vector describing the rotation performed when RotateXFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateYDirection">
            <summary>A 3D vector describing the rotation performed when RotateYFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateZDirection">
            <summary>A 3D vector describing the rotation performed when RotateZFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateXFunction">
            <summary>The function script controlling translation in the X direction</summary>
            <remarks>X is an arbitrary 3D direction, nominally 1,0,0</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateYFunction">
            <summary>The function script controlling translation in the Y direction</summary>
            <remarks>Y is an arbitrary 3D direction, nominally 0,1,0</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateZFunction">
            <summary>The function script controlling translation in the Z direction</summary>
            <remarks>Z is an arbitrary 3D direction, nominally 0,0,1</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateXDamping">
            <summary>The damping (if any) to perform when RotateXFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateYDamping">
            <summary>The damping (if any) to perform when RotateYFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RotateZDamping">
            <summary>The damping (if any) to perform when RotateZFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TextureShiftXDirection">
            <summary>A 2D vector describing the texture shifting performed when TextureShiftXFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TextureShiftYDirection">
            <summary>A 2D vector describing the texture shifting performed when TextureShiftYFunction is called</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TextureShiftXFunction">
            <summary>The function script controlling texture shifting in the X direction</summary>
            <remarks>X is an arbitrary 2D direction, nominally 1,0</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TextureShiftYFunction">
            <summary>The function script controlling texture shifting in the Y direction</summary>
            <remarks>X is an arbitrary 2D direction, nominally 0,1</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.LEDClockwiseWinding">
            <summary>If the LED function is used, this controls whether the winding is clockwise or anti-clockwise</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.LEDInitialAngle">
            <summary>The initial angle of the LED function</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.LEDLastAngle">
            <summary>The final angle of the LED function</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.LEDVectors">
            <summary>If LEDFunction is used, an array of five vectors representing the bottom-left, up-left, up-right, bottom-right and center coordinates of the LED square, or a null reference otherwise.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.LEDFunction">
            <summary>The function script controlling the LED square</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RefreshRate">
            <summary>The refresh rate in seconds</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.SecondsSinceLastUpdate">
            <summary>The time since the last update of this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.TrackFollowerFunction">
            <summary>The function script controlling movement along the track</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.FrontAxlePosition">
            <summary>The front axle position if TrackFollowerFunction is used</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.RearAxlePosition">
            <summary>The rear axle position if TrackFollowerFunction is used</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.internalObject">
            <summary>Holds a reference to the internal static object used for display</summary>
            <remarks>This is a fully transformed deep copy of the current state</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.currentHost">
            <summary>Holds a reference to the host interface of the current application</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.isTimeTableObject">
            <summary>Whether this object uses the Timetable texture</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.UpdateVAO">
            <summary>Sets whether the openGL VAO should be updated by the renderer this frame</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.IsPartOfTrain">
            <summary>Whether the object forms part of a train</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.SectionIndex">
            <summary>The signalling section the object refers to</summary>
            <remarks>This only applies to objects placed using the Track.Sig command</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.ColorFunction">
            <summary>Function used to change the colors of an object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObject.Colors">
            <summary>Array of colors for ColorFunction</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.#ctor(OpenBveApi.Hosts.HostInterface,System.String)">
            <summary>Creates a new animated object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.#ctor(OpenBveApi.Hosts.HostInterface,OpenBveApi.Objects.StaticObject)">
            <summary>Creates a new animated object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.Clone">
            <summary>Clones this object</summary>
            <returns>The new object</returns>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.IsFreeOfFunctions">
            <summary>Checks whether this object contains any functions</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.Initialize(System.Int32,OpenBveApi.Objects.ObjectType,System.Boolean)">
            <summary>Initialises the object</summary>
            <param name="StateIndex">The state to show</param>
            <param name="Type">The object type</param>
            <param name="Show">Whether the object should be shown immediately on initialisation</param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.Update(OpenBveApi.Trains.AbstractTrain,System.Int32,System.Double,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Boolean,System.Boolean,System.Double,System.Boolean,System.Boolean,System.Object)">
            <summary> Updates the position and state of the animated object</summary>
            <param name="Train">The train, or a null reference otherwise</param>
            <param name="CarIndex">If this object forms part of a train, the car index it refers to</param>
            <param name="TrackPosition"></param>
            <param name="Position"></param>
            <param name="Direction"></param>
            <param name="Up"></param>
            <param name="Side"></param>
            <param name="UpdateFunctions">Whether the functions associated with this object should be re-evaluated</param>
            <param name="Show"></param>
            <param name="TimeElapsed">The time elapsed since this object was last updated</param>
            <param name="EnableDamping">Whether damping is to be applied for this call</param>
            <param name="IsTouch">Whether Animated Object belonging to TouchElement class.</param>
            <param name="Camera"></param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation,System.Int32,System.Double)">
            <summary>Creates the animated object within the game world</summary>
            <param name="Position">The absolute position</param>
            <param name="WorldTransformation">The world transformation to apply (e.g. ground, rail)</param>
            <param name="LocalTransformation">The local transformation to apply in order to rotate the model</param>
            <param name="sectionIndex">The index of the section if placed using a SigF command</param>
            <param name="TrackPosition">The absolute track position</param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.Reverse(System.Boolean)">
            <summary>Reverses the object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.CorrectCarIndices(System.Int32)">
            <summary>Corrects the car indices in any function scripts in use</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.LoadTextures">
            <summary>Loads all textures associated with this object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.op_Equality(OpenBveApi.Objects.AnimatedObject,OpenBveApi.Objects.AnimatedObject)">
            <summary>Checks whether the two specified animated objects are equal</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.op_Inequality(OpenBveApi.Objects.AnimatedObject,OpenBveApi.Objects.AnimatedObject)">
            <summary>Checks whether the two specified animated objects are unequal</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.Equals(OpenBveApi.Objects.AnimatedObject)">
            <summary>Indicates whether this instance and a specified instance are equal.</summary>
            <param name="animatedObject">The instance to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObject.Equals(System.Object)">
            <summary>Indicates whether this instance and a specified object are equal.</summary>
            <param name="obj">The object to compare to.</param>
            <returns>True if the instances are equal; false otherwise.</returns>
        </member>
        <member name="T:OpenBveApi.Objects.AnimatedObjectCollection">
            <summary>The AnimatedObjectCollection is a simple container class containing one or more animated objects</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObjectCollection.Objects">
            <summary>The objects that this collection contains</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedObjectCollection.Sounds">
            <summary>The sounds that this collection contains</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new AnimatedObjectCollection</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation,OpenBveApi.Objects.ObjectCreationParameters)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.OptimizeObject(System.Boolean,System.Int32,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.Clone">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.Mirror">
            <summary>Creates a mirrored clone of this object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.Reverse">
            <summary>Reverses the object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.Transform(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.TransformLeft(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.TransformRight(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedObjectCollection.ApplyTranslation(System.Double,System.Double,System.Double,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:OpenBveApi.Objects.AnimatedWorldObject">
            <summary>A container object for animated objects within the world</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObject.SectionIndex">
            <summary>The signalling section the object refers to (Only relevant for objects placed using Track.Sig</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObject.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new Animated World Object</summary>
            <param name="host">The host application</param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObject.Clone">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObject.Update(OpenBveApi.Trains.AbstractTrain,System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObject.IsVisible(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="T:OpenBveApi.Objects.AnimatedWorldObjectStateSound">
            <summary>Represents an animated object which plays a sound upon state change</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.Buffers">
            <summary>The sound buffer array</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.SingleBuffer">
            <summary>Whether a single buffer is used</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.Source">
            <summary>The sound source for this file</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.CurrentPitch">
            <summary>The pitch to play the sound at</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.CurrentVolume">
            <summary>The volume to play the sound at it's origin</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.PlayOnShow">
            <summary>Whether the sound should be played on showing a new state</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.PlayOnHide">
            <summary>Whether the sound should be played on hiding a new state</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedWorldObjectStateSound.SoundPosition">
            <summary>The relative position of the sound</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObjectStateSound.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new AnimatedWorldObjectStateSound</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObjectStateSound.Clone">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObjectStateSound.Update(OpenBveApi.Trains.AbstractTrain,System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObjectStateSound.IsVisible(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedWorldObjectStateSound.Create(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation,System.Int32,System.Double)">
            <summary>Creates the animated object within the game world</summary>
            <param name="worldPosition">The absolute position</param>
            <param name="worldTransformation">The world transformation to apply (e.g. ground, rail)</param>
            <param name="localTransformation">The local transformation to apply in order to rotate the model</param>
            <param name="finalSectionIndex">The index of the section if placed using a SigF command</param>
            <param name="finalTrackPosition">The absolute track position</param>
        </member>
        <member name="T:OpenBveApi.Objects.AbstractAnimation">
            <summary>An abstract animation</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AbstractAnimation.Name">
            <summary>The name of the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AbstractAnimation.#ctor(System.String)">
            <summary>Creates an abstract animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AbstractAnimation.Update(System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>Updates the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AbstractAnimation.Clone">
            <summary>Clones the animation</summary>
        </member>
        <member name="T:OpenBveApi.Objects.AbstractFrame">
            <summary>An abstract animation frame</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AbstractFrame.FrameNumber">
            <summary>The frame number within the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AbstractFrame.#ctor(System.Int32)">
            <summary>Creates a new abstract frame</summary>
            <param name="frameNumber">The frame number</param>
        </member>
        <member name="T:OpenBveApi.Objects.FrameExtensions">
            <summary>Extension methods for use with frames</summary>
        </member>
        <member name="M:OpenBveApi.Objects.FrameExtensions.FindCurrentFrame(OpenBveApi.Objects.AbstractFrame[],System.Double,System.Int32@,System.Double@)">
            <summary>Finds the current frame in a frame array</summary>
            <param name="frames">The frame array</param>
            <param name="animationKey">The animation key</param>
            <param name="interpolateFrame">The frame interpolation is performed to</param>
            <param name="diff">The difference value to be used in interpolation</param>
            <returns>The index of the current frame</returns>
        </member>
        <member name="T:OpenBveApi.Objects.QuaternionFrame">
            <summary>An quaternion animation frame</summary>
        </member>
        <member name="F:OpenBveApi.Objects.QuaternionFrame.Quaternion">
            <summary>The quaternion</summary>
        </member>
        <member name="M:OpenBveApi.Objects.QuaternionFrame.#ctor(System.Int32,OpenBveApi.Math.Quaternion)">
            <summary>Creates a QuaternionFrame</summary>
        </member>
        <member name="T:OpenBveApi.Objects.VectorFrame">
            <summary>A vector animation frame</summary>
        </member>
        <member name="F:OpenBveApi.Objects.VectorFrame.Vector">
            <summary>The vector</summary>
        </member>
        <member name="M:OpenBveApi.Objects.VectorFrame.#ctor(System.Int32,OpenBveApi.Math.Vector3)">
            <summary>Creates a VectorFrame</summary>
        </member>
        <member name="T:OpenBveApi.Objects.LinearKey">
            <summary>An animation updating the position of the base matrix</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LinearKey.#ctor(System.String,OpenBveApi.Objects.VectorFrame[])">
            <summary>Creates a new linear_pos animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LinearKey.Update(System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>Updates the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LinearKey.Clone">
            <inheritdoc />
        </member>
        <member name="T:OpenBveApi.Objects.SlerpRot">
            <summary>A an animation rotating the base matrix</summary>
        </member>
        <member name="M:OpenBveApi.Objects.SlerpRot.#ctor(System.String,OpenBveApi.Objects.QuaternionFrame[])">
            <summary>Creates a new slerp_rot animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.SlerpRot.Update(System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>Updates the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.SlerpRot.Clone">
            <inheritdoc />
        </member>
        <member name="T:OpenBveApi.Objects.TcbKey">
            <summary>An animation setting an absolute rotation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.TcbKey.#ctor(System.String,OpenBveApi.Objects.QuaternionFrame[])">
            <summary>Creates a new tcb_key animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.TcbKey.Update(System.Double,System.Double,OpenBveApi.Math.Matrix4D@)">
            <summary>Updates the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.TcbKey.Clone">
            <inheritdoc />
        </member>
        <member name="T:OpenBveApi.Objects.KeyframeAnimatedObject">
            <summary>Represents a keyframe animated object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.RefreshRate">
            <summary>The refresh rate in seconds</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.SecondsSinceLastUpdate">
            <summary>The time since the last update of this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.Animations">
            <summary>Contains the list of animations contained within this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.Objects">
            <summary>The objects within this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.Matricies">
            <summary>The keyframe matrices to be sent to the shader</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.Pivots">
            <summary>The pivots</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.BaseCar">
            <summary>Holds a reference to the car if appropriate</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.trackFollower">
            <summary>Track follower used to update bogie positions</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.frontAxlePosition">
            <summary>The front axle world-position of the car</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.rearAxlePosition">
            <summary>The rear axle world-position of the car</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.currentTrackPosition">
            <summary>The current absolute track position of the car</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimatedObject.IsReversed">
            <summary>Whether the object is reversed</summary>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates an empty KeyFrameAnimatedObject</summary>
            <param name="currentHost">The host application interface</param>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation,OpenBveApi.Objects.ObjectCreationParameters)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.OptimizeObject(System.Boolean,System.Int32,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.Clone">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.Mirror">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.Transform(System.Double,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.TransformLeft(System.Double,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.TransformRight(System.Double,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.Update(System.Double,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Double,System.Boolean,System.Object)">
            <summary> Updates the position and state of the animated object</summary>
            <param name="trackPosition"></param>
            <param name="position"></param>
            <param name="direction"></param>
            <param name="up"></param>
            <param name="side"></param>
            <param name="timeElapsed">The time elapsed since this object was last updated</param>
            <param name="isTouch">Whether Animated Object belonging to TouchElement class.</param>
            <param name="camera"></param>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.Reverse">
            <summary>Reverses the object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.op_Implicit(OpenBveApi.Objects.KeyframeAnimatedObject)~OpenBveApi.Objects.StaticObject">
            <summary>Converts the KeyframeAnimatedObject to a static object</summary>
            <remarks>This will set all animation positions to Frame 0</remarks>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimatedObject.ApplyTranslation(System.Double,System.Double,System.Double,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="T:OpenBveApi.Objects.KeyframeAnimation">
            <summary>An animation using keyframes</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.ParentObject">
            <summary>The parent object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.ParentAnimation">
            <summary>The parent animation</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.Name">
            <summary>The animation name</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.baseMatrix">
            <summary>The base matrix before transforms are performed</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.FrameRate">
            <summary>The framerate</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.FrameCount">
            <summary>The total number of frames in the animation</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.AnimationControllers">
            <summary>The controllers for the animation</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.Matrix">
            <summary>The matrix to send to the shader</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.AnimationKey">
            <summary>The current animation key</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeAnimation.IsWheelLinked">
            <summary>Whether the animation is linked to wheel rotation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimation.#ctor(OpenBveApi.Objects.KeyframeAnimatedObject,System.Int32,System.String,System.Int32,System.Double,OpenBveApi.Math.Matrix4D,System.Boolean)">
            <summary>Creates a new keyframe animation</summary>
            <param name="parentObject">The parent object</param>
            <param name="parentAnimation">The parent animation</param>
            <param name="name">The animation name</param>
            <param name="frameCount">The total number of frames in the animation</param>
            <param name="frameRate">The framerate of the animation</param>
            <param name="matrix">The base matrix to be transformed</param>
            <param name="wheeLinked">Whether the animation is linked to wheel rotation</param>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimation.Update(OpenBveApi.Trains.AbstractCar,System.Boolean,OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <summary>Updates the animation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeAnimation.Clone(OpenBveApi.Objects.KeyframeAnimatedObject)">
            <summary>Clones the animation</summary>
            <param name="parentObject">The parent object</param>
            <returns>The cloned animation</returns>
        </member>
        <member name="T:OpenBveApi.Objects.KeyframeMatrix">
            <summary>A keyframe matrix used in a KeyframeAnimatedObject</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeMatrix.containerObject">
            <summary>Holds a reference to the container object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeMatrix.zTranslation">
            <summary>The Z-translation of this matrix within the container object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeMatrix.#ctor(OpenBveApi.Objects.KeyframeAnimatedObject,System.Int32,System.String,OpenBveApi.Math.Matrix4D)">
            <summary>Creates a new keyframe matrix</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeMatrix.Index">
            <summary>The matrix index</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeMatrix.Name">
            <summary>The matrix name</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeMatrix._matrix">
            <summary>The base matrix before transformations</summary>
        </member>
        <member name="P:OpenBveApi.Objects.KeyframeMatrix.Matrix">
            <summary>Gets the final transformed matrix</summary>
        </member>
        <member name="T:OpenBveApi.Objects.KeyframeWorldObject">
            <summary>A container object for animated objects within the world</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeWorldObject.SectionIndex">
            <summary>The signalling section the object refers to (Only relevant for objects placed using Track.Sig</summary>
        </member>
        <member name="F:OpenBveApi.Objects.KeyframeWorldObject.Object">
            <summary>The animated object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeWorldObject.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new Animated World Object</summary>
            <param name="Host">The host application</param>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeWorldObject.Clone">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeWorldObject.Update(OpenBveApi.Trains.AbstractTrain,System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.KeyframeWorldObject.IsVisible(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="T:OpenBveApi.Objects.PivotPoint">
            <summary>A pivot point within an object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.PivotPoint.MatrixName">
            <summary>The name of the matrix to pivot</summary>
        </member>
        <member name="F:OpenBveApi.Objects.PivotPoint.FrontPoint">
            <summary>The front point</summary>
        </member>
        <member name="F:OpenBveApi.Objects.PivotPoint.RearPoint">
            <summary>The rear point</summary>
        </member>
        <member name="F:OpenBveApi.Objects.PivotPoint.Position">
            <summary>The relative position within the object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.PivotPoint.#ctor(System.String,System.Double,System.Double,System.Double)">
            <summary>Creates a new pivot point</summary>
        </member>
        <member name="T:OpenBveApi.Objects.StaticObject">
            <inheritdoc />
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.isOptimized">
            <summary>Whether the object is optimized</summary>
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.Mesh">
            <summary>The mesh of the object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.StartingTrackDistance">
            <summary>The starting track position, for static objects only.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.EndingTrackDistance">
            <summary>The ending track position, for static objects only.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.Dynamic">
            <summary>Whether the object is dynamic, i.e. not static.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.Author">
            <summary> Stores the author for this object.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.StaticObject.Copyright">
            <summary> Stores the copyright information for this object.</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new empty object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.Clone(OpenBveApi.Textures.Texture,OpenBveApi.Textures.Texture)">
            <summary>Creates a clone of this object.</summary>
            <param name="daytimeTexture">The replacement daytime texture</param>
            <param name="nighttimeTexture">The replacement nighttime texture</param>
            <returns></returns>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.Clone">
            <summary>Creates a clone of this object.</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.Mirror">
            <summary>Creates a mirrored clone of this object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.Transform(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.TransformLeft(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.TransformRight(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.JoinObjects(OpenBveApi.Objects.StaticObject,OpenBveApi.Math.Matrix4D[])">
            <summary>Joins two static objects</summary>
            <param name="additionalObject">The static object to join</param>
            <param name="animationMatrices">The animation matrices for the object</param>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyScale(OpenBveApi.Math.Vector3)">
            <summary>Applies scale</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyScale(System.Double,System.Double,System.Double)">
            <summary>Applies scale</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyRotation(OpenBveApi.Math.Vector3,System.Double)">
            <summary>Applies rotation</summary>
            <param name="rotationVector">The rotation vector</param>
            <param name="angle">The angle to rotate in degrees</param>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyTranslation(System.Double,System.Double,System.Double,System.Boolean)">
            <summary>Applies translation</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyMirror(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>Applies mirroring</summary>
            <param name="vX">Whether to mirror vertices in the X-axis</param>
            <param name="vY">Whether to mirror vertices in the Y-axis</param>
            <param name="vZ">Whether to mirror vertices in the Z-axis</param>
            <param name="nX">Whether to mirror normals in the X-axis</param>
            <param name="nY">Whether to mirror normals in the Y-axis</param>
            <param name="nZ">Whether to mirror normals in the Z-axis</param>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyColor(OpenBveApi.Colors.Color32,System.Boolean)">
            <summary>Applies a color to all materials in the mesh</summary>
            <param name="newColor">The color</param>
            <param name="emissive">Whether this is an emissive color</param>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.ApplyShear(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,System.Double)">
            <summary>Performs shear mapping for all vertices within the StaticObject</summary>
            <param name="shearDirection">A vector describing the direction of the plane to be sheared</param>
            <param name="shear">A vector describing the shear direction</param>
            <param name="ratio">The amount of shear to apply.</param>
            <remarks>If Ratio is 0, no transformation is performed. If Direction and Shear are perpendicular, a Ratio of 1 corresponds to a slope of 45 degrees</remarks>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation,OpenBveApi.Objects.ObjectCreationParameters)">
            <summary>Callback function to create the object within the world</summary>
        </member>
        <member name="M:OpenBveApi.Objects.StaticObject.OptimizeObject(System.Boolean,System.Int32,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="T:OpenBveApi.Objects.TrackFollowingObject">
            <summary>A container object for an animated object which follows a track</summary>
        </member>
        <member name="F:OpenBveApi.Objects.TrackFollowingObject.FrontAxleFollower">
            <summary>The front axle follower</summary>
        </member>
        <member name="F:OpenBveApi.Objects.TrackFollowingObject.RearAxleFollower">
            <summary>The rear axle follower</summary>
        </member>
        <member name="F:OpenBveApi.Objects.TrackFollowingObject.FrontAxlePosition">
            <summary>The front axle position relative to the center of the object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.TrackFollowingObject.RearAxlePosition">
            <summary>The rear axle position relative to the center of the object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.TrackFollowingObject.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new Track Following Object</summary>
            <param name="host">The host application</param>
        </member>
        <member name="M:OpenBveApi.Objects.TrackFollowingObject.Clone">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.TrackFollowingObject.Update(OpenBveApi.Trains.AbstractTrain,System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.TrackFollowingObject.IsVisible(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.TrackFollowingObject.UpdateObjectPosition">
            <summary>Updates the position and rotation of an animated object which follows a track</summary>
        </member>
        <member name="T:OpenBveApi.Objects.UnifiedObject">
            <summary>A unified object is the abstract class encompassing all object types within the sim</summary>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.Objects.ObjectCreationParameters)">
            <summary>Creates the object within the worldspace without using track based transforms</summary>
            <param name="Position">The world position</param>
            <param name="Parameters">The parameters to use when creating the object</param>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.Objects.ObjectCreationParameters)">
            <summary>Creates the object within the worldspace using a single track based transforms</summary>
            <param name="Position">The world position</param>
            <param name="WorldTransformation">The world transformation to apply (e.g. ground, rail)</param>
            <param name="Parameters">The parameters to use when creating the object</param>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.CreateObject(OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation,OpenBveApi.Objects.ObjectCreationParameters)">
            <summary>Creates the object within the world</summary>
            <param name="Position">The world position</param>
            <param name="WorldTransformation">The world transformation to apply (e.g. ground, rail)</param>
            <param name="LocalTransformation">The local transformation to apply in order to rotate the model</param>
            <param name="Parameters">The parameters to use when creating the object</param>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.OptimizeObject(System.Boolean,System.Int32,System.Boolean)">
            <summary>Call this method to optimize the object</summary>
            <param name="PreserveVerticies">Whether duplicate vertices are to be preserved (Takes less time)</param>
            <param name="Threshold">The face size threshold for optimization</param>
            <param name="VertexCulling">Whether vertex culling is performed</param>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.Clone">
            <summary>Creates a clone of this object</summary>
            <returns>The cloned object</returns>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.Mirror">
            <summary>Creates a mirrored clone of this object</summary>
            <returns>The mirrored clone</returns>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.Transform(System.Double,System.Double)">
            <summary>Creates a transformed clone of this object</summary>
            <param name="NearDistance">The object's width at the start of the block</param>
            <param name="FarDistance">The object's width at the end of the block</param>
            <returns>The transformed clone</returns>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.TransformLeft(System.Double,System.Double)">
            <summary>Creates a left-handed transformed clone of this object</summary>
            <param name="NearDistance">The object's width at the start of the block</param>
            <param name="FarDistance">The object's width at the end of the block</param>
            <returns>The transformed clone</returns>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.TransformRight(System.Double,System.Double)">
            <summary>Creates a right-handed transformed clone of this object</summary>
            <param name="NearDistance">The object's width at the start of the block</param>
            <param name="FarDistance">The object's width at the end of the block</param>
            <returns>The transformed clone</returns>
        </member>
        <member name="M:OpenBveApi.Objects.UnifiedObject.ApplyTranslation(System.Double,System.Double,System.Double,System.Boolean)">
            <summary>Applies translation</summary>
            <param name="x">The X value</param>
            <param name="y">The Y value</param>
            <param name="z">The Z value</param>
            <param name="absoluteTranslation">Whether the translation is applied relative to the root matrix, or as an absolute</param>
        </member>
        <member name="T:OpenBveApi.Objects.WorldObject">
            <summary>Represents an abstract object or sound placed within the game world</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.currentHost">
            <summary>Holds a reference to the host application</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Position">
            <summary>The position vector for this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.TrackPosition">
            <summary>The track position for this object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Visible">
            <summary>Whether the object is currently visible at the player's camera position</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Direction">
            <summary>The world direction vector</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Up">
            <summary>The world up vector</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Side">
            <summary>The world side vector</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Radius">
            <summary>The radius of the object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldObject.Object">
            <summary>The actual animated object</summary>
        </member>
        <member name="M:OpenBveApi.Objects.WorldObject.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new WorldObject</summary>
        </member>
        <member name="M:OpenBveApi.Objects.WorldObject.Clone">
            <summary>Clones this object</summary>
            <returns>The new object</returns>
        </member>
        <member name="M:OpenBveApi.Objects.WorldObject.Update(OpenBveApi.Trains.AbstractTrain,System.Double,System.Boolean,System.Boolean)">
            <summary>Updates the object</summary>
            <param name="NearestTrain">The nearest train to this object</param>
            <param name="TimeElapsed">The time elapsed in milliseconds</param>
            <param name="ForceUpdate">Whether this is a forced update (e.g. Change of viewpoint) or periodic</param>
            <param name="CurrentlyVisible">Whether the object is currently visible to the player</param>
        </member>
        <member name="M:OpenBveApi.Objects.WorldObject.IsVisible(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <summary>Whether the object is currently visible</summary>
            <param name="CameraPosition">The camera's world position</param>
            <param name="BackgroundImageDistance">The distance to the background skybox from the camera position</param>
            <param name="ExtraViewingDistance">The user-selected viewing distance</param>
        </member>
        <member name="T:OpenBveApi.Objects.WorldSound">
            <summary>Represents a world sound attached to an .animated file</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.Buffer">
            <summary>The sound buffer to play</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.Source">
            <summary>The sound source for this file</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.currentPitch">
            <summary>The pitch to play the sound at</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.currentVolume">
            <summary>The volume to play the sound at it's origin</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.currentTrackPosition">
            <summary>The track position</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.Follower">
            <summary>The track follower used to hold/ move the sound</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.TrackFollowerFunction">
            <summary>The function script controlling the sound's movement along the track, or a null reference</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.VolumeFunction">
            <summary>The function script controlling the sound's volume, or a null reference</summary>
        </member>
        <member name="F:OpenBveApi.Objects.WorldSound.PitchFunction">
            <summary>The function script controlling the sound's pitch, or a null reference</summary>
        </member>
        <member name="M:OpenBveApi.Objects.WorldSound.#ctor(OpenBveApi.Hosts.HostInterface,OpenBveApi.Sounds.SoundHandle)">
            <summary>Creates a new WorldSound</summary>
        </member>
        <member name="M:OpenBveApi.Objects.WorldSound.Clone">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.WorldSound.CreateSound(OpenBveApi.Math.Vector3,System.Int32,System.Double)">
            <summary>Creates the animated object within the game world</summary>
            <param name="position">The absolute position</param>
            <param name="SectionIndex">The index of the section if placed using a SigF command</param>
            <param name="trackPosition">The absolute track position</param>
        </member>
        <member name="M:OpenBveApi.Objects.WorldSound.Update(OpenBveApi.Trains.AbstractTrain,System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Objects.WorldSound.IsVisible(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="T:OpenBveApi.Objects.ObjParsers">
            <summary>The available Wavefront Obj parsers</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjParsers.Original">
            <summary>Original parser</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjParsers.Assimp">
            <summary>C# port of Assimp</summary>
        </member>
        <member name="T:OpenBveApi.Objects.XParsers">
            <summary>The available X parsers</summary>
        </member>
        <member name="F:OpenBveApi.Objects.XParsers.Original">
            <summary>Michelle's original parser</summary>
        </member>
        <member name="F:OpenBveApi.Objects.XParsers.NewXParser">
            <summary>The new X parser</summary>
        </member>
        <member name="F:OpenBveApi.Objects.XParsers.Assimp">
            <summary>C# port of Assimp</summary>
        </member>
        <member name="T:OpenBveApi.Objects.Damping">
            <summary>Rotation damping be applied to an animated object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.NaturalFrequency">
            <summary>The natural frequency of undamped oscillations</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.NaturalTime">
            <summary>The time for one undamped oscillation</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.DampingRatio">
            <summary>The ratio to be applied</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.NaturalDampingFrequency">
            <summary>The natural frequency when damped</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.OriginalAngle">
            <summary>The starting angle</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.OriginalDerivative">
            <summary>The derivative at the starting angle</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.TargetAngle">
            <summary>The target angle</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.CurrentAngle">
            <summary>The current angle</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.CurrentValue">
            <summary>The current daming value</summary>
        </member>
        <member name="F:OpenBveApi.Objects.Damping.CurrentTimeDelta">
            <summary>The current delta time value</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Damping.#ctor(System.Double,System.Double)">
            <summary>Constructs a new damping instance</summary>
            <param name="naturalFrequency">The natural frequency</param>
            <param name="dampingRatio">The damping ratio to be applied</param>
        </member>
        <member name="M:OpenBveApi.Objects.Damping.Clone">
            <summary>Clones a damping instance</summary>
            <returns>The new damping instance</returns>
        </member>
        <member name="M:OpenBveApi.Objects.Damping.Update(System.Double,System.Double@,System.Boolean)">
            <summary>Updates this damping instance</summary>
            <param name="TimeElapsed">The time elapsed in ms</param>
            <param name="Angle">The new angle</param>
            <param name="Enable">Whether damping is to be applied</param>
        </member>
        <member name="T:OpenBveApi.Objects.GlowAttenuationMode">
            <summary>The available distance attenuation modes for glow</summary>
        </member>
        <member name="F:OpenBveApi.Objects.GlowAttenuationMode.None">
            <summary>The glow intensity remains constant</summary>
        </member>
        <member name="F:OpenBveApi.Objects.GlowAttenuationMode.DivisionExponent2">
            <summary>The glow intensity is determined via the function x² / (x² + GlowHalfDistance2), where x is the distance from the camera to the object in meters. </summary>
        </member>
        <member name="F:OpenBveApi.Objects.GlowAttenuationMode.DivisionExponent4">
            <summary>The glow intensity is determined via the function x⁴ / (x⁴ + GlowHalfDistance4), where x is the distance from the camera to the object in meters.</summary>
        </member>
        <member name="T:OpenBveApi.Objects.ObjectType">
            <summary>The different types of object</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectType.Static">
            <summary>The object is part of the static scenery. The matching ObjectListType is StaticOpaque for fully opaque faces, and DynamicAlpha for all other faces.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectType.Dynamic">
            <summary>The object is part of the animated scenery or of a train exterior. The matching ObjectListType is DynamicOpaque for fully opaque faces, and DynamicAlpha for all other faces.</summary>
        </member>
        <member name="F:OpenBveApi.Objects.ObjectType.Overlay">
            <summary>The object is part of the cab. The matching ObjectListType is OverlayOpaque for fully opaque faces, and OverlayAlpha for all other faces.</summary>
        </member>
        <member name="T:OpenBveApi.Objects.AnimatedVertex">
            <summary>Represents a vertex animated via a chain of matrices</summary>
        </member>
        <member name="F:OpenBveApi.Objects.AnimatedVertex.MatrixChain">
            <summary>The matrix chain within the object to transform this vertex by</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedVertex.#ctor(System.Double,System.Double,System.Double,System.Int32[])">
            <summary>Creates a new vertex</summary>
            <param name="x">The x-coordinate</param>
            <param name="y">The y-coordinate</param>
            <param name="z">The z-coordinate</param>
            <param name="matrixChain">An array of integers containing the matrix chain</param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedVertex.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector2,System.Int32[])">
            <summary>Creates a new vertex</summary>
            <param name="coordinates">A Vector3 containing the coordinates</param>
            <param name="textureCoordinates">A Vector2 containing the texture coordinates</param>
            <param name="matrixChain">An array of integers containing the matrix chain</param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedVertex.#ctor(OpenBveApi.Objects.Vertex,System.Int32[])">
            <summary>Creates an animated vertex from a base vertex and a matrix chain</summary>
            <param name="v">The base vertex</param>
            <param name="matrixChain">The matrix chain</param>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedVertex.Clone">
            <summary>Clones an animated vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedVertex.Equals(System.Object)">
            <summary>Tests if this vertex is equal to the supplied object</summary>
            <param name="obj">The supplied object</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.AnimatedVertex.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
        </member>
        <member name="T:OpenBveApi.Objects.ColoredVertex">
            <summary>Represents a vertex with an associated color</summary>
            <remarks>Color is applied via GL.Color3 when the vertex is painted</remarks>
        </member>
        <member name="F:OpenBveApi.Objects.ColoredVertex.Color">
            <summary>The color of this vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ColoredVertex.#ctor(System.Double,System.Double,System.Double,OpenBveApi.Colors.Color128)">
            <summary>Creates a new vertex</summary>
            <param name="x">The x-coordinate</param>
            <param name="y">The y-coordinate</param>
            <param name="z">The z-coordinate</param>
            <param name="c">The color for the vertex</param>
        </member>
        <member name="M:OpenBveApi.Objects.ColoredVertex.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector2,OpenBveApi.Colors.Color128)">
            <summary>Creates a new vertex</summary>
            <param name="coordinates">A Vector3 containing the coordinates</param>
            <param name="textureCoordinates">A Vector2 containing the texture coordinates</param>
            <param name="color">The color for the vertex</param>
        </member>
        <member name="M:OpenBveApi.Objects.ColoredVertex.#ctor(OpenBveApi.Objects.Vertex,OpenBveApi.Colors.Color128)">
            <summary>Creates a colored vertex from a base vertex and a color</summary>
            <param name="v">The base vertex</param>
            <param name="c">The color</param>
        </member>
        <member name="M:OpenBveApi.Objects.ColoredVertex.Clone">
            <summary>Clones a colored vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.ColoredVertex.Equals(System.Object)">
            <summary>Tests if this vertex is equal to the supplied object</summary>
            <param name="obj">The supplied object</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.ColoredVertex.GetHashCode">
            <summary>Returns the hashcode for this instance.</summary>
            <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
        </member>
        <member name="T:OpenBveApi.Objects.LightMappedVertex">
            <summary>A vertex with associated light-map co-ordinates</summary>
        </member>
        <member name="F:OpenBveApi.Objects.LightMappedVertex.LightMapCoordinates">
            <summary>The texture co-ordinates for the light map</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.#ctor">
            <summary>Creates a new vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.#ctor(System.Double,System.Double,System.Double)">
            <summary>Creates a new vertex</summary>
            <param name="x">The x-coordinate</param>
            <param name="y">The y-coordinate</param>
            <param name="z">The z-coordinate</param>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.#ctor(OpenBveApi.Math.Vector3)">
            <summary>Creates a new vertex</summary>
            <param name="v">A Vector3 containing the coordinates</param>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector2)">
            <summary>Creates a new vertex</summary>
            <param name="coordinates">A Vector3 containing the coordinates</param>
            <param name="textureCoordinates">A Vector2 containing the texture coordinates</param>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector2,OpenBveApi.Math.Vector2)">
            <summary>Creates a new vertex</summary>
            <param name="coordinates">A Vector3 containing the coordinates</param>
            <param name="textureCoordinates">A Vector2 containing the texture coordinates</param>
            <param name="lightMapCoordinates">A Vector2 containing the light map coordinates</param>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.#ctor(OpenBveApi.Objects.Vertex)">
            <summary>Clones a vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.Clone">
            <summary>Clones a vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.Equals(OpenBveApi.Objects.Vertex,OpenBveApi.Objects.Vertex)">
            <summary>Tests if two vertices are equal</summary>
            <param name="a">The first vertex</param>
            <param name="b">The second vertex</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.Equals(System.Object)">
            <summary>Tests if this vertex is equal to the supplied object</summary>
            <param name="obj">The supplied object</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.LightMappedVertex.GetHashCode">
            <summary>
            Returns the hashcode for this instance.
            </summary>
            <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
        </member>
        <member name="T:OpenBveApi.Objects.Vertex">
            <summary>A plain vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.#ctor">
            <summary>Creates a new vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.#ctor(System.Double,System.Double,System.Double)">
            <summary>Creates a new vertex</summary>
            <param name="x">The x-coordinate</param>
            <param name="y">The y-coordinate</param>
            <param name="z">The z-coordinate</param>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.#ctor(OpenBveApi.Math.Vector3)">
            <summary>Creates a new vertex</summary>
            <param name="v">A Vector3 containing the coordinates</param>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector2)">
            <summary>Creates a new vertex</summary>
            <param name="coordinates">A Vector3 containing the coordinates</param>
            <param name="textureCoordinates">A Vector2 containing the texture coordinates</param>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.Clone">
            <summary>Clones a vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.Equals(OpenBveApi.Objects.Vertex,OpenBveApi.Objects.Vertex)">
            <summary>Tests if two vertices are equal</summary>
            <param name="a">The first vertex</param>
            <param name="b">The second vertex</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.Equals(System.Object)">
            <summary>Tests if this vertex is equal to the supplied object</summary>
            <param name="obj">The supplied object</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.Vertex.GetHashCode">
            <summary>
            Returns the hashcode for this instance.
            </summary>
            <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
        </member>
        <member name="T:OpenBveApi.Objects.VertexTemplate">
            <summary>Holds the template for the base abstract vertex</summary>
        </member>
        <member name="F:OpenBveApi.Objects.VertexTemplate.Coordinates">
            <summary>The vertex's co-ordinates in 3D space</summary>
        </member>
        <member name="F:OpenBveApi.Objects.VertexTemplate.TextureCoordinates">
            <summary>The texture co-ordinates for the vertex</summary>
        </member>
        <member name="M:OpenBveApi.Objects.VertexTemplate.Clone">
            <summary>Clones the vertex</summary>
            <returns>The cloned vertex</returns>
        </member>
        <member name="M:OpenBveApi.Objects.VertexTemplate.Equals(System.Object)">
            <summary>Tests if this vertex template is equal to the supplied object</summary>
            <param name="obj">The supplied object</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.VertexTemplate.op_Equality(OpenBveApi.Objects.VertexTemplate,OpenBveApi.Objects.VertexTemplate)">
            <summary>Tests if two vertices are equal</summary>
            <param name="A">The first vertex</param>
            <param name="B">The second vertex</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.VertexTemplate.op_Inequality(OpenBveApi.Objects.VertexTemplate,OpenBveApi.Objects.VertexTemplate)">
            <summary>Tests if two vertices are not equal</summary>
            <param name="A">The first vertex</param>
            <param name="B">The second vertex</param>
            <returns>True if they are equal, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Objects.VertexTemplate.GetHashCode">
            <summary>
            Returns the hashcode for this instance.
            </summary>
            <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
        </member>
        <member name="T:OpenBveApi.ContentLoadingPlugin">
            <summary>Represents a plugin for loading content.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.File">
            <summary>The plugin file.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.Title">
            <summary>The plugin title.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.Texture">
            <summary>The interface to load textures as exposed by the plugin, or a null reference.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.Sound">
            <summary>The interface to load sounds as exposed by the plugin, or a null reference.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.Object">
            <summary>The interface to load objects as exposed by the plugin, or a null reference.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.Route">
            <summary>The interface to load routes as exposed by the plugin, or a null reference.</summary>
        </member>
        <member name="F:OpenBveApi.ContentLoadingPlugin.Train">
            <summary>The interface to load trains as exposed by the plugin, or a null reference</summary>
        </member>
        <member name="M:OpenBveApi.ContentLoadingPlugin.#ctor(System.String)">
            <summary>Creates a new instance of this class.</summary>
            <param name="file">The plugin file.</param>
        </member>
        <member name="M:OpenBveApi.ContentLoadingPlugin.Load(OpenBveApi.Hosts.HostInterface,OpenBveApi.FileSystem.FileSystem,OpenBveApi.BaseOptions,System.Object,System.Object)">
            <summary>Loads all interfaces this plugin supports.</summary>
        </member>
        <member name="M:OpenBveApi.ContentLoadingPlugin.Unload">
            <summary>Unloads all interfaces this plugin supports.</summary>
        </member>
        <member name="T:OpenBveApi.Resource">
            <summary>
              ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
            </summary>
        </member>
        <member name="P:OpenBveApi.Resource.ResourceManager">
            <summary>
              このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
            </summary>
        </member>
        <member name="P:OpenBveApi.Resource.Culture">
            <summary>
              すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします
              現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
            </summary>
        </member>
        <member name="P:OpenBveApi.Resource.CoreFX">
             <summary>
               The MIT License (MIT)
            
            Copyright (c) .NET Foundation and Contributors
            
            All rights reserved.
            
            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the &quot;Software&quot;), to deal
            in the Software without restriction, including without limitation the rights
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
            copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to t [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.CS_Script">
             <summary>
               The MIT License (MIT)
            
            Copyright (c) 2018 oleg-shilo
            
            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the &quot;Software&quot;), to deal
            in the Software without restriction, including without limitation the rights
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
            copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to the following conditions:
            
            The above cop [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.Cursors">
             <summary>
               Copyright (c) 2019, F81 tec200
            All rights reserved.
            
            Redistribution and use in source and binary forms, with or without
            modification, are permitted provided that the following conditions are met: 
            
            1. Redistributions of source code must retain the above copyright notice,
               this list of conditions and the following disclaimer. 
            2. Redistributions in binary form must reproduce the above copyright notice,
               this list of conditions and the following disclaimer in the documentation
               and/or other ma [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.DotNetZip">
             <summary>
               Software Licenses that apply to the DotNetZip library and tools
            
            As DotNetZip includes work derived from other projects, you are required to comply with the terms and conditions for each of them. These licenses include BSD, Apache, and zlib.
            
            To use the software, you must accept the licenses. If you do not accept the licenses, do not use the software.
            
            Original intellectual property in DotNetZip is provided under the Ms-PL:
                
                Copyright (c) 2006 - 2011 Dino Chiesa 
                Copyright (c) 2006, 200 [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.en_US">
             <summary>
               &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;
            &lt;xliff version=&quot;1.2&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2.xsd&quot; xmlns=&quot;urn:oasis:names:tc:xliff:document:1.2&quot;&gt;
            	&lt;file datatype=&quot;plaintext&quot; original=&quot;en-US.xlf&quot; source-language=&quot;en-US&quot;&gt;
            		&lt;body&gt;
            			&lt;group id=&quot;language&quot;&gt;
            				&lt;trans-unit id=&quot;name&quot;&gt;
            					&lt;source&gt;English (United States)&lt;/source&gt;
            				&lt;/trans-unit&gt;
            				&lt;trans-unit id=&quot;flag&quot;&gt;
            					&lt;source&gt;US.png&lt;/ [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.NAudio">
             <summary>
               Microsoft Public License (Ms-PL)
            
            This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
            
            1. Definitions
            
            The terms &quot;reproduce,&quot; &quot;reproduction,&quot; &quot;derivative works,&quot; and &quot;distribution&quot; have the same meaning here as under U.S. copyright law.
            
            A &quot;contribution&quot; is the original software, or any additions or changes to the software.
            
            A &quot;contributor&quot; is any person that distributes its contribution [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.NAudio_Vorbis">
             <summary>
               Copyright (c) 2015 Andrew Ward, Ms-PL
            
            Microsoft Public License (Ms-PL)
            
            This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
            
            Definitions
            The terms &quot;reproduce,&quot; &quot;reproduction,&quot; &quot;derivative works,&quot; and &quot;distribution&quot; have the same meaning here as under U.S. copyright law.
            A &quot;contribution&quot; is the original software, or any additions or changes to the software.
            A &quot;contributor&quot; is any person t [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.NLayer">
             <summary>
               MIT License
            
            Copyright (c) 2018 Mark Heath, Andrew Ward &amp; Contributors
            
            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the &quot;Software&quot;), to deal
            in the Software without restriction, including without limitation the rights
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
            copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to the following conditions [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.NVorbis">
             <summary>
               Copyright (c) 2015 Andrew Ward, Ms-PL
            
            Microsoft Public License (Ms-PL)
            
            This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
            
            Definitions
            The terms &quot;reproduce,&quot; &quot;reproduction,&quot; &quot;derivative works,&quot; and &quot;distribution&quot; have the same meaning here as under U.S. copyright law.
            A &quot;contribution&quot; is the original software, or any additions or changes to the software.
            A &quot;contributor&quot; is any person t [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.OpenTK">
             <summary>
               The Open Toolkit library license
            
            Copyright (c) 2006 - 2014 Stefanos Apostolopoulos &lt;stapostol@gmail.com&gt; for the Open Toolkit library.
            
            Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Softwar [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.Prism">
             <summary>
               The MIT License (MIT)
            
            Copyright (c) .NET Foundation
            
            All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.ReactiveExtensions">
             <summary>
               Copyright (c) .NET Foundation and Contributors
            All Rights Reserved
            
            Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you
            may not use this file except in compliance with the License. You may
            obtain a copy of the License at
            
            http://www.apache.org/licenses/LICENSE-2.0
            
            Unless required by applicable law or agreed to in writing, software
            distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
            implied. See the Lic [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.ReactiveProperty">
             <summary>
               The MIT License (MIT)
            
            Copyright (c) 2018 neuecc, xin9le, okazuki
            
            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the &quot;Software&quot;), to deal
            in the Software without restriction, including without limitation the rights
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
            copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to the following conditions:
            
             [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.SanYing_Input">
             <summary>
               SanYing Input is a cross-ported copy of the BVE5 input plugin by Rock_On, used to support the OHC-PC01
            desktop cab controller.
            
            The original BVE5 repository / source code may be found at the following address:
            https://bitbucket.org/mikangogo/sanyinginput
            
            
            The MIT License (MIT)
            
            Copyright (c) 2017 Rock_On, 2018 The openBVE Project
            
            Permission is hereby granted, free of charge, to any person obtaining a copy of
            this software and associated documentation files (the &quot;Software&quot;), to deal in
            the Sof [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.SharpCompress">
             <summary>
               The MIT License (MIT)
            
            Copyright (c) 2014  Adam Hathcock
            
            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the &quot;Software&quot;), to deal
            in the Software without restriction, including without limitation the rights
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
            copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to the following conditions:
            
            The above [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.TrainEditor2_Icons">
             <summary>
               Copyright (c) 2019, F81 tec200
            All rights reserved.
            
            Redistribution and use in source and binary forms, with or without
            modification, are permitted provided that the following conditions are met: 
            
            1. Redistributions of source code must retain the above copyright notice,
               this list of conditions and the following disclaimer. 
            2. Redistributions in binary form must reproduce the above copyright notice,
               this list of conditions and the following disclaimer in the documentation
               and/or other ma [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.Ude">
             <summary>
                                         MOZILLA PUBLIC LICENSE
                                            Version 1.1
            
                                          ---------------
            
            1. Definitions.
            
                 1.0.1. &quot;Commercial Use&quot; means distribution or otherwise making the
                 Covered Code available to a third party.
            
                 1.1. &quot;Contributor&quot; means each entity that creates or contributes to
                 the creation of Modifications.
            
                 1.2. &quot;Contributor Version&quot; means the combination of the Original
                 Code, prior Modifications used by a  [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="P:OpenBveApi.Resource.XamlBehaviorsForWPF">
             <summary>
               The MIT License (MIT)
            
            Copyright (c) 2015 Microsoft
            
            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the &quot;Software&quot;), to deal
            in the Software without restriction, including without limitation the rights
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
            copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to the following conditions:
            
            The above copy [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
             </summary>
        </member>
        <member name="T:OpenBveApi.Routes.BackgroundHandle">
            <summary>Represents a handle to an abstract background.</summary>
        </member>
        <member name="P:OpenBveApi.Routes.BackgroundHandle.BackgroundImageDistance">
            <summary>The user-selected viewing distance.</summary>
        </member>
        <member name="P:OpenBveApi.Routes.BackgroundHandle.FogDistance">
            <summary>The nominal distance at which the background is placed, in relation to the fog calculation</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundHandle.Mode">
            <summary>The current transition mode between backgrounds</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundHandle.Countdown">
            <summary>The current transition countdown</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundHandle.CurrentAlpha">
            <summary>The current transition alpha level</summary>
        </member>
        <member name="M:OpenBveApi.Routes.BackgroundHandle.UpdateBackground(System.Double,System.Double,System.Boolean)">
            <summary>Called once a frame to update the current state of the background</summary>
            <param name="SecondsSinceMidnight">The current in game time, expressed as the number of seconds since midnight on the first day</param>
            <param name="ElapsedTime">The total elapsed frame time</param>
            <param name="Target">Whether this is the target background during a transition (Affects alpha rendering)</param>
        </member>
        <member name="T:OpenBveApi.Routes.BackgroundTransitionMode">
            <summary>The different methods of transitioning between backgrounds</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundTransitionMode.None">
            <summary>No transition is performed</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundTransitionMode.FadeIn">
            <summary>The new background fades in</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundTransitionMode.FadeOut">
            <summary>The old background fades out</summary>
        </member>
        <member name="T:OpenBveApi.Routes.BackgroundObject">
            <summary>Represents a background object</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundObject.Object">
            <summary>The object used for this background (NOTE: Static objects only)</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundObject.ClipDistance">
            <summary>The clipping distance required to fully render the object</summary>
        </member>
        <member name="F:OpenBveApi.Routes.BackgroundObject.ObjectState">
            <summary>The object state</summary>
        </member>
        <member name="M:OpenBveApi.Routes.BackgroundObject.#ctor(OpenBveApi.Objects.StaticObject,System.Double,System.Boolean)">
            <summary>Creates a new background object</summary>
            <param name="staticObject">The object to use for the background</param>
            <param name="backgroundImageDistance">The user-selected viewing distance</param>
            <param name="createCylinderCaps">Whether to auto-generate cylinder caps</param>
        </member>
        <member name="M:OpenBveApi.Routes.BackgroundObject.UpdateBackground(System.Double,System.Double,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:OpenBveApi.Routes.DynamicBackground">
            <summary>Represents a dynamic background, made up of a series of static backgrounds</summary>
        </member>
        <member name="F:OpenBveApi.Routes.DynamicBackground.StaticBackgrounds">
            <summary>The array of backgrounds for this dynamic background</summary>
        </member>
        <member name="F:OpenBveApi.Routes.DynamicBackground.CurrentBackgroundIndex">
            <summary>The current background in use</summary>
        </member>
        <member name="F:OpenBveApi.Routes.DynamicBackground.PreviousBackgroundIndex">
            <summary>The previous background in use</summary>
        </member>
        <member name="P:OpenBveApi.Routes.DynamicBackground.FogDistance">
            <inheritdoc/>
        </member>
        <member name="P:OpenBveApi.Routes.DynamicBackground.BackgroundImageDistance">
            <inheritdoc/>
        </member>
        <member name="M:OpenBveApi.Routes.DynamicBackground.#ctor(OpenBveApi.Routes.StaticBackground[])">
            <summary>Creates a new dynamic background</summary>
            <param name="staticBackgrounds">The list of static backgrounds which make up the dynamic background</param>
        </member>
        <member name="M:OpenBveApi.Routes.DynamicBackground.UpdateBackground(System.Double,System.Double,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:OpenBveApi.Routes.GeneralEvent">
            <summary>The general event is the abstract event type which all events must inherit from</summary>
        </member>
        <member name="F:OpenBveApi.Routes.GeneralEvent.TrackPositionDelta">
            <summary>The delta track position that this event is placed at</summary>
        </member>
        <member name="F:OpenBveApi.Routes.GeneralEvent.DontTriggerAnymore">
            <summary>Whether this event should trigger once for the specified train, or multiple times</summary>
        </member>
        <member name="M:OpenBveApi.Routes.GeneralEvent.#ctor">
            <summary>
            Creates a new general event
            </summary>
        </member>
        <member name="M:OpenBveApi.Routes.GeneralEvent.#ctor(System.Double)">
            <summary>
            Creates a new general event
            </summary>
            <param name="trackPositionDelta">The delta track position</param>
        </member>
        <member name="M:OpenBveApi.Routes.GeneralEvent.Trigger(System.Int32,OpenBveApi.Routes.TrackFollower)">
            <summary>The unconditional event trigger function</summary>
            <param name="direction">The direction:
             1 - Forwards
            -1 - Reverse</param>
            <param name="trackFollower">The TrackFollower</param>
        </member>
        <member name="M:OpenBveApi.Routes.GeneralEvent.TryTrigger(System.Int32,OpenBveApi.Routes.TrackFollower)">
            <summary>This method is called to attempt to trigger an event</summary>
            <param name="direction">The direction:
             1 - Forwards
            -1 - Reverse</param>
            <param name="trackFollower">The TrackFollower</param>
        </member>
        <member name="M:OpenBveApi.Routes.GeneralEvent.Reset">
            <summary>Resets the event</summary>
        </member>
        <member name="T:OpenBveApi.Routes.EventTriggerType">
            <summary>The available trigger types for any event</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.None">
            <summary>This event will not be triggered</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.Camera">
            <summary>This event is triggered by the track follower for the camera</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.FrontCarFrontAxle">
            <summary>This event is triggered by the leading axle of a train</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.RearCarRearAxle">
            <summary>This event is triggered by the trailing axle of a train</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.OtherCarFrontAxle">
            <summary>This event is triggered by the front axles of every car on the train</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.OtherCarRearAxle">
            <summary>This event is triggered by the rear axles of every car on the train</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.TrainFront">
            <summary>This event is triggered by the physical front of the train</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.TrainRear">
            <summary>This event is triggered by the physical rear of the train</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.FrontBogieAxle">
            <summary>This event is triggered by the front axle of a bogie</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.RearBogieAxle">
            <summary>This event is triggered by the rear axle of a bogie</summary>
        </member>
        <member name="F:OpenBveApi.Routes.EventTriggerType.SingleCarTrain">
            <summary>This event is triggered by a single car train</summary>
        </member>
        <member name="T:OpenBveApi.Routes.LightDefinition">
            <summary>Describes the in-game lighting</summary>
        </member>
        <member name="F:OpenBveApi.Routes.LightDefinition.AmbientColor">
            <summary>The ambient lighting color</summary>
        </member>
        <member name="F:OpenBveApi.Routes.LightDefinition.DiffuseColor">
            <summary>The color of the light emitted by the sun (Directional light)</summary>
        </member>
        <member name="F:OpenBveApi.Routes.LightDefinition.LightPosition">
            <summary>The position of the sun in the sky (Directional light)</summary>
        </member>
        <member name="F:OpenBveApi.Routes.LightDefinition.Time">
            <summary>The time in seconds since midnight</summary>
        </member>
        <member name="F:OpenBveApi.Routes.LightDefinition.CabBrightness">
            <summary>The cab brightness value to be applied</summary>
        </member>
        <member name="M:OpenBveApi.Routes.LightDefinition.#ctor(OpenBveApi.Colors.Color24,OpenBveApi.Colors.Color24,OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <summary>Creates a new LightDefinition</summary>
        </member>
        <member name="T:OpenBveApi.Routes.ObjectDisposalMode">
            <summary>Controls the way in which objects are disposed by the renderer</summary>
        </member>
        <member name="F:OpenBveApi.Routes.ObjectDisposalMode.Legacy">
            <summary>Objects will disappear when the block in which their command is placed is exited via by the camera</summary>
            <remarks>Certain BVE2 / BVE4 routes use this as an animation trick</remarks>
        </member>
        <member name="F:OpenBveApi.Routes.ObjectDisposalMode.Accurate">
            <summary>The object will disappear when it's furthest vertex is passed by the camera</summary>
        </member>
        <member name="F:OpenBveApi.Routes.ObjectDisposalMode.QuadTree">
            <summary>Quad tree visibility is used based upon the camera position</summary>
        </member>
        <member name="F:OpenBveApi.Routes.ObjectDisposalMode.Mechanik">
            <summary>Tiled mode for use with Mechanik</summary>
        </member>
        <member name="T:OpenBveApi.Routes.PowerSupply">
            <summary>The available power supplies for a track element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupply.VoltageType">
            <summary>The voltage type supplied</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupply.Voltage">
            <summary>The voltage supplied</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupply.Amperage">
            <summary>The maximum amperage supplied</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupply.ContactHeight">
            <summary>The contact height</summary>
        </member>
        <member name="M:OpenBveApi.Routes.PowerSupply.#ctor(OpenBveApi.Routes.PowerSupplyVoltageTypes,System.Double,System.Double,System.Double)">
            <summary>Creates a new power supply</summary>
        </member>
        <member name="T:OpenBveApi.Routes.PowerSupplyTypes">
            <summary>The different types of power supply available</summary>
            <remarks>Stored as a bitmask on the track element</remarks>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupplyTypes.None">
            <summary>No additional power supply is provided</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupplyTypes.OverheadLine">
            <summary>Power supply is provided via the overhead line</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupplyTypes.ThirdRail">
            <summary>Power supply is provided by the third rail</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupplyTypes.FourthRail">
            <summary>Power supply is provided by the fourth rail</summary>
        </member>
        <member name="T:OpenBveApi.Routes.PowerSupplyVoltageTypes">
            <summary>The voltage types for any given conductor</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupplyVoltageTypes.AC">
            <summary>Alternating current</summary>
        </member>
        <member name="F:OpenBveApi.Routes.PowerSupplyVoltageTypes.DC">
            <summary>Direct current</summary>
        </member>
        <member name="T:OpenBveApi.Routes.QuadNode">
            <summary>Represents a quad node.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadNode.Parent">
            <summary>The parent of the quad node, or a null reference for the root node.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadNode.Rectangle">
            <summary>The bounds of the quad node in world coordinates.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadNode.BoundingRectangle">
            <summary>The smallest rectangle that encloses all child nodes and attached objects in world coordinates.</summary>
        </member>
        <member name="P:OpenBveApi.Routes.QuadNode.Center">
            <summary>Gets the center of the node</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadNode.FinalizeBoundingRectangles">
            <summary>Finalizes the bounding rectangles for this node and all its child nodes.</summary>
            <remarks>This function is used to get rid of uninitialized bounding rectangles.</remarks>
        </member>
        <member name="M:OpenBveApi.Routes.QuadNode.GetLeafNode(OpenBveApi.Math.Vector3,OpenBveApi.Routes.QuadTreeLeafNode@)">
            <summary>Gets the leaf node at the specified position</summary>
            <param name="position">The position</param>
            <param name="leaf">The leaf node</param>
            <returns>True if a valid leaf node is found, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Routes.QuadNode.CreateVisibilityLists(OpenBveApi.Routes.QuadNode,System.Double)">
            <summary>Creates the visibility lists for the node</summary>
            <param name="rootNode">The root node of the quad tree</param>
            <param name="viewingDistance">The viewing distance</param>
        </member>
        <member name="T:OpenBveApi.Routes.QuadInternalNode">
            <summary>Represents an internal grid node.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadInternalNode.Children">
            <summary>A list of four child nodes or null references.</summary>
            <remarks>The child nodes are stored in the order: near-left, near-right, far-left and far-right. Individual members may be null references.</remarks>
        </member>
        <member name="T:OpenBveApi.Routes.QuadTreeLeafNode">
            <summary>Represents an abstract leaf node.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreeLeafNode.VisibleLeafNodes">
            <summary>The list of all leaf nodes in the quad collection that are visible from within the bounding rectangle of this filler node.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreeLeafNode.GetLeafNode(OpenBveApi.Math.Vector3,OpenBveApi.Routes.QuadTreeLeafNode@)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreeLeafNode.CreateVisibilityLists(OpenBveApi.Routes.QuadNode,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreeLeafNode.CreateVisibilityList(OpenBveApi.Routes.QuadNode,System.Collections.Generic.List{OpenBveApi.Routes.QuadTreePopulatedLeafNode},System.Double)">
            <summary>Creates the visibility list for the specified leaf node.</summary>
            <param name="node">The node to potentially include in the visibility list if visible.</param>
            <param name="nodes">The list of visible leaf nodes.</param>
            <param name="viewingDistance">The viewing distance.</param>
        </member>
        <member name="T:OpenBveApi.Routes.QuadTreeUnpopulatedLeafNode">
            <summary>Represents an unpopulated leaf node.</summary>
        </member>
        <member name="T:OpenBveApi.Routes.QuadTreePopulatedLeafNode">
            <summary>Represents a populated leaf node.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreePopulatedLeafNode.Objects">
            <summary>A list of static objects attached to this quad node.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreePopulatedLeafNode.StaticObjectCount">
            <summary>The number of static objects attached to this quad node.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreePopulatedLeafNode.UpdateBoundingRectangle(OpenBveApi.Objects.ObjectState,OpenBveApi.Math.Vector3,OpenBveApi.Math.Orientation3)">
            <summary>Takes an object, its position and orientation on the quad node, and then updates the bounding rectangle accordingly.</summary>
            <param name="objectState">A reference to the object state.</param>
            <param name="quadPosition">The position of the object relative to the center of the contained quad node.</param>
            <param name="quadOrientation">The orientation of the object.</param>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreePopulatedLeafNode.LoadTextures">
            <summary>Ensures that all textures that are used by the static objects in this leaf node have been loaded.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreePopulatedLeafNode.FinalizeBoundingRectangles">
            <inheritdoc />
        </member>
        <member name="T:OpenBveApi.Routes.QuadTreeBounds">
            <summary>Represents some rectangular bounds on the grid.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreeBounds.Left">
            <summary>The left edge, i.e. the smallest x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreeBounds.Right">
            <summary>The right edge, i.e. the highest x-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreeBounds.Near">
            <summary>The near edge, i.e. the smallest z-coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreeBounds.Far">
            <summary>The far edge, i.e. the highest z-coordinate.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTreeBounds.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>Creates a new instance of this structure.</summary>
            <param name="left">The left edge, i.e. the smallest x-coordinate.</param>
            <param name="right">The right edge, i.e. the highest x-coordinate.</param>
            <param name="near">The near edge, i.e. the smallest z-coordinate.</param>
            <param name="far">The far edge, i.e. the highest z-coordinate.</param>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTreeBounds.Uninitialized">
            <summary>Represents a bounds that is invalid or has not been initialized.</summary>
        </member>
        <member name="T:OpenBveApi.Routes.QuadTree">
            <summary>Represents a quad tree.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTree.Root">
            <summary>The root node that encapsulates all other quad nodes.</summary>
        </member>
        <member name="F:OpenBveApi.Routes.QuadTree.SideLength">
            <summary>The side length of a leaf node.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTree.#ctor(System.Double)">
            <summary>Creates an empty quad with a null root node.</summary>
            <param name="sideLength">The side length of a leaf node.</param>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTree.Clear">
            <summary>Clears the quad tree</summary>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTree.Add(OpenBveApi.Objects.ObjectState,OpenBveApi.Math.Orientation3)">
            <summary>Adds a new instance of a static object to the quad.</summary>
            <param name="objectState">The reference to an object state.</param>
            <param name="orientation">The absolute world orientation of the object.</param>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTree.Initialize(System.Double)">
            <summary>Initializes the quad tree</summary>
            <param name="viewingDistance">The viewing distance.</param>
            <remarks>Call this function whenever the viewing distance changes.</remarks>
        </member>
        <member name="M:OpenBveApi.Routes.QuadTree.GetLeafNode(OpenBveApi.Math.Vector3,OpenBveApi.Routes.QuadTreeLeafNode@)">
            <summary>Gets the leaf node for a specified position.</summary>
            <param name="position">The position.</param>
            <param name="leaf">Receives the leaf node on success.</param>
            <returns>The success of the operation.</returns>
        </member>
        <member name="T:OpenBveApi.Routes.RouteInterface">
            <summary>Represents the interface for loading routes. Plugins must implement this interface if they wish to expose routes.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.RouteInterface.Load(OpenBveApi.Hosts.HostInterface,OpenBveApi.FileSystem.FileSystem,OpenBveApi.BaseOptions,System.Object)">
            <summary>Called when the plugin is loaded.</summary>
            <param name="host">The host that loaded the plugin.</param>
            <param name="fileSystem">The filesystem from the host application</param>
            <param name="Options">The options supplied by the host program</param>
            <param name="trainManagerReference">A reference to the TrainManager in the host application</param>
        </member>
        <member name="M:OpenBveApi.Routes.RouteInterface.Unload">
            <summary>Called when the plugin is unloaded.</summary>
        </member>
        <member name="M:OpenBveApi.Routes.RouteInterface.CanLoadRoute(System.String)">
            <summary>Checks whether the plugin can load the specified route.</summary>
            <param name="path">The path to the file or folder that contains the route.</param>
            <returns>Whether the plugin can load the specified sound.</returns>
        </member>
        <member name="M:OpenBveApi.Routes.RouteInterface.LoadRoute(System.String,System.Text.Encoding,System.String,System.String,System.String,System.Boolean,System.Object@)">
            <summary>Loads the specified route.</summary>
            <param name="path">The path to the file or folder that contains the route.</param>
            <param name="textEncoding">The user-selected encoding (if appropriate)</param>
            <param name="trainPath">The path to the selected train</param>
            <param name="objectPath">The base object folder path</param>
            <param name="soundPath">The base sound folder path</param>
            <param name="PreviewOnly">Whether this is a preview</param>
            <param name="route">Receives the route.</param>
            <returns>Whether loading the route was successful.</returns>
        </member>
        <member name="F:OpenBveApi.Routes.RouteInterface.IsLoading">
            <summary>Holds whether loading is currently in progress</summary>
        </member>
        <member name="F:OpenBveApi.Routes.RouteInterface.LastException">
            <summary>The last exception encountered by the plugin</summary>
        </member>
        <member name="F:OpenBveApi.Routes.RouteInterface.Cancel">
            <summary>Set if loading is to be cancelled</summary>
        </member>
        <member name="F:OpenBveApi.Routes.RouteInterface.CurrentProgress">
            <summary>Holds the current loading progress</summary>
        </member>
        <member name="T:OpenBveApi.Routes.StaticBackground">
            <summary>Represents a static background, using the default viewing frustum</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.Texture">
            <summary>The background texture</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.Repetition">
            <summary>The number of times the texture is repeated around the viewing frustum</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.KeepAspectRatio">
            <summary>Whether the texture's aspect ratio should be maintained</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.TransitionTime">
            <summary>The time taken to transition to this background</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.Time">
            <summary> The time at which this background should be displayed (Expressed as the number of seconds since midnight)</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.VAO">
            <summary>If using GL3.0, the OpenGL/OpenTK VAO for the background</summary>
        </member>
        <member name="F:OpenBveApi.Routes.StaticBackground.DisplayList">
            <summary>If using GL1.2, the index of the display list</summary>
        </member>
        <member name="M:OpenBveApi.Routes.StaticBackground.#ctor(OpenBveApi.Textures.Texture,System.Double,System.Boolean,System.Double)">
            <summary>Creates a new static background, using the default 0.8s fade-in time</summary>
            <param name="Texture">The texture to apply</param>
            <param name="Repetition">The number of times the texture should be repeated around the viewing frustum</param>
            <param name="KeepAspectRatio">Whether the aspect ratio of the texture should be preserved</param>
            <param name="Distance">The viewing distance</param>
        </member>
        <member name="M:OpenBveApi.Routes.StaticBackground.#ctor(OpenBveApi.Textures.Texture,System.Double,System.Boolean,System.Double,OpenBveApi.Routes.BackgroundTransitionMode)">
            <summary>Creates a new static background</summary>
            <param name="Texture">The texture to apply</param>
            <param name="Repetition">The number of times the texture should be repeated around the viewing frustum</param>
            <param name="KeepAspectRatio">Whether the aspect ratio of the texture should be preserved</param>
            <param name="transitionTime">The time taken in seconds for the fade-in transition to occur</param>
            <param name="Mode">The transition mode</param>
        </member>
        <member name="M:OpenBveApi.Routes.StaticBackground.#ctor(OpenBveApi.Textures.Texture,System.Double,System.Boolean,System.Double,OpenBveApi.Routes.BackgroundTransitionMode,System.Double)">
            <summary>Creates a new static background</summary>
            <param name="Texture">The texture to apply</param>
            <param name="Repetition">The number of times the texture should be repeated around the viewing frustum</param>
            <param name="KeepAspectRatio">Whether the aspect ratio of the texture should be preserved</param>
            <param name="transitionTime">The time taken in seconds for the fade-in transition to occur</param>
            <param name="Mode">The transition mode</param>
            <param name="Time">The time at which this background is to be displayed, expressed as the number of seconds since midnight</param>
        </member>
        <member name="M:OpenBveApi.Routes.StaticBackground.UpdateBackground(System.Double,System.Double,System.Boolean)">
            <summary>Updates the static background</summary>
            <param name="secondsSinceMidnight">The current in-game time</param>
            <param name="elapsedTime">The elapsed time since the last call to this function</param>
            <param name="target">Whether this is the target background or the current background when applying fading</param>
        </member>
        <member name="T:OpenBveApi.Routes.Track">
            <summary>A track (route) is made up of an array of track elements (cells)</summary>
        </member>
        <member name="F:OpenBveApi.Routes.Track.Elements">
            <summary>The elements array</summary>
        </member>
        <member name="F:OpenBveApi.Routes.Track.RailGauge">
            <summary>The rail gauge for this track</summary>
        </member>
        <member name="F:OpenBveApi.Routes.Track.Direction">
            <summary>The default direction of travel on this track</summary>
        </member>
        <member name="F:OpenBveApi.Routes.Track.Name">
            <summary>The textual name of the track for display purposes</summary>
        </member>
        <member name="M:OpenBveApi.Routes.Track.#ctor(System.String)">
            <summary>Creates a new track</summary>
        </member>
        <member name="M:OpenBveApi.Routes.Track.GetInaccuracies(System.Double,System.Double,System.Double@,System.Double@,System.Double@)">
            <summary>Gets the inaccuracy (Gauge spread and track bounce) for a given track position and routefile inaccuracy value</summary>
            <param name="position">The track position</param>
            <param name="inaccuracy">The openBVE inaccuracy value</param>
            <param name="x">The X (horizontal) co-ordinate to update</param>
            <param name="y">The Y (vertical) co-ordinate to update</param>
            <param name="c">???</param>
        </member>
        <member name="M:OpenBveApi.Routes.Track.ComputeCantTangents">
            <summary>Computes the cant tangents for all elements</summary>
        </member>
        <member name="M:OpenBveApi.Routes.Track.SmoothTurns(System.Int32,OpenBveApi.Hosts.HostInterface)">
            <summary>Smooths all curves / turns</summary>
        </member>
        <member name="T:OpenBveApi.Routes.TrackDirection">
            <summary>The default direction of travel on a track</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackDirection.Reverse">
            <summary>The track position counts downwards towards zero</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackDirection.Unknown">
            <summary>Unknown</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackDirection.Forwards">
            <summary>The track position counts up from zero</summary>
        </member>
        <member name="T:OpenBveApi.Routes.TrackElement">
            <summary>Defines a single track element (cell)</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.InvalidElement">
            <summary>Whether the element is invalid</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.StartingTrackPosition">
            <summary>The starting linear track position of this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.CurveRadius">
            <summary>The curve radius applying to this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.CurveCant">
            <summary>The curve cant applying to this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.CurveCantTangent">
            <summary>The tangent value applied to the curve due to cant</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.AdhesionMultiplier">
            <summary>The adhesion multiplier applying to this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.RainIntensity">
            <summary>The rain intensity applying to this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.SnowIntensity">
            <summary>The snow intensity applying to this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.CsvRwAccuracyLevel">
            <summary>The accuracy level of this element (Affects cab sway etc) </summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.Pitch">
            <summary>The pitch of this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.WorldPosition">
            <summary>The absolute world position</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.WorldDirection">
            <summary>The direction vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.WorldUp">
            <summary>The up vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.WorldSide">
            <summary>The side vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.Events">
            <summary>An array containing all events attached to this element</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.IsDriveable">
            <summary>Whether the rail is driveable</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.ContainsSwitch">
            <summary>Whether the element contains a switch</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackElement.PowerSupplies">
            <summary>Holds the properties for all available power supplies</summary>
        </member>
        <member name="M:OpenBveApi.Routes.TrackElement.#ctor(System.Double)">
            <summary>Creates a new track element</summary>
            <param name="startingTrackPosition">The starting position (relative to zero)</param>
        </member>
        <member name="T:OpenBveApi.Routes.TrackFollower">
            <summary>A Track Follower follows a track</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.LastTrackElement">
            <summary>The last track element the follower entered</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.TrackPosition">
            <summary>The track position</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.WorldPosition">
            <summary>The world position vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.WorldDirection">
            <summary>The world Direction vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.WorldUp">
            <summary>The world Up vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.WorldSide">
            <summary>The world Side vector</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.Pitch">
            <summary>The pitch at the current location</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.CurveRadius">
            <summary>The curve radius at the current location</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.CurveCant">
            <summary>The curve cant at the current location</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.Odometer">
            <summary>The distance the follower has travelled</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.CantDueToInaccuracy">
            <summary>The adjusted cant value due to the Route.Inaccuracy value</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.AdhesionMultiplier">
            <summary>The adhesion multiplier at the current location</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.RainIntensity">
            <summary>The rain intensity at the current location</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.SnowIntensity">
            <summary>The rain intensity at the current location</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.TriggerType">
            <summary>The event types to be triggered</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.Train">
            <summary>The train the follower is attached to, or a null reference</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.Car">
            <summary>The car the follower is attached to, or a null reference</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.TrackIndex">
            <summary>The track index the follower is currently following</summary>
        </member>
        <member name="F:OpenBveApi.Routes.TrackFollower.StationIndex">
            <summary>The station index at the current location</summary>
        </member>
        <member name="P:OpenBveApi.Routes.TrackFollower.AvailablePowerSupplies">
            <summary>Returns the available power supplies at this track followers location</summary>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.Clone">
            <summary>Clones the TrackFollower</summary>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.#ctor(OpenBveApi.Hosts.HostInterface,OpenBveApi.Trains.AbstractTrain,OpenBveApi.Trains.AbstractCar)">
            <summary>Creates a new TrackFollower</summary>
        </member>
        <member name="P:OpenBveApi.Routes.TrackFollower.RailGauge">
            <summary>Gets the rail gauge for the track this is following</summary>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.UpdateWorldCoordinates(System.Boolean)">
            <summary>Updates the World Coordinates</summary>
            <param name="addTrackInaccuracy"></param>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.UpdateRelative(System.Double,System.Boolean,System.Boolean)">
            <summary>Call this method to update a single track follower on a relative basis</summary>
            <param name="relativeTrackPosition">The new absolute track position of the follower</param>
            <param name="updateWorldCoordinates">Whether to update the world co-ordinates</param>
            <param name="addTrackInaccuracy">Whether to add track inaccuracy</param>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.UpdateAbsolute(System.Double,System.Boolean,System.Boolean)">
            <summary>Call this method to update a single track follower on an absolute basis</summary>
            <param name="newTrackPosition">The new absolute track position of the follower</param>
            <param name="updateWorldCoordinates">Whether to update the world co-ordinates</param>
            <param name="addTrackInaccuracy">Whether to add track inaccuracy</param>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.EnterStation(System.Int32,System.Int32)">
            <summary>Called when a follower enters a station</summary>
            <param name="stationIndex">The index of the station</param>
            <param name="direction">The direction of travel</param>
        </member>
        <member name="M:OpenBveApi.Routes.TrackFollower.LeaveStation(System.Int32,System.Int32)">
            <summary>Called when a follower leaves a station</summary>
            <param name="stationIndex">The index of the station</param>
            <param name="direction">The direction of travel</param>
        </member>
        <member name="T:OpenBveApi.Runtime.ElapseProxy">
            <summary>Represents Elapse data passed to a plugin proxy</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseProxy.Data">
            <summary>The elapse data being passed</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseProxy.Panel">
            <summary>The panel array being passed</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseProxy.Sound">
            <summary>The sound handle array being passed</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.ElapseProxy.#ctor(OpenBveApi.Runtime.ElapseData,System.Int32[],System.Int32[])">
            <summary>Creates a new ElapseProxy from an ElapseData</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.AIData">
            <summary>Represents AI data.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIData.MyHandles">
            <summary>The driver handles.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIData.MyResponse">
            <summary>The AI response.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIData.TimeElapsed">
            <summary>The elapsed time</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.AIData.#ctor(OpenBveApi.Runtime.Handles)">
            <summary>Creates a new instance of this class.</summary>
            <param name="handles">The driver handles.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.AIData.#ctor(OpenBveApi.Runtime.Handles,System.Double)">
            <summary>Creates a new instance of this class.</summary>
            <param name="handles">The driver handles.</param>
            <param name="timeElapsed">The elapsed time</param>
        </member>
        <member name="P:OpenBveApi.Runtime.AIData.Handles">
            <summary>Gets or sets the driver handles.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.AIData.Response">
            <summary>Gets or sets the AI response.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.AIResponse">
            <summary>Represents responses by the AI.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIResponse.None">
            <summary>No action was performed by the plugin.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIResponse.Short">
            <summary>The action performed took a short time.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIResponse.Medium">
            <summary>The action performed took an average amount of time.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AIResponse.Long">
            <summary>The action performed took a long time.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.AISupport">
            <summary>Represents to which extent the plugin supports the AI.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AISupport.None">
            <summary>The plugin does not support the AI. Calls to PerformAI will not be made. Non-player trains will not use the plugin.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AISupport.Basic">
            <summary>The plugin complements the built-in AI by performing only functions specific to the plugin.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.AISupport.Program">
            <summary>The host program contains code to perform the AI functionality for this plugin</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.BeaconData">
            <summary>Represents data transmitted by a beacon.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.BeaconData.MyType">
            <summary>The type of beacon.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.BeaconData.MyOptional">
            <summary>Optional data the beacon transmits.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.BeaconData.MySignal">
            <summary>The section the beacon is attached to.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.BeaconData.Type">
            <summary>Gets the type of beacon.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.BeaconData.Optional">
            <summary>Gets optional data the beacon transmits.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.BeaconData.Signal">
            <summary>Gets the section the beacon is attached to.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.BeaconData.#ctor(System.Int32,System.Int32,OpenBveApi.Runtime.SignalData)">
            <summary>Creates a new instance of this class.</summary>
            <param name="type">The type of beacon.</param>
            <param name="optional">Optional data the beacon transmits.</param>
            <param name="signal">The section the beacon is attached to.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.BrakeTypes">
            <summary>Represents the type of brake the train uses.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.BrakeTypes.ElectromagneticStraightAirBrake">
            <summary>The train uses the electromagnetic straight air brake. The numerical value of this constant is 0.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.BrakeTypes.ElectricCommandBrake">
            <summary>The train uses the analog/digital electro-pneumatic air brake without a brake pipe (electric command brake). The numerical value of this constant is 1.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.BrakeTypes.AutomaticAirBrake">
            <summary>The train uses the automatic air brake with partial release. The numerical value of this constant is 2.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.CameraViewMode">
            <summary>Represents the available camera view modes.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.NotDefined">
            <summary>Unknown</summary>
            <remarks>Used for bitwise operations</remarks>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.Interior">
            <summary>The interior of a 2D cab</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.InteriorLookAhead">
            <summary>The interior of a 3D cab</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.Exterior">
            <summary>An exterior camera attached to a train</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.Track">
            <summary>A camera attached to the track</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.FlyBy">
            <summary>A fly-by camera attached to a point on the track</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.CameraViewMode.FlyByZooming">
            <summary>A fly-by zooming camera attached to a point on the track</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.DoorInterlockStates">
            <summary>Represents the states of the door interlock.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorInterlockStates.Unlocked">
            <summary>The train doors are fully unlocked.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorInterlockStates.Left">
            <summary>The train doors are unlocked only on the left side.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorInterlockStates.Right">
            <summary>The train doors are unlocked only on the right side.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorInterlockStates.Locked">
            <summary>The train doors are fully locked.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.DoorStates">
            <summary>Represents the state of the doors.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorStates.None">
            <summary>No door is open.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorStates.Left">
            <summary>The left doors are open.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorStates.Right">
            <summary>The right doors are open.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.DoorStates.Both">
            <summary>All doors are open.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.ElapseData">
            <summary>Represents data given to the plugin in the Elapse call.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyVehicle">
            <summary>The state of the train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyPrecedingVehicle">
            <summary>The state of the preceding train, or a null reference if there is no preceding train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyHandles">
            <summary>The virtual handles.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyDoorInterlockState">
            <summary>The state of the door interlock.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyTotalTime">
            <summary>The current absolute time.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyElapsedTime">
            <summary>The elapsed time since the last call to Elapse.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyDebugMessage">
            <summary>The debug message the plugin wants the host application to display.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyDisableTimeAcceleration">
            <summary>Whether the plugin requests that time acceleration is disabled.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyStations">
            <summary>Stores the list of current stations.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyCameraViewMode">
            <summary>The current camera view mode.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyLanguageCode">
            <summary>The current interface language code.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.CurrentDestination">
            <summary>The current destination code</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyHeadlightState">
            <summary>The current headlights state</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.ElapseData.MyBlockingInput">
            <summary>Whether input from the host application is being blocked</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.ElapseData.#ctor(OpenBveApi.Runtime.VehicleState,OpenBveApi.Runtime.PrecedingVehicleState,OpenBveApi.Runtime.Handles,OpenBveApi.Runtime.DoorInterlockStates,System.Int32,OpenBveApi.Runtime.Time,OpenBveApi.Runtime.Time,System.Collections.Generic.List{OpenBveApi.Runtime.Station},OpenBveApi.Runtime.CameraViewMode,System.String,System.Int32)">
            <summary>Creates a new instance of this class.</summary>
            <param name="vehicle">The state of the train.</param>
            <param name="precedingVehicle">The state of the preceding train, or a null reference if there is no preceding train.</param>
            <param name="handles">The virtual handles.</param>
            <param name="doorinterlock">Whether the door interlock is currently enabled</param>
            <param name="headlightState">The headlight state</param>
            <param name="totalTime">The current absolute time.</param>
            <param name="elapsedTime">The elapsed time since the last call to Elapse.</param>
            <param name="stations">The current route's list of stations.</param>
            <param name="cameraView">The current camera view mode</param>
            <param name="languageCode">The current language code</param>
            <param name="destination">The current destination</param>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.Vehicle">
            <summary>Gets the state of the train.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.PrecedingVehicle">
            <summary>Gets the state of the preceding train, or a null reference if there is no preceding train.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.Handles">
            <summary>Gets or sets the virtual handles.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.DoorInterlockState">
            <summary>Gets or sets the state of the door lock.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.TotalTime">
            <summary>Gets the absolute in-game time.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.ElapsedTime">
            <summary>Gets the time that elapsed since the last call to Elapse.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.DebugMessage">
            <summary>Gets or sets the debug message the plugin wants the host application to display.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.DisableTimeAcceleration">
            <summary>Gets or sets the disable time acceleration bool.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.Stations">
            <summary>Returns the list of stations in the current route.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.CameraViewMode">
            <summary>Gets the current camera view mode.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.CurrentLanguageCode">
            <summary>Gets the current user interface language code.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.Destination">
            <summary>Gets the destination variable as set by the plugin</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.HeadlightState">
            <summary>Gets the headlight state variable as set by the plugin</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.ElapseData.BlockingInput">
            <summary>Gets the input blocking state as set by the plugin</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.Handles">
            <summary>Represents the handles of the cab.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Handles.MyReverser">
            <summary>The reverser position.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Handles.MyPowerNotch">
            <summary>The power notch.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Handles.MyBrakeNotch">
            <summary>The brake notch.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Handles.MyLocoBrakeNotch">
            <summary>The loco brake notch.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Handles.MyConstSpeed">
            <summary>Whether the const speed system is enabled.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Handles.MyHoldBrake">
            <summary>Whether the hold brake system is enabled.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Handles.Reverser">
            <summary>Gets or sets the reverser position.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Handles.PowerNotch">
            <summary>Gets or sets the power notch.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Handles.BrakeNotch">
            <summary>Gets or sets the brake notch.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Handles.LocoBrakeNotch">
            <summary>Gets or sets the brake notch.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Handles.ConstSpeed">
            <summary>Gets or sets whether the const speed system is enabled.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Handles.HoldBrake">
            <summary>Gets or sets whether the hold brake system is enabled.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.Handles.#ctor(System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>Creates a new instance of this class.</summary>
            <param name="reverser">The current reverser position.</param>
            <param name="powerNotch">The current power notch.</param>
            <param name="brakeNotch">The current brake notch.</param>
            <param name="constSpeed">Whether the const speed system is enabled.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.Handles.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>Creates a new instance of this class.</summary>
            <param name="reverser">The current reverser position.</param>
            <param name="powerNotch">The current power notch.</param>
            <param name="brakeNotch">The current brake notch.</param>
            /// <param name="locoBrakeNotch">The current loco brake notch.</param>
            <param name="constSpeed">Whether the const speed system is enabled.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.Handles.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>Creates a new instance of this class.</summary>
            <param name="reverser">The current reverser position.</param>
            <param name="powerNotch">The current power notch.</param>
            <param name="brakeNotch">The current brake notch.</param>
            /// <param name="locoBrakeNotch">The current loco brake notch.</param>
            <param name="constSpeed">Whether the const speed system is enabled.</param>
            <param name="holdBrake">Whether the hold brake system is enabled</param>
        </member>
        <member name="T:OpenBveApi.Runtime.HornTypes">
            <summary>Represents the type of horn.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.HornTypes.Primary">
            <summary>The primary horn. The numerical value of this constant is 0.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.HornTypes.Secondary">
            <summary>The secondary horn. The numerical value of this constant is 1.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.HornTypes.Music">
            <summary>The music horn. The numerical value of this constant is 2.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.InitializationModes">
            <summary>Represents the mode in which the plugin should initialize.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.InitializationModes.OnService">
            <summary>The safety system should be enabled. The train has its service brakes applied. The numerical value of this constant is -1.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.InitializationModes.OnEmergency">
            <summary>The safety system should be enabled. The train has its emergency brakes applied. The numerical value of this constant is 0.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.InitializationModes.OffEmergency">
            <summary>The safety system should be disabled. The train has its emergency brakes applied. The numerical value of this constant is 1.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.LoadProperties">
            <summary>Represents properties supplied to the plugin on loading.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyPluginFolder">
            <summary>The absolute path to the plugin folder.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyTrainFolder">
            <summary>The absolute path to the train folder.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyPanel">
            <summary>The array of panel variables.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyPlaySound">
            <summary>The callback function for playing sounds.</summary>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyPlayCarSound">
            <summary>The callback function for playing car-based  sounds.</summary>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyPlayMultipleCarSound">
            <summary>The callback function for playing car-based  sounds.</summary>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyAddInterfaceMessage">
            <summary>The callback function for adding interface messages.</summary>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyAddScore">
            <summary>The callback function for adding or subtracting scores.</summary>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyOpenDoors">
            <summary>The callback function for opening the train doors.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyCloseDoors">
            <summary>The callback function for closing the train doors.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyAISupport">
            <summary>The extent to which the plugin supports the AI.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.LoadProperties.MyFailureReason">
            <summary>The reason why the plugin failed loading.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.PluginFolder">
            <summary>Gets the absolute path to the plugin folder.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.TrainFolder">
            <summary>Gets the absolute path to the train folder.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.Panel">
            <summary>Gets or sets the array of panel variables.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.PlaySound">
            <summary>Gets the callback function for playing sounds.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.PlayCarSound">
            <summary>Gets the callback function for playing sounds.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.PlayMultipleCarSound">
            <summary>Gets the callback function for playing sounds.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.OpenDoors">
            <summary>Gets the callback function for opening the train doors</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.CloseDoors">
            <summary>Gets the callback function for closing the train doors</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.AddMessage">
            <summary>Gets the callback function for adding interface messages.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.AddScore">
            <summary>Gets the callback function for adding interface messages.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.AISupport">
            <summary>Gets or sets the extent to which the plugin supports the AI.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.LoadProperties.FailureReason">
            <summary>Gets or sets the reason why the plugin failed loading.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.LoadProperties.#ctor(System.String,System.String,OpenBveApi.Runtime.PlaySoundDelegate,OpenBveApi.Runtime.PlayCarSoundDelegate,OpenBveApi.Runtime.AddInterfaceMessageDelegate,OpenBveApi.Runtime.AddScoreDelegate)">
            <summary>Creates a new instance of this class.</summary>
            <param name="pluginFolder">The absolute path to the plugin folder.</param>
            <param name="trainFolder">The absolute path to the train folder.</param>
            <param name="playSound">The callback function for playing sounds.</param>
            <param name="playCarSound">The callback function for playing car-based sounds.</param>
            <param name="addMessage">The callback function for adding interface messages.</param>
            <param name="addScore">The callback function for adding scores.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.LoadProperties.#ctor(System.String,System.String,OpenBveApi.Runtime.PlaySoundDelegate,OpenBveApi.Runtime.PlayCarSoundDelegate,OpenBveApi.Runtime.AddInterfaceMessageDelegate,OpenBveApi.Runtime.AddScoreDelegate,OpenBveApi.Runtime.OpenDoorsDelegate,OpenBveApi.Runtime.CloseDoorsDelegate)">
            <summary>Creates a new instance of this class.</summary>
            <param name="pluginFolder">The absolute path to the plugin folder.</param>
            <param name="trainFolder">The absolute path to the train folder.</param>
            <param name="playSound">The callback function for playing sounds.</param>
            <param name="playCarSound">The callback function for playing car-based sounds.</param>
            <param name="addMessage">The callback function for adding interface messages.</param>
            <param name="addScore">The callback function for adding scores.</param>
            <param name="openDoors">The callback function for opening the train doors</param>
            <param name="closeDoors">The callback function for closing the train doors</param>
        </member>
        <member name="M:OpenBveApi.Runtime.LoadProperties.#ctor(System.String,System.String,OpenBveApi.Runtime.PlaySoundDelegate,OpenBveApi.Runtime.PlayCarSoundDelegate,OpenBveApi.Runtime.PlayMultipleCarSoundDelegate,OpenBveApi.Runtime.AddInterfaceMessageDelegate,OpenBveApi.Runtime.AddScoreDelegate,OpenBveApi.Runtime.OpenDoorsDelegate,OpenBveApi.Runtime.CloseDoorsDelegate)">
            <summary>Creates a new instance of this class.</summary>
            <param name="pluginFolder">The absolute path to the plugin folder.</param>
            <param name="trainFolder">The absolute path to the train folder.</param>
            <param name="playSound">The callback function for playing sounds.</param>
            <param name="playCarSound">The callback function for playing car-based sounds.</param>
            <param name="playMultiCarSound">The callback function for playing a sound on multiple cars</param>
            <param name="addMessage">The callback function for adding interface messages.</param>
            <param name="addScore">The callback function for adding scores.</param>
            <param name="openDoors">The callback function for opening the train doors</param>
            <param name="closeDoors">The callback function for closing the train doors</param>
        </member>
        <member name="T:OpenBveApi.Runtime.PrecedingVehicleState">
            <summary>Represents the current state of the preceding train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.PrecedingVehicleState.MyLocation">
            <summary>The location of the back of the preceding train, in meters.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.PrecedingVehicleState.MyDistance">
            <summary>The distance from the front of the current train to the back of the preceding train, in meters.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.PrecedingVehicleState.MySpeed">
            <summary>The current speed of the preceding train.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.PrecedingVehicleState.Location">
            <summary>Gets the location of the back of the preceding train, in meters.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.PrecedingVehicleState.Distance">
            <summary>Gets the distance from the front of the current train to the back of the preceding train, in meters.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.PrecedingVehicleState.Speed">
            <summary>Gets the speed of the preceding train.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.PrecedingVehicleState.#ctor(System.Double,System.Double,OpenBveApi.Runtime.Speed)">
            <summary>Creates a new instance of this class.</summary>
            <param name="location">Gets the location of the back of the preceding train, in meters.</param>
            <param name="distance">The distance from the front of the current train to the back of the preceding train, in meters.</param>
            <param name="speed">Gets the speed of the preceding train.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.SignalData">
            <summary>Represents information about a signal or section.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.SignalData.MyAspect">
            <summary>The aspect of the signal or section.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.SignalData.MyDistance">
            <summary>The underlying section. Possible values are 0 for the current section, 1 for the upcoming section, or higher values for sections further ahead.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.SignalData.Aspect">
            <summary>Gets the aspect of the signal or section.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.SignalData.Distance">
            <summary>Gets the distance to the signal or section.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.SignalData.#ctor(System.Int32,System.Double)">
            <summary>Creates a new instance of this class.</summary>
            <param name="aspect">The aspect of the signal or section.</param>
            <param name="distance">The distance to the signal or section.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.SoundHandle">
            <summary>Represents the handle to a sound.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.SoundHandle.MyValid">
            <summary>Whether the handle to the sound is valid.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.SoundHandle.MyVolume">
            <summary>The volume. A value of 1.0 represents nominal volume.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.SoundHandle.MyPitch">
            <summary>The pitch. A value of 1.0 represents nominal pitch.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.SoundHandle.Playing">
            <summary>Gets whether the sound is still playing. Once this returns false, the sound handle is invalid.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.SoundHandle.Stopped">
            <summary>Gets whether the sound has stopped. Once this returns true, the sound handle is invalid.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.SoundHandle.Volume">
            <summary>Gets or sets the volume. A value of 1.0 represents nominal volume.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.SoundHandle.Pitch">
            <summary>Gets or sets the pitch. A value of 1.0 represents nominal pitch.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.SoundHandle.Stop">
            <summary>Stops the sound and invalidates the handle.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.Speed">
            <summary>Represents a speed.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Speed.MyValue">
            <summary>The speed in meters per second.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Speed.MetersPerSecond">
            <summary>Gets the speed in meters per second.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Speed.KilometersPerHour">
            <summary>Gets the speed in kilometers per hour.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Speed.MilesPerHour">
            <summary>Gets the speed in miles per hour.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.Speed.#ctor(System.Double)">
            <summary>Creates a new instance of this class.</summary>
            <param name="value">The speed in meters per second.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.Time">
            <summary>Represents a time.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Time.MyValue">
            <summary>The time in seconds.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Time.Seconds">
            <summary>Gets the time in seconds.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Time.Milliseconds">
            <summary>Gets the time in milliseconds.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.Time.#ctor(System.Double)">
            <summary>Creates a new instance of this class.</summary>
            <param name="value">The time in seconds.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.VehicleSpecs">
            <summary>Represents the specification of the train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyPowerNotches">
            <summary>The number of power notches the train has.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyBrakeType">
            <summary>The type of brake the train uses.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyHasHoldBrake">
            <summary>Whether the train has a hold brake.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyHasLocoBrake">
            <summary>Whether the train has a hold brake.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyBrakeNotches">
            <summary>The number of brake notches the train has, including the hold brake, but excluding the emergency brake.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyCars">
            <summary>The number of cars the train has.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleSpecs.MyHeadlightStates">
            <summary>The number of headlight states the train has.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.PowerNotches">
            <summary>Gets the number of power notches the train has.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.BrakeType">
            <summary>Gets the type of brake the train uses.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.BrakeNotches">
            <summary>Gets the number of brake notches the train has, including the hold brake, but excluding the emergency brake.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.HasHoldBrake">
            <summary>Gets whether the train has a hold brake.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.HasLocoBrake">
            <summary>Gets whether the train has a hold brake.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.AtsNotch">
            <summary>Gets the index of the brake notch that corresponds to B1 or LAP.</summary>
            <remarks>For trains without a hold brake, this returns 1. For trains with a hold brake, this returns 2.</remarks>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.B67Notch">
            <summary>Gets the index of the brake notch that corresponds to 70% of the available brake notches.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.Cars">
            <summary>Gets the number of cars the train has.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleSpecs.HeadlightStates">
            <summary>Gets the number of headlight states the train has.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleSpecs.#ctor(System.Int32,OpenBveApi.Runtime.BrakeTypes,System.Int32,System.Boolean,System.Int32)">
            <summary>Creates a new instance of this class.</summary>
            <param name="powerNotches">The number of power notches the train has.</param>
            <param name="brakeType">The type of brake the train uses.</param>
            <param name="brakeNotches">The number of brake notches the train has, including the hold brake, but excluding the emergency brake.</param>
            <param name="hasHoldBrake">Whether the train has a hold brake.</param>
            <param name="cars">The number of cars the train has.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleSpecs.#ctor(System.Int32,OpenBveApi.Runtime.BrakeTypes,System.Int32,System.Boolean,System.Boolean,System.Int32)">
            <summary>Creates a new instance of this class.</summary>
            <param name="powerNotches">The number of power notches the train has.</param>
            <param name="brakeType">The type of brake the train uses.</param>
            <param name="brakeNotches">The number of brake notches the train has, including the hold brake, but excluding the emergency brake.</param>
            <param name="hasHoldBrake">Whether the train has a hold brake.</param>
            <param name="hasLocoBrake">Whether the train has a loco brake.</param>
            <param name="cars">The number of cars the train has.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleSpecs.#ctor(System.Int32,OpenBveApi.Runtime.BrakeTypes,System.Int32,System.Boolean,System.Boolean,System.Int32,System.Int32)">
            <summary>Creates a new instance of this class.</summary>
            <param name="powerNotches">The number of power notches the train has.</param>
            <param name="brakeType">The type of brake the train uses.</param>
            <param name="brakeNotches">The number of brake notches the train has, including the hold brake, but excluding the emergency brake.</param>
            <param name="hasHoldBrake">Whether the train has a hold brake.</param>
            <param name="hasLocoBrake">Whether the train has a loco brake.</param>
            <param name="cars">The number of cars the train has.</param>
            <param name="headlightStates">The number of headlight states the train has</param>
        </member>
        <member name="T:OpenBveApi.Runtime.VehicleState">
            <summary>Represents the current state of the train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MyLocation">
            <summary>The location of the front of the train, in meters.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MySpeed">
            <summary>The speed of the train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MyBcPressure">
            <summary>The pressure in the brake cylinder, in pascal.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MyMrPressure">
            <summary>The pressure in the main reservoir, in pascal.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MyErPressure">
            <summary>The pressure in the emergency reservoir, in pascal.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MyBpPressure">
            <summary>The pressure in the brake pipe, in pascal.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VehicleState.MySapPressure">
            <summary>The pressure in the straight air pipe, in pascal.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.Location">
            <summary>Gets the location of the front of the train, in meters.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.Speed">
            <summary>Gets the speed of the train.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.BcPressure">
            <summary>Gets the pressure in the brake cylinder, in pascal.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.MrPressure">
            <summary>Gets the pressure in the main reservoir, in pascal.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.ErPressure">
            <summary>Gets the pressure in the emergency reservoir, in pascal.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.BpPressure">
            <summary>Gets the pressure in the brake pipe, in pascal.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.SapPressure">
            <summary>Gets the pressure in the straight air pipe, in pascal.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.Radius">
            <summary>Gets the curve radius at the front axle of the driver's car in m.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.Cant">
            <summary>Gets the curve cant at the front axle of the driver's car in mm.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.Pitch">
            <summary>Gets the track pitch value at the front axle of the driver's car.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.RainIntensity">
            <summary>Gets the rain intensity value at the front axle of the driver's car.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.Adhesion">
            <summary>Gets the adhesion value at the front axle of the driver's car.</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.VehicleState.WheelSlip">
            <summary>Gets whether the driver's car is currently experiencing wheelslip.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleState.#ctor(System.Double,OpenBveApi.Runtime.Speed,System.Double,System.Double,System.Double,System.Double,System.Double,System.Boolean,OpenBveApi.Routes.TrackFollower)">
            <summary>Creates a new instance of this class.</summary>
            <param name="location">The location of the front of the train, in meters.</param>
            <param name="speed">The speed of the train.</param>
            <param name="bcPressure">The pressure in the brake cylinder, in pascal.</param>
            <param name="mrPressure">The pressure in the main reservoir, in pascal.</param>
            <param name="erPressure">The pressure in the emergency reservoir, in pascal.</param>
            <param name="bpPressure">The pressure in the brake pipe, in pascal.</param>
            <param name="sapPressure">The pressure in the straight air pipe, in pascal.</param>
            <param name="wheelSlip">Whether wheelslip is occuring</param>
            <param name="Follower"></param>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleState.#ctor(System.Double,OpenBveApi.Runtime.Speed,System.Double,System.Double,System.Double,System.Double,System.Double,OpenBveApi.Routes.TrackFollower)">
            <summary>Provides the overload for plugins built against versions of the OpenBVE API below 1.8.4.2.</summary>
            <param name="location">The location of the front of the train, in meters.</param>
            <param name="speed">The speed of the train.</param>
            <param name="bcPressure">The pressure in the brake cylinder, in pascal.</param>
            <param name="mrPressure">The pressure in the main reservoir, in pascal.</param>
            <param name="erPressure">The pressure in the emergency reservoir, in pascal.</param>
            <param name="bpPressure">The pressure in the brake pipe, in pascal.</param>
            <param name="sapPressure">The pressure in the straight air pipe, in pascal.</param>
            <param name="Follower"></param>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleState.#ctor(System.Double,OpenBveApi.Runtime.Speed,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>Provides the overload for plugins built against versions of the OpenBVE API below 1.7.3.0.</summary>
            <param name="location">The location of the front of the train, in meters.</param>
            <param name="speed">The speed of the train.</param>
            <param name="bcPressure">The pressure in the brake cylinder, in pascal.</param>
            <param name="mrPressure">The pressure in the main reservoir, in pascal.</param>
            <param name="erPressure">The pressure in the emergency reservoir, in pascal.</param>
            <param name="bpPressure">The pressure in the brake pipe, in pascal.</param>
            <param name="sapPressure">The pressure in the straight air pipe, in pascal.</param>
            <param name="Radius">The curve radius at the front of the train, in meters.</param>
            <param name="Cant">The cant value for this curve radius.</param>
            <param name="Pitch">The pitch value at the front of the train.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.VehicleState.#ctor(System.Double,OpenBveApi.Runtime.Speed,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>Provides the overload for plugins built against versions of the OpenBVE API below 1.4.4.0.</summary>
            <param name="location">The location of the front of the train, in meters.</param>
            <param name="speed">The speed of the train.</param>
            <param name="bcPressure">The pressure in the brake cylinder, in pascal.</param>
            <param name="mrPressure">The pressure in the main reservoir, in pascal.</param>
            <param name="erPressure">The pressure in the emergency reservoir, in pascal.</param>
            <param name="bpPressure">The pressure in the brake pipe, in pascal.</param>
            <param name="sapPressure">The pressure in the straight air pipe, in pascal.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.VirtualKeys">
            <summary>Represents a virtual key.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.S">
            <summary>The virtual S key. The default assignment is [Space]. The numerical value of this constant is 0.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.A1">
            <summary>The virtual A1 key. The default assignment is [Insert]. The numerical value of this constant is 1.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.A2">
            <summary>The virtual A2 key. The default assignment is [Delete]. The numerical value of this constant is 2.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.B1">
            <summary>The virtual B1 key. The default assignment is [Home]. The numerical value of this constant is 3.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.B2">
            <summary>The virtual B2 key. The default assignment is [End]. The numerical value of this constant is 4.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.C1">
            <summary>The virtual C1 key. The default assignment is [PageUp]. The numerical value of this constant is 5.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.C2">
            <summary>The virtual C2 key. The default assignment is [PageDown]. The numerical value of this constant is 6.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.D">
            <summary>The virtual D key. The default assignment is [2]. The numerical value of this constant is 7.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.E">
            <summary>The virtual E key. The default assignment is [3]. The numerical value of this constant is 8.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.F">
            <summary>The virtual F key. The default assignment is [4]. The numerical value of this constant is 9.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.G">
            <summary>The virtual G key. The default assignment is [5]. The numerical value of this constant is 10.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.H">
            <summary>The virtual H key. The default assignment is [6]. The numerical value of this constant is 11.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.I">
            <summary>The virtual I key. The default assignment is [7]. The numerical value of this constant is 12.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.J">
            <summary>The virtual J key. The default assignment is [8]. The numerical value of this constant is 13.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.K">
            <summary>The virtual K key. The default assignment is [9]. The numerical value of this constant is 14.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.L">
            <summary>The virtual L key. The default assignment is [N/A]. The numerical value of this constant is 15.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.M">
            <summary>The virtual M key. The default assignment is [N/A]. The numerical value of this constant is 16.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.N">
            <summary>The virtual N key. The default assignment is [N/A]. The numerical value of this constant is 17.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.O">
            <summary>The virtual O key. The default assignment is [N/A]. The numerical value of this constant is 18.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.P">
            <summary>The virtual P key. The default assignment is [N/A]. The numerical value of this constant is 19.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.WiperSpeedUp">
            <summary>Increases the speed of the windscreen wipers. The default assignment is [N/A]. The numerical value of this constant is 20.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.WiperSpeedDown">
            <summary>Decreases the speed of the windscreen wipers. The default assignment is [N/A]. The numerical value of this constant is 21.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.FillFuel">
            <summary>Fills fuel. The default assignment is [N/A]. The numerical value of this constant is 22.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.LiveSteamInjector">
            <summary>Toggles the live-steam injector. The default assignment is [N/A]. The numerical value of this constant is 23.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.ExhaustSteamInjector">
            <summary>Toggles the exhaust steam injector. The default assignment is [N/A]. The numerical value of this constant is 24.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.IncreaseCutoff">
            <summary>Increases the cutoff. The default assignment is [N/A]. The numerical value of this constant is 25.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.DecreaseCutoff">
            <summary>Decreases the cutoff. The default assignment is [N/A]. The numerical value of this constant is 26.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.Blowers">
            <summary>Toggles the blowers. The default assignment is [N/A]. The numerical value of this constant is 27.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.EngineStart">
            <summary>Starts the engine. The default assignment is [N/A]. The numerical value of this constant is 28.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.EngineStop">
            <summary>Stops the engine. The default assignment is [N/A]. The numerical value of this constant is 29.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.GearUp">
            <summary>Changes gear up. The default assignment is [N/A]. The numerical value of this constant is 30.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.GearDown">
            <summary>Changes gear down. The default assignment is [N/A]. The numerical value of this constant is 31.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.RaisePantograph">
            <summary>Raises the pantograph. The default assignment is [N/A]. The numerical value of this constant is 32.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.LowerPantograph">
            <summary>Lowers the pantograph. The default assignment is [N/A]. The numerical value of this constant is 33.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.MainBreaker">
            <summary>Toggles the main breaker. The default assignment is [N/A]. The numerical value of this constant is 34.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.LeftDoors">
            <summary>Called when the driver presses the left door button [NOTE: This is called whether or not opening succeeds/ is blocked]. The numerical value of this constant is 35.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.DoorsLeft">
            <summary>Called when the driver presses the left door button [NOTE: This is called whether or not opening succeeds/ is blocked]. The numerical value of this constant is 35.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.RightDoors">
            <summary>Called when the driver presses the right door button [NOTE: This is called whether or not opening succeeds/ is blocked]. The numerical value of this constant is 36.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.DoorsRight">
            <summary>Called when the driver presses the right door button [NOTE: This is called whether or not opening succeeds/ is blocked]. The numerical value of this constant is 36.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.Sanders">
            <summary>Called when the sanders are activated. The default assignment is [S]. The numerical value of this constant is 37.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.VirtualKeys.Headlights">
            <summary>Called when the headlights state changes. The default assignment is [H]. The numerical value of this constant is 38.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.PlaySoundDelegate">
            <summary>Plays a sound.</summary>
            <param name="index">The index to the sound to be played.</param>
            <param name="volume">The initial volume of the sound. A value of 1.0 represents nominal volume.</param>
            <param name="pitch">The initial pitch of the sound. A value of 1.0 represents nominal pitch.</param>
            <param name="looped">Whether the sound should be played in an indefinite loop.</param>
            <returns>The handle to the sound, or a null reference if the sound could not be played.</returns>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="T:OpenBveApi.Runtime.PlayCarSoundDelegate">
            <summary>Plays a sound.</summary>
            <param name="index">The index to the sound to be played.</param>
            <param name="volume">The initial volume of the sound. A value of 1.0 represents nominal volume.</param>
            <param name="pitch">The initial pitch of the sound. A value of 1.0 represents nominal pitch.</param>
            <param name="looped">Whether the sound should be played in an indefinite loop.</param>
            <param name="carIndex">The index of the car this sound is to be attached to</param>
            <returns>The handle to the sound, or a null reference if the sound could not be played.</returns>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="T:OpenBveApi.Runtime.PlayMultipleCarSoundDelegate">
            <summary>Plays a sound.</summary>
            <param name="index">The index to the sound to be played.</param>
            <param name="volume">The initial volume of the sound. A value of 1.0 represents nominal volume.</param>
            <param name="pitch">The initial pitch of the sound. A value of 1.0 represents nominal pitch.</param>
            <param name="looped">Whether the sound should be played in an indefinite loop.</param>
            <param name="carIndicies">An array of car indices to start playback on</param>
            <returns>The handle to the sound, or a null reference if the sound could not be played.</returns>
            <exception cref="T:System.InvalidOperationException">Raised when the host application does not allow the function to be called.</exception>
        </member>
        <member name="T:OpenBveApi.Runtime.AddInterfaceMessageDelegate">
            <summary>Adds a message to the in-game display</summary>
            <param name="Message">The message to display</param>
            <param name="Color">The color in which to display the message</param>
            <param name="Time">The time in seconds for which to display the message</param>
        </member>
        <member name="T:OpenBveApi.Runtime.AddScoreDelegate">
            <summary>Adds a score to the after game log</summary>
            <param name="Score">The score to add or subtract</param>
            <param name="Message">The message to be displayed in the post-game log</param>
            /// <param name="Color">The color in which to display the message</param>
            <param name="Time">The time in seconds for which to display the message</param>
        </member>
        <member name="T:OpenBveApi.Runtime.OpenDoorsDelegate">
            <summary>Attempts to open the train doors</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.CloseDoorsDelegate">
            <summary>Attempts to close the train doors</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.IRuntime">
            <summary>Represents the interface for performing runtime train services.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.Load(OpenBveApi.Runtime.LoadProperties)">
            <summary>Is called when the plugin is loaded.</summary>
            <param name="properties">The properties supplied to the plugin on loading.</param>
            <returns>Whether the plugin was loaded successfully.</returns>
            <remarks>If the plugin was not loaded successfully, the plugin should set the Reason property to supply the reason of failure.</remarks>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.Unload">
            <summary>Is called when the plugin is unloaded.</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.SetVehicleSpecs(OpenBveApi.Runtime.VehicleSpecs)">
            <summary>Is called after loading to inform the plugin about the specifications of the train.</summary>
            <param name="specs">The specifications of the train.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.Initialize(OpenBveApi.Runtime.InitializationModes)">
            <summary>Is called when the plugin should initialize or reinitialize.</summary>
            <param name="mode">The mode of initialization.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.Elapse(OpenBveApi.Runtime.ElapseData)">
            <summary>Is called every frame.</summary>
            <param name="data">The data passed to the plugin.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.SetReverser(System.Int32)">
            <summary>Is called when the driver changes the reverser.</summary>
            <param name="reverser">The new reverser position.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.SetPower(System.Int32)">
            <summary>Is called when the driver changes the power notch.</summary>
            <param name="powerNotch">The new power notch.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.SetBrake(System.Int32)">
            <summary>Is called when the driver changes the brake notch.</summary>
            <param name="brakeNotch">The new brake notch.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.KeyDown(OpenBveApi.Runtime.VirtualKeys)">
            <summary>Is called when a virtual key is pressed.</summary>
            <param name="key">The virtual key that was pressed.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.KeyUp(OpenBveApi.Runtime.VirtualKeys)">
            <summary>Is called when a virtual key is released.</summary>
            <param name="key">The virtual key that was released.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.HornBlow(OpenBveApi.Runtime.HornTypes)">
            <summary>Is called when a horn is played or when the music horn is stopped.</summary>
            <param name="type">The type of horn.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.DoorChange(OpenBveApi.Runtime.DoorStates,OpenBveApi.Runtime.DoorStates)">
            <summary>Is called when the state of the doors changes.</summary>
            <param name="oldState">The old state of the doors.</param>
            <param name="newState">The new state of the doors.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.SetSignal(OpenBveApi.Runtime.SignalData[])">
            <summary>Is called when the aspect in the current or in any of the upcoming sections changes, or when passing section boundaries.</summary>
            <param name="data">Signal information per section. In the array, index 0 is the current section, index 1 the upcoming section, and so on.</param>
            <remarks>The signal array is guaranteed to have at least one element. When accessing elements other than index 0, you must check the bounds of the array first.</remarks>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.SetBeacon(OpenBveApi.Runtime.BeaconData)">
            <summary>Is called when the train passes a beacon.</summary>
            <param name="data">The beacon data.</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRuntime.PerformAI(OpenBveApi.Runtime.AIData)">
            <summary>Is called when the plugin should perform the AI.</summary>
            <param name="data">The AI data.</param>
        </member>
        <member name="T:OpenBveApi.Runtime.IRawRuntime">
            <summary>Represents the runtime interface for performing train functions using raw data</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.IRawRuntime.RawKeyDown(OpenBveApi.Input.Key)">
            <summary>Called when a raw key is pressed</summary>
            <param name="key">The key</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRawRuntime.RawKeyUp(OpenBveApi.Input.Key)">
            <summary>Called when a raw key is released</summary>
            <param name="key">The key</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRawRuntime.TouchEvent(System.Int32,System.Int32)">
            <summary>Called when the host generates a touch event</summary>
            <param name="groupIndex">The group index of the touch event</param>
            <param name="commandIndex">The command index of the touch event</param>
        </member>
        <member name="T:OpenBveApi.Runtime.IRawRuntime2">
            <summary>Represents the runtime interface for performing train functions using raw data</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.IRawRuntime2.RawKeyDown(OpenBveApi.Input.Key)">
            <summary>Called when a raw key is pressed</summary>
            <param name="key">The key</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRawRuntime2.RawKeyUp(OpenBveApi.Input.Key)">
            <summary>Called when a raw key is released</summary>
            <param name="key">The key</param>
        </member>
        <member name="M:OpenBveApi.Runtime.IRawRuntime2.TouchEvent(System.Int32,OpenBveApi.Interface.Translations.Command)">
            <summary>Called when the host generates a touch event</summary>
            <param name="groupIndex">The group index of the touch event</param>
            <param name="command">The command generated by the touch event</param>
        </member>
        <member name="T:OpenBveApi.Runtime.Station">
            <summary>Represents a station.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.Name">
            <summary>The name of the station.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.ArrivalTime">
            <summary>The expected arrival time.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.DepartureTime">
            <summary>The expected departure time.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.JumpTime">
            <summary>If set, the time when jumping to this station</summary>
            <remarks>May be different to the expected arrival time if driven by the player / AI.
            NOTE: This is not shown in the timetable</remarks>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.ForceStopSignal">
            <summary>Whether the next signal is held red until departure.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.OpenLeftDoors">
            <summary>Whether the left doors are to open.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.OpenRightDoors">
            <summary>Whether the right doors are to open.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.DefaultTrackPosition">
            <summary>The track position of this station.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.StopPosition">
            <summary>The stop position applicable to the current train.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.ForwardTolerance">
            <summary>The forward tolerance applicable to the stop position.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.BackwardTolerance">
            <summary>The backward tolerance applicable to the stop position.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.StopMode">
            <summary>The stop mode for this station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.Type">
            <summary>The type of this station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.ReopenDoor">
            <summary>The incidence of reopening of the door</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.ReopenStationLimit">
            <summary>The upper limit of the number of times reopen the door</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.InterferenceInDoor">
            <summary>The duration of interference in the door</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.MaxInterferingObjectRate">
            <summary>The maximum width of the obstacle to the overall width of the door</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.JumpIndex">
            <summary>If departing this station triggers a jump, contains the index of the station to jump to</summary>
        </member>
        <member name="P:OpenBveApi.Runtime.Station.StopTime">
            <summary>The expected time stopped.</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.Station.ExpectedTimeStopped">
            <summary>Backing property for StopTime</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.Station.#ctor">
            <summary>Creates a new station with default (empty) values</summary>
        </member>
        <member name="M:OpenBveApi.Runtime.Station.#ctor(OpenBveApi.Runtime.Station,System.Double)">
            <summary>Creates a train-specific station</summary>
            <param name="s">The base station</param>
            <param name="stopPosition">The stop position applicable to our train</param>
        </member>
        <member name="M:OpenBveApi.Runtime.Station.#ctor(OpenBveApi.Runtime.Station,System.Double,System.Double,System.Double)">
            <summary>Creates a train-specific station with stop tolerance values</summary>
            <param name="s">The base station</param>
            <param name="stopPosition">The stop position applicable to our train</param>
            <param name="forwardTolerance">The forward tolerance applicable to the stop point</param>
            <param name="backwardTolerance">The backward tolerance applicable to the stop point</param>
        </member>
        <member name="M:OpenBveApi.Runtime.Station.PlayerStops">
            <summary>Indicates whether the player's train stops at a station.</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.StationStopMode">
            <summary>The differing stop modes available for a station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationStopMode.AllStop">
            <summary>All trains stop at this station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationStopMode.AllPass">
            <summary>All trains pass this station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationStopMode.PlayerStop">
            <summary>The player train stops at this station, AI trains do not</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationStopMode.PlayerPass">
            <summary>The player train passes this station, AI trains stop</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationStopMode.AllRequestStop">
            <summary>This station is a random request stop for all trains</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationStopMode.PlayerRequestStop">
            <summary>This station is a random request stop for the player train only</summary>
        </member>
        <member name="T:OpenBveApi.Runtime.StationType">
            <summary>Defines the available station types</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationType.Normal">
            <summary>This station is a normal station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationType.ChangeEnds">
            <summary>This station triggers the change end mechanic on departure</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationType.Terminal">
            <summary>This station is the terminal station</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationType.RequestStop">
            <summary>This station is a request stop</summary>
        </member>
        <member name="F:OpenBveApi.Runtime.StationType.Jump">
            <summary>This station triggers the jump mechanic on departure</summary>
        </member>
        <member name="T:OpenBveApi.Sounds.PathOrigin">
            <summary>Represents a file or directory where the sound can be loaded from.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.PathOrigin.Path">
            <summary>The absolute on-disk path to the sound file</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.PathOrigin.#ctor(System.String,OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new path origin.</summary>
            <param name="path">The path to the sound.</param>
            <param name="Host">The callback function to the host application</param>
        </member>
        <member name="M:OpenBveApi.Sounds.PathOrigin.GetSound(OpenBveApi.Sounds.Sound@)">
            <summary>Gets the sound from this origin.</summary>
            <param name="sound">Receives the sound.</param>
            <returns>Whether the sound could be obtained successfully.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.PathOrigin.op_Equality(OpenBveApi.Sounds.PathOrigin,OpenBveApi.Sounds.PathOrigin)">
            <summary>Checks whether two origins are equal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.PathOrigin.op_Inequality(OpenBveApi.Sounds.PathOrigin,OpenBveApi.Sounds.PathOrigin)">
            <summary>Checks whether two origins are unequal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.PathOrigin.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="T:OpenBveApi.Sounds.RawOrigin">
            <summary>Represents sound raw data.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.RawOrigin.Sound">
            <summary>The sound raw data.</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.RawOrigin.#ctor(OpenBveApi.Sounds.Sound)">
            <summary>Creates a new raw data origin.</summary>
            <param name="sound">The sound raw data.</param>
        </member>
        <member name="M:OpenBveApi.Sounds.RawOrigin.GetSound(OpenBveApi.Sounds.Sound@)">
            <summary>Gets the sound from this origin.</summary>
            <param name="sound">Receives the sound.</param>
            <returns>Whether the sound could be obtained successfully.</returns>
        </member>
        <member name="T:OpenBveApi.Sounds.SoundOrigin">
            <summary>Represents the origin where the sound can be loaded from.</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundOrigin.GetSound(OpenBveApi.Sounds.Sound@)">
            <summary>Gets the sound from this origin.</summary>
            <param name="sound">Receives the sound.</param>
            <returns>Whether the sound could be obtained successfully.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundOrigin.op_Equality(OpenBveApi.Sounds.SoundOrigin,OpenBveApi.Sounds.SoundOrigin)">
            <summary>Checks whether two origins are equal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundOrigin.op_Inequality(OpenBveApi.Sounds.SoundOrigin,OpenBveApi.Sounds.SoundOrigin)">
            <summary>Checks whether two origins are unequal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundOrigin.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="T:OpenBveApi.Sounds.SoundSourceState">
            <summary>Represents the state of a sound source.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.PlayPending">
            <summary>The sound will start playing once in audible range. The OpenAL sound name is not yet valid.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.Playing">
            <summary>The sound is playing and the OpenAL source name is valid.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.StopPending">
            <summary>The sound will stop playing. The OpenAL sound name is still valid.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.Stopped">
            <summary>The sound has stopped and will be removed from the list of sound sources. The OpenAL source name is not valid any longer.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.PausePending">
            <summary>The sound is not yet in audible range, but is paused</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.Paused">
            <summary>The sound is paused</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundSourceState.ResumePending">
            <summary>The sound is pending resuming</summary>
        </member>
        <member name="T:OpenBveApi.Sounds.SoundType">
            <summary>Represents the different types of sound</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.TrainCar">
            <summary>The sound source is attached to the car of a train</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.TrackSound">
            <summary>The sound source is emitted when triggered from a track location</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.TrainStatic">
            <summary>The sound source is emitted in the train cab when triggered from a track location</summary>
            <remarks>Playback speed is not effected by train speed (e.g. announcement)</remarks>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.TrainAllCarStatic">
            <summary>The sound source is emitted by each car when triggered from a track location</summary>
            <remarks>Playback speed is not effected by train speed (e.g. announcement)</remarks>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.TrainDynamic">
            <summary>The sound source is emitted in the train cab when triggered from a track location</summary>
            <remarks>Playback speed is effected by train speed (e.g. passing train sound)</remarks>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.TrainAllCarDynamic">
            <summary>The sound source is emitted by each car when triggered from a track location</summary>
            <remarks>Playback speed is effected by train speed (e.g. passing train sound)</remarks>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.Ambient">
            <summary>The sound source is ambient</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.FixedPosition">
            <summary>The sound source is emitted from a fixed position (Placed via the routefile)</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.StaticObject">
            <summary>The sound source is emitted by a static object</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.AnimatedObject">
            <summary>The sound source is emitted by an animated object, and may move</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.SoundType.Undefined">
            <summary>The sound source is undefined</summary>
        </member>
        <member name="T:OpenBveApi.Sounds.Sound">
            <summary>Represents a sound.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.Sound.SampleRate">
            <summary>The number of samples per second.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.Sound.BitsPerSample">
            <summary>The number of bits per sample. Allowed values are 8 or 16.</summary>
        </member>
        <member name="F:OpenBveApi.Sounds.Sound.Bytes">
            <summary>The PCM sound data per channel. For 8 bits per sample, samples are unsigned from 0 to 255. For 16 bits per sample, samples are signed from -32768 to 32767 and in little endian byte order.</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.Sound.#ctor(System.Int32,System.Int32,System.Byte[][])">
            <summary>Creates a new instance of this class.</summary>
            <param name="sampleRate">The number of samples per second.</param>
            <param name="bitsPerSample">The number of bits per sample. Allowed values are 8 or 16.</param>
            <param name="bytes">The PCM sound data per channel. For 8 bits per sample, samples are unsigned from 0 to 255. For 16 bits per sample, samples are signed from -32768 to 32767 and in little endian byte order.</param>
            <exception cref="T:System.ArgumentException">Raised when the number of samples per second is not positive.</exception>
            <exception cref="T:System.ArgumentException">Raised when the number of bits per samples is neither 8 nor 16.</exception>
            <exception cref="T:System.ArgumentNullException">Raised when the bytes array or any of its subarrays is a null reference.</exception>
            <exception cref="T:System.ArgumentException">Raised when the bytes array does not contain any elements.</exception>
            <exception cref="T:System.ArgumentException">Raised when the bytes' subarrays are of unequal length.</exception>
        </member>
        <member name="P:OpenBveApi.Sounds.Sound.Duration">
            <summary>Gets the duration of the sound in seconds.</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.Sound.op_Equality(OpenBveApi.Sounds.Sound,OpenBveApi.Sounds.Sound)">
            <summary>Checks whether two sound are equal.</summary>
            <param name="a">The first sound.</param>
            <param name="b">The second sound.</param>
            <returns>Whether the two sounds are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.Sound.op_Inequality(OpenBveApi.Sounds.Sound,OpenBveApi.Sounds.Sound)">
            <summary>Checks whether two sounds are unequal.</summary>
            <param name="a">The first sound.</param>
            <param name="b">The second sound.</param>
            <returns>Whether the two sounds are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.Sound.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.Sound.GetMonoMix">
            <summary>Mixes all channels into a single channel.</summary>
            <returns>The mono mix in the same format as the original.</returns>
            <exception cref="T:System.NotSupportedException">Raised when the bits per sample are not supported.</exception>
        </member>
        <member name="T:OpenBveApi.Sounds.SoundHandle">
            <summary>Represents a handle to a sound.</summary>
        </member>
        <member name="T:OpenBveApi.Sounds.SoundInterface">
            <summary>Represents the interface for loading sounds. Plugins must implement this interface if they wish to expose sounds.</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundInterface.Load(OpenBveApi.Hosts.HostInterface)">
            <summary>Called when the plugin is loaded.</summary>
            <param name="host">The host that loaded the plugin.</param>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundInterface.Unload">
            <summary>Called when the plugin is unloaded.</summary>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundInterface.CanLoadSound(System.String)">
            <summary>Checks whether the plugin can load the specified sound.</summary>
            <param name="path">The path to the file or folder that contains the sound.</param>
            <returns>Whether the plugin can load the specified sound.</returns>
        </member>
        <member name="M:OpenBveApi.Sounds.SoundInterface.LoadSound(System.String,OpenBveApi.Sounds.Sound@)">
            <summary>Loads the specified sound.</summary>
            <param name="path">The path to the file or folder that contains the sound.</param>
            <param name="sound">Receives the sound.</param>
            <returns>Whether loading the sound was successful.</returns>
        </member>
        <member name="T:OpenBveApi.BaseOptions">
            <summary>Defines the base shared options to be passed to the Renderer etc.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.LanguageCode">
            <summary>The ISO 639-1 code for the current user interface language</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.FullscreenMode">
            <summary>Whether the program is to be run in full-screen mode</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.VerticalSynchronization">
            <summary>Whether the program is to be rendered using vertical synchronisation</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.WindowWidth">
            <summary>The screen width (Windowed Mode)</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.WindowHeight">
            <summary>The screen height (Windowed Mode)</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.FullscreenWidth">
            <summary>The screen width (Fullscreen Mode)</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.FullscreenHeight">
            <summary>The screen height (Fullscreen Mode)</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.FullscreenBits">
            <summary>The number of bits per pixel (Only relevant in fullscreen mode)</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Interpolation">
            <summary>The current pixel interpolation mode </summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.TransparencyMode">
            <summary>The current transparency quality mode</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.AnisotropicFilteringLevel">
            <summary>The level of anisotropic filtering to be applied</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.AnisotropicFilteringMaximum">
            <summary>The maximum level of anisotropic filtering supported by the system</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.AntiAliasingLevel">
            <summary>The level of antialiasing to be applied</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.CurrentXParser">
            <summary>The parser to use for Microsoft DirectX objects</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.CurrentObjParser">
            <summary>The parser to use for Wavefront Obj objects</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.EnableBveTsHacks">
            <summary>Enables / disables various hacks for BVE related content</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.OldTransparencyMode">
            <summary>Stores whether to use fuzzy matching for transparency colors (Matches BVE2 / BVE4 behaviour)</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ViewingDistance">
            <summary>The viewing distance in meters</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.QuadTreeLeafSize">
            <summary>The size of a leaf when using QuadTree visibility</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Toppling">
            <summary>Whether toppling is enabled</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Derailments">
            <summary>Whether derailments are enabled</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.SpeedConversionFactor">
            <summary>The number 1km/h must be multiplied by to produce your desired speed units, or 0.0 to disable this</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.UnitOfSpeed">
            <summary>The unit of speed displayed in in-game messages</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.TrainStart">
            <summary>The default mode for the train's safety system to start in</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.InitialDestination">
            <summary>The initial destination for any train within the game</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.InitialViewpoint">
            <summary>The initial camera viewpoint</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.PrecedingTrainSpeedLimit">
            <summary>The speed limit for any preceding AI trains</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.TrainName">
            <summary>The name of the current train</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.CurrentCompatibilitySignalSet">
            <summary>The current compatibility signal set</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ForceForwardsCompatibleContext">
            <summary>Allows a forwards compatible context to be forced</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ObjectOptimizationBasicThreshold">
            <summary>The minimum number of vertices for basic optimisation to be performed on an object</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ObjectOptimizationFullThreshold">
            <summary>The minimum number of vertices for full optimisation to be performed on an object</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.SoundNumber">
            <summary>The maximum number of sounds playing at any one time</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.IsUseNewRenderer">
            <summary>Whether to use the new rendering method.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowResolution">
            <summary>Shadow map resolution per cascade. Off disables shadows.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowDrawDistance">
            <summary>Maximum distance from the camera at which shadows appear.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowCascades">
            <summary>Number of shadow cascades.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowStrength">
            <summary>Shadow darkness strength. 0.0 = invisible, 1.0 = full black.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowBias">
            <summary>Shadow bias to prevent shadow acne.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowNormalBias">
            <summary>Shadow normal bias (slope scale multiplier) to perfectly cure acne on curved/thin meshes.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ShadowFilterCascades">
            <summary>Whether to filter shadow casters per cascade to improve performance.</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.LightAzimuth">
            <summary>The sun azimuth in degrees</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.LightElevation">
            <summary>The sun elevation in degrees</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.GenerateDebugLogging">
            <summary>Whether debug logs should be generated</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.LoadingSway">
            <summary>Whether loading sway is added</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.GameMode">
            <summary>The game mode- Affects how the score is calculated</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Panel2ExtendedMode">
            <summary>Whether Panel2 is loaded using the extended touch controls mode</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Panel2ExtendedMinSize">
            <summary>The minimum size for a Panel2 control to be considered touch sensitive</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Accessibility">
            <summary>Whether various accessibility helpers are enabled</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.Font">
            <summary>The font to use</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ObjectDisposalMode">
            <summary>The object disposal mode in use</summary>
            <remarks>Not saved</remarks>
        </member>
        <member name="F:OpenBveApi.BaseOptions.UseGDIDecoders">
            <summary>Uses the native Windows GDI+ decoders for PNG / JPG</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.CursorFileName">
            <summary>The filename of the current cursor</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.TrainDownloadLocation">
            <summary>The download location for the train required by the current route</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.DelayedAnimatedUpdates">
            <summary>Whether delayed animated updates based upon track position are used</summary>
            <remarks>Not saved</remarks>
        </member>
        <member name="F:OpenBveApi.BaseOptions.AdhesionHack">
            <summary>Whether the adhesion hack is enabled</summary>
            <remarks>Not saved</remarks>
        </member>
        <member name="F:OpenBveApi.BaseOptions.EnableBve5ScriptedTrain">
            <summary>Enables scripted trains on BVE5 routes</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.UserInterfaceScaleFactor">
            <summary>The scale factor for the user interface</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.AutoReloadObjects">
            <summary>Whether loaded objects are automatically reloaded on change</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.NearClipScenery">
            <summary>The near clipping plane for scenery</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.NearClipCab">
            <summary>The near clipping plane for the cab</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.NearClipBase">
            <summary>The near clipping plane for the base renderer</summary>
        </member>
        <member name="F:OpenBveApi.BaseOptions.ClearColor">
            <summary>The color used by the renderer when issuing GL.Clear()</summary>
            <remarks>Not saved</remarks>
        </member>
        <member name="M:OpenBveApi.BaseOptions.Save(System.String)">
            <summary>Saves the options to the specified filename</summary>
            <param name="fileName">The filename to save the options to</param>
        </member>
        <member name="T:OpenBveApi.OptionsKey">
            <summary>The keys found in an options file</summary>
        </member>
        <member name="T:OpenBveApi.OptionsSection">
            <summary>The sections of an options file</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Unknown">
            <summary>Unknown section</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Language">
            <summary>Contains language options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Interface">
            <summary>Contains UI options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Display">
            <summary>Contains display options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Quality">
            <summary>Contains graphics quality options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.ObjectOptimization">
            <summary>Contains object optimization options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Simulation">
            <summary>Contains object optimization options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Controls">
            <summary>Contains control settings</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Keys">
            <summary>Contains control settings</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Sound">
            <summary>Contains sound options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Verbosity">
            <summary>Contains error logging options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Folders">
            <summary>Contains folder search options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Packages">
            <summary>Contains package install and creation options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.RecentlyUsedRoutes">
            <summary>Contains the list of recently used routes</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.RecentlyUsedTrains">
            <summary>Contains the list of recently used trains</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.RouteEncodings">
            <summary>Contains the list of encodings for the recently used routes</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.TrainEncodings">
            <summary>Contains the list of encodings for the recently used trains</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.EnableInputDevicePlugins">
            <summary>Enables input device plugins</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Parsers">
            <summary>Contains parser options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Touch">
            <summary>Contains touch control options</summary>
        </member>
        <member name="F:OpenBveApi.OptionsSection.Loading">
            <summary>Contains loading related options</summary>
        </member>
        <member name="T:OpenBveApi.BinaryExtensions">
            <summary>Provides extension methods for working with binary data</summary>
        </member>
        <member name="M:OpenBveApi.BinaryExtensions.ReadUInt16(System.IO.BinaryReader,OpenBveApi.Math.Endianness)">
            <summary>Reads a UInt16 with the specified endianness</summary>
            <param name="reader">The binary reader</param>
            <param name="endianness">The endianness of the stored number</param>
        </member>
        <member name="M:OpenBveApi.BinaryExtensions.ReadInt16(System.IO.BinaryReader,OpenBveApi.Math.Endianness)">
            <summary>Reads a Int16 with the specified endianness</summary>
            <param name="reader">The binary reader</param>
            <param name="endianness">The endianness of the stored number</param>
        </member>
        <member name="M:OpenBveApi.BinaryExtensions.ReadUInt32(System.IO.BinaryReader,OpenBveApi.Math.Endianness)">
            <summary>Reads a UInt32 with the specified endianness</summary>
            <param name="reader">The binary reader</param>
            <param name="endianness">The endianness of the stored number</param>
        </member>
        <member name="M:OpenBveApi.BinaryExtensions.ReadInt32(System.IO.BinaryReader,OpenBveApi.Math.Endianness)">
            <summary>Reads a Int32 with the specified endianness</summary>
            <param name="reader">The binary reader</param>
            <param name="endianness">The endianness of the stored number</param>
        </member>
        <member name="M:OpenBveApi.BinaryExtensions.GetUInt32(System.Byte[],System.Int32,OpenBveApi.Math.Endianness)">
            <summary>Gets a UInt32 from the supplied byte array with the specified endianness</summary>
            <param name="bytes">The byte array</param>
            <param name="startIndex">The start index</param>
            <param name="endianness">The endinaness of the UInt32</param>
        </member>
        <member name="T:OpenBveApi.LittleEndianBinaryExtensions">
            <summary>Provides extension methods for working with little-endian binary data</summary>
        </member>
        <member name="M:OpenBveApi.LittleEndianBinaryExtensions.ToShort(System.Byte[],System.Int32)">
            <summary>Gets a short from the specified offset in a byte array</summary>
            <remarks>Little-endian</remarks>
            <param name="byteArray">The byte array</param>
            <param name="offset">The starting offset of the short</param>
        </member>
        <member name="M:OpenBveApi.LittleEndianBinaryExtensions.ToInt16(System.Byte[],System.Int32)">
            <summary>Gets an Int16 from the specified offset in a byte array</summary>
            <remarks>Little-endian</remarks>
            <param name="byteArray">The byte array</param>
            <param name="offset">The starting offset of the Int16</param>
        </member>
        <member name="M:OpenBveApi.LittleEndianBinaryExtensions.ToInt32(System.Byte[],System.Int32)">
            <summary>Gets an Int32 from the specified offset in a byte array</summary>
            <remarks>Little-endian</remarks>
            <param name="byteArray">The byte array</param>
            <param name="offset">The starting offset of the Int32</param>
        </member>
        <member name="M:OpenBveApi.LittleEndianBinaryExtensions.ToUInt64(System.Byte[],System.Int32)">
            <summary>Gets a little-endian UInt64 from the specified offset in a byte array</summary>
            <param name="buffer">The byte array</param>
            <param name="startIndex">The starting offset of the UInt6</param>
            <returns></returns>
        </member>
        <member name="T:OpenBveApi.DictionaryExtensions">
            <summary>Contains extension methods for working with dictionaries</summary>
        </member>
        <member name="M:OpenBveApi.DictionaryExtensions.TryGetTypedValue``3(System.Collections.Generic.IDictionary{``0,``1},``0,``2@)">
            <summary>Gets a typed value from a generic dictionary</summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <typeparam name="TActual"></typeparam>
            <param name="data"></param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:OpenBveApi.FileFormats">
            <summary>Provides helper functions for working with specific file formats, which may not be uniquely identifiable</summary>
        </member>
        <member name="M:OpenBveApi.FileFormats.IsNautilusFile(System.String)">
            <summary>Whether the file is Nautilus</summary>
        </member>
        <member name="T:OpenBveApi.FileSystem.FileSystem">
            <summary>Represents the program's organization of files and folders.</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.DataFolder">
            <summary>The location of the application data, including, among others, Compatibility, Flags and Languages.</summary>
        </member>
        <member name="P:OpenBveApi.FileSystem.FileSystem.PackageDatabaseFolder">
            <summary>Gets the package database folder</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.SettingsFolder">
            <summary>The location where to save user settings, including settings.cfg and controls.cfg.</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.InitialRouteFolder">
            <summary>The initial location of the Railway/Route folder.</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.InitialTrainFolder">
            <summary>The initial location of the Train folder.</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.RestartProcess">
            <summary>The location of the process to execute on restarting the program.</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.RestartArguments">
            <summary>The arguments to supply to the process on restarting the program.</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.RouteInstallationDirectory">
            <summary>The location to which packaged routes will be installed</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.TrainInstallationDirectory">
            <summary>The location to which packaged trains will be installed</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.OtherInstallationDirectory">
            <summary>The location to which packaged other items will be installed</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.LoksimPackageInstallationDirectory">
            <summary>The location to which Loksim3D packages will be installed</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.LoksimDataDirectory">
            <summary>The Loksim3D data directory</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.MSTSDirectory">
            <summary>The MSTS trainset directory</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.NotUnderstoodLines">
            <summary>Any lines loaded from the filesystem.cfg which were not understood</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.Version">
            <summary>The version of the filesystem</summary>
        </member>
        <member name="F:OpenBveApi.FileSystem.FileSystem.currentHost">
            <summary>The host application</summary>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.#ctor(OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new instance of this class with default locations.</summary>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.FromCommandLineArgs(System.String[],OpenBveApi.Hosts.HostInterface)">
            <summary>Creates the file system information from the command line arguments. If no configuration file is specified in the command line arguments, the default lookup location is used. If no configuration file is found, default values are used.</summary>
            <param name="args">The command line arguments.</param>
            <param name="Host">The host program</param>
            <returns>The file system information.</returns>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.SaveCurrentFileSystemConfiguration">
            <summary>Saves the current file system configuration to disk</summary>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.ReplacePath(System.String)">
            <summary> Replaces all instances of absolute paths within a string with their relative equivalents</summary>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.CreateFileSystem">
            <summary>Creates all folders in the file system that can later be written to.</summary>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.GetDataFolder(System.String[])">
            <summary>Gets the data folder or any specified subfolder thereof.</summary>
            <param name="subfolders">The subfolders.</param>
            <returns>The data folder or a subfolder thereof.</returns>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.FromConfigurationFile(System.String,OpenBveApi.Hosts.HostInterface)">
            <summary>Creates the file system information from the specified configuration file.</summary>
            <param name="file">The configuration file describing the file system.</param>
            <param name="Host">The host program</param>
            <returns>The file system.</returns>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.GetAbsolutePath(System.String,System.Boolean)">
            <summary>Gets the absolute path from the specified folder.</summary>
            <param name="folder">The folder which may contain special representations of system folders.</param>
            <param name="checkIfRooted">Checks if the resulting path is an absolute path.</param>
            <returns>The absolute path.</returns>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.ClearLogFile(System.String)">
            <summary>Clears the log file.</summary>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.AppendToLogFile(System.String,System.Boolean)">
            <summary>Appends the specified text to the log file.</summary>
            <param name="text">The text.</param>
            <param name="addTimestamp">Whether a timestamp should be added to the log file</param>
        </member>
        <member name="M:OpenBveApi.FileSystem.FileSystem.GetRailwayFolder(System.String,System.String)">
            <summary>Gets the absolute Railway folder for a given route file</summary>
            <returns>The absolute on-disk path of the railway folder</returns>
        </member>
        <member name="T:OpenBveApi.GameMode">
            <summary>Provides access to the current game mode</summary>
        </member>
        <member name="F:OpenBveApi.GameMode.Arcade">
            <summary>Arcade</summary>
        </member>
        <member name="F:OpenBveApi.GameMode.Normal">
            <summary>Normal</summary>
        </member>
        <member name="F:OpenBveApi.GameMode.Expert">
            <summary>Expert</summary>
        </member>
        <member name="F:OpenBveApi.GameMode.Developer">
            <summary>Developer</summary>
        </member>
        <member name="T:OpenBveApi.Hosts.HostApplication">
            <summary>The host application</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostApplication.OpenBve">
            <summary>The main game</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostApplication.RouteViewer">
            <summary>Route Viewer</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostApplication.ObjectViewer">
            <summary>Object Viewer</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostApplication.TrainEditor">
            <summary>Train Editor</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostApplication.TrainEditor2">
            <summary>Train Editor 2</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostApplication.CarXMLConvertor">
            <summary>CarXML Convertor</summary>
        </member>
        <member name="T:OpenBveApi.Hosts.HostPlatform">
            <summary>The host platform</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostPlatform.MicrosoftWindows">
            <summary>Microsoft Windows and compatibles</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostPlatform.GNULinux">
            <summary>Linux</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostPlatform.AppleOSX">
            <summary>Mac OS-X</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostPlatform.FreeBSD">
            <summary>FreeBSD</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostPlatform.WINE">
            <summary>Emulated Windows</summary>
        </member>
        <member name="T:OpenBveApi.Hosts.HostInterface">
            <summary>Represents the host application and functionality it exposes.</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.MonoRuntime">
            <summary>Returns whether the current host application is running under Mono</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.Platform">
            <summary>Returns the current host platform</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.DetectUnixKernel">
            <summary>Detects the current kernel name by p/invoking uname (libc)</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.#ctor(OpenBveApi.Hosts.HostApplication)">
            <summary>The base host interface constructor</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.Application">
            <summary></summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ReportProblem(OpenBveApi.Hosts.ProblemType,System.String)">
            <summary>Reports a problem to the host application.</summary>
            <param name="type">The type of problem that is reported.</param>
            <param name="text">The textual message that describes the problem.</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ClearErrors">
            <summary>Clears the error log</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.MissingFiles">
            <summary>Contains a list of missing files encountered</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.FailedObjects">
            <summary>Contains a list of objects which failed to load</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.FailedTextures">
            <summary>Contains a list of textures which failed to load</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.QueryTextureDimensions(System.String,System.Int32@,System.Int32@)">
            <summary>Queries the dimensions of a texture.</summary>
            <param name="path">The path to the file or folder that contains the texture.</param>
            <param name="width">Receives the width of the texture.</param>
            <param name="height">Receives the height of the texture.</param>
            <returns>Whether querying the dimensions was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.LoadTexture(System.String,OpenBveApi.Textures.TextureParameters,OpenBveApi.Textures.Texture@)">
            <summary>Loads a texture and returns the texture data.</summary>
            <param name="path">The path to the file or folder that contains the texture.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
            <param name="texture">Receives the texture.</param>
            <returns>Whether loading the texture was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.LoadTexture(OpenBveApi.Textures.Texture@,OpenBveApi.Textures.OpenGlTextureWrapMode)">
            <summary>Loads a texture and returns the texture data.</summary>
            <param name="texture">Receives the texture.</param>
            <param name="wrapMode">The openGL wrap mode</param>
            <returns>Whether loading the texture was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RegisterTexture(System.String,OpenBveApi.Textures.TextureParameters,OpenBveApi.Textures.Texture@,System.Boolean,System.Int32)">
            <summary>Registers a texture and returns a handle to the texture.</summary>
            <param name="path">The path to the file or folder that contains the texture.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
            <param name="handle">Receives the handle to the texture.</param>
            <param name="loadTexture">Whether the texture should also be pre-loaded</param>
            <param name="timeout">The timeout for loading the texture</param>
            <returns>Whether loading the texture was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RegisterTexture(OpenBveApi.Textures.Texture,OpenBveApi.Textures.TextureParameters,OpenBveApi.Textures.Texture@)">
            <summary>Registers a texture and returns a handle to the texture.</summary>
            <param name="texture">The texture data.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
            <param name="handle">Receives the handle to the texture.</param>
            <returns>Whether loading the texture was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RegisterTexture(System.Drawing.Bitmap,OpenBveApi.Textures.TextureParameters,OpenBveApi.Textures.Texture@)">
            <summary>Registers a texture and returns a handle to the texture.</summary>
            <param name="texture">The texture data.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
            <param name="handle">Receives the handle to the texture.</param>
            <returns>Whether loading the texture was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.LoadSound(System.String,OpenBveApi.Sounds.Sound@)">
            <summary>Loads a sound and returns the sound data.</summary>
            <param name="path">The path to the file or folder that contains the sound.</param>
            <param name="sound">Receives the sound.</param>
            <returns>Whether loading the sound was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RegisterSound(System.String,OpenBveApi.Sounds.SoundHandle@)">
            <summary>Registers a sound and returns a handle to the sound.</summary>
            <param name="path">The path to the file or folder that contains the sound.</param>
            <param name="handle">Receives a handle to the sound.</param>
            <returns>Whether loading the sound was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RegisterSound(System.String,System.Double,OpenBveApi.Sounds.SoundHandle@)">
            <summary>Registers a sound and returns a handle to the sound.</summary>
            <param name="path">The path to the file or folder that contains the sound.</param>
            <param name="radius">The sound radius</param>
            <param name="handle">Receives a handle to the sound.</param>
            <returns>Whether loading the sound was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RegisterSound(OpenBveApi.Sounds.Sound,OpenBveApi.Sounds.SoundHandle@)">
            <summary>Registers a sound and returns a handle to the sound.</summary>
            <param name="sound">The sound data.</param>
            <param name="handle">Receives a handle to the sound.</param>
            <returns>Whether loading the sound was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.DetermineObjectExtension(System.String@)">
            <summary>
            Add an extension to the path of the object file that is missing the extension and no file.
            </summary>
            <param name="FilePath">The absolute on-disk path to the object</param>
            <returns>Whether the extension could be determined</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.DetermineStaticObjectExtension(System.String@)">
            <summary>
            Add an extension to the path of the static object file that is missing the extension and no file.
            </summary>
            <param name="FilePath">The absolute on-disk path to the object</param>
            <returns>Whether the extension could be determined</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.LoadObject(System.String,System.Text.Encoding,OpenBveApi.Objects.UnifiedObject@)">
            <summary>Loads an object</summary>
            <param name="Path">The absolute on-disk path to the object</param>
            <param name="Encoding">The detected text encoding</param>
            <param name="Object">The handle to the object</param>
            <returns>Whether loading the object was successful</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.LoadStaticObject(System.String,System.Text.Encoding,System.Boolean,OpenBveApi.Objects.StaticObject@)">
            <summary>Loads a static object</summary>
            <param name="Path">The absolute on-disk path to the object</param>
            <param name="Encoding">The detected text encoding</param>
            <param name="PreserveVertices">Whether optimization is to be performed on the object</param>
            <param name="Object">The handle to the object</param>
            <returns>Whether loading the object was successful</returns>
            <remarks>This will return false if an animated object is attempted to be loaded.
            Selecting to preserve vertices may be useful if using the object as a deformable.</remarks>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ExecuteFunctionScript(OpenBveApi.FunctionScripting.FunctionScript,OpenBveApi.Trains.AbstractTrain,System.Int32,OpenBveApi.Math.Vector3,System.Double,System.Int32,System.Boolean,System.Double,System.Int32)">
            <summary>Executes a function script in the host application</summary>
            <param name="functionScript">The function script to execute</param>
            <param name="train">The train or a null reference</param>
            <param name="CarIndex">The car index</param>
            <param name="Position">The world position</param>
            <param name="TrackPosition">The linear track position</param>
            <param name="SectionIndex">The index to the signalling section</param>
            <param name="IsPartOfTrain">Whether this is part of a train</param>
            <param name="TimeElapsed">The frame time elapsed</param>
            <param name="CurrentState">The current state of the attached object</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.CreateStaticObject(OpenBveApi.Objects.StaticObject,OpenBveApi.Math.Vector3,OpenBveApi.Objects.ObjectCreationParameters,OpenBveApi.World.Transformation,OpenBveApi.World.Transformation)">
            <summary>Creates a static object within the world of the host application, and returns the ObjectManager ID</summary>
            <param name="Prototype">The prototype (un-transformed) static object</param>
            <param name="Position">The world position</param>
            <param name="WorldTransformation">The world transformation to apply (e.g. ground, rail)</param>
            <param name="LocalTransformation">The local transformation to apply in order to rotate the model</param>
            <param name="Parameters">The object creation parameters</param>
            <returns>The index to the created object, or -1 if this call fails</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.CreateStaticObject(OpenBveApi.Objects.StaticObject,OpenBveApi.Math.Vector3,OpenBveApi.World.Transformation,OpenBveApi.Math.Matrix4D,OpenBveApi.Math.Matrix4D,OpenBveApi.Objects.ObjectCreationParameters)">
            <summary>Creates a static object within the world of the host application, and returns the ObjectManager ID</summary>
            <param name="Prototype">The prototype (un-transformed) static object</param>
            <param name="Position">The world position</param>
            <param name="LocalTransformation">
                <para>The local transformation to apply in order to rotate the model</para>
                <para>NOTE: Only used for object disposal calcs</para>
            </param>
            <param name="Rotate">The rotation matrix to apply</param>
            <param name="Translate">The translation matrix to apply</param>
            <param name="Parameters">The object creation parameters</param>
            <returns>The index to the created object, or -1 if this call fails</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.CreateDynamicObject(OpenBveApi.Objects.ObjectState@)">
            <summary>Creates a dynamic object</summary>
            <param name="internalObject">The internal static object to be updated</param>
            <returns>The index of the dynamic object</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddObjectForCustomTimeTable(OpenBveApi.Objects.AnimatedObject)">
            <summary>Adds an object with a custom timetable texture</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ShowObject(OpenBveApi.Objects.ObjectState,OpenBveApi.Objects.ObjectType)">
            <summary>Shows an object in the base renderer</summary>
            <param name="objectToShow">The reference to the object to show</param>
            <param name="objectType">The object type</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.HideObject(OpenBveApi.Objects.ObjectState)">
            <summary>Hides an object in the base renderer</summary>
            <param name="objectToHide">The reference to the object to hide</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddMessage(OpenBveApi.Interface.MessageType,System.Boolean,System.String)">
            <summary>Adds a log message to the host application.</summary>
            <param name="type">The type of message to be reported.</param>
            <param name="FileNotFound">Whether this message relates to a file not found</param>
            <param name="text">The textual message.</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddMessage(System.Object)">
            <summary>Adds a fully constructed message to the in-game display</summary>
            <param name="AbstractMessage">The message to add</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddMessage(System.String,System.Object,OpenBveApi.GameMode,OpenBveApi.Colors.MessageColor,System.Double,System.String)">
             <summary>Adds a message to the in-game display</summary>
            <param name="Message">The text of the message</param>
             <param name="MessageDependancy">The dependency of the message</param>
             <param name="Mode">The required game mode for the message to display</param>
             <param name="MessageColor">The color of the message font</param>
             <param name="MessageTimeOut">The timeout of the message</param>
             <param name="Key">The message key</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.SoundIsPlaying(System.Object)">
            <summary>Checks whether the specified sound source is playing</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.PlaySound(OpenBveApi.Sounds.SoundHandle,System.Double,System.Double,OpenBveApi.Math.Vector3,System.Object,System.Boolean)">
            <summary>Plays a sound.</summary>
            <param name="buffer">The sound buffer.</param>
            <param name="pitch">The pitch change factor.</param>
            <param name="volume">The volume change factor.</param>
            <param name="position">The position. If a train car is specified, the position is relative to the car, otherwise absolute.</param>
            <param name="parent">The parent object the sound is attached to, or a null reference.</param>
            <param name="looped">Whether to play the sound in a loop.</param>
            <returns>The sound source.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.PlayMicSound(OpenBveApi.Math.Vector3,System.Double,System.Double)">
            <summary>Register the position to play microphone input.</summary>
            <param name="position">The position.</param>
            <param name="backwardTolerance">allowed tolerance in the backward direction</param>
            <param name="forwardTolerance">allowed tolerance in the forward direction</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.StopSound(System.Object)">
            <summary>Stops a playing sound source</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.StopAllSounds(System.Object)">
            <summary>Stops all sounds with the specified parent object</summary>
            <param name="parent">The parent object</param>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.SimulationState">
            <summary>Returns the current simulation state</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.AnimatedWorldObjectsUsed">
            <summary>Returns the number of animated world objects used</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.AnimatedWorldObjects">
            <summary>Returns the array of animated world objects from the host</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.Tracks">
            <summary>Gets or sets the tracks array within the host application</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.UpdateCustomTimetable(OpenBveApi.Textures.Texture,OpenBveApi.Textures.Texture)">
            <summary>Updates the custom timetable texture displayed when triggered by an event</summary>
            <param name="Daytime">The daytime texture</param>
            <param name="Nighttime">The nighttime texture</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ParseTrackFollowingObject(System.String,System.String)">
            <summary>Loads a track following object via the host program</summary>
            <param name="objectPath">The path to the object directory</param>
            /// <param name="tfoFile">The TFO parameters file</param>
            <returns>The track following object</returns>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.Plugins">
            <summary>The list of available content loading plugins</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.AvailableRoutePluginCount">
            <summary>The total number of available route loading plugins</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.AvailableObjectPluginCount">
            <summary>The total number of available object loading plugins</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.AvailableSoundPluginCount">
            <summary>The total number of available sound loading plugins</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.SupportedAnimatedObjectExtensions">
            <summary>
            Array of supported animated object extensions.
            </summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.SupportedStaticObjectExtensions">
            <summary>
            Array of supported static object extensions.
            </summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.StaticObjectCache">
            <summary>
            Dictionary of StaticObject with Path and PreserveVertices as keys.
            </summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.AnimatedObjectCollectionCache">
            <summary>
            Dictionary of AnimatedObjectCollection with Path as key.
            </summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddMarker(OpenBveApi.Textures.Texture,OpenBveApi.Math.Vector2)">
            <summary>Adds a marker texture to the host application's display</summary>
            <param name="MarkerTexture">The texture to add</param>
            <param name="Size">The size to draw</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.RemoveMarker(OpenBveApi.Textures.Texture)">
            <summary>Removes a marker texture if present in the host application's display</summary>
            <param name="MarkerTexture">The texture to remove</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.CameraAtWorldEnd">
            <summary>Called when a follower reaches the end of the world</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.InGameTime">
            <summary>Gets the current in-game time</summary>
            <returns>The time in seconds since midnight on the first day</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddBlackBoxEntry">
            <summary>Adds an entry to the in-game black box recorder</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ProcessJump(OpenBveApi.Trains.AbstractTrain,System.Int32,System.Int32)">
            <summary>Processes a jump</summary>
            <param name="Train">The train to be jumped</param>
            <param name="StationIndex">The station to jump to</param>
            <param name="TrackKey">The key of the track on which the station is placed</param>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddScore(System.Int32,System.String,OpenBveApi.Colors.MessageColor,System.Double)">
            <summary>May be called from a .Net plugin, in order to add a score to the post-game log</summary>
            <param name="Score">The score to add</param>
            <param name="Message">The message to display in the post-game log</param>
            <param name="Color">The color of the in-game message</param>
            <param name="Timeout">The time in seconds for which to display the in-game message</param>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.Trains">
            <summary>Returns the trains within the simulation</summary>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ClosestTrain(OpenBveApi.Trains.AbstractTrain)">
            <summary>Gets the closest train to the specified train</summary>
            <param name="Train">The specified train</param>
            <returns>The closest train, or null if no other trains</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.ClosestTrain(OpenBveApi.Math.Vector3)">
            <summary>Gets the closest train to the world location</summary>
            <param name="worldPosition">The specified track position</param>
            <returns>The closest train, or null if no other trains</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.AddTrain(OpenBveApi.Trains.AbstractTrain,OpenBveApi.Trains.AbstractTrain,System.Boolean)">
            <summary>Adds a new train</summary>
            <param name="ReferenceTrain">The reference train, or a null reference to add the train at the end of the queue</param>
            <param name="NewTrain">The new train</param>
            <param name="Preceedes">Whether this train precedes or follows the reference train</param>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.Win32PluginHostReady">
            <summary>The event raised when the 32-bit host application signals it is ready to accept connections from clients</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.Win32PluginHostStopped">
            <summary>The event raised when the proxy client quits and the host should stop</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.pipeBaseAddress">
            <summary>The base pipe address</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.pipeName">
            <summary>Pipe name</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.baseAddress">
            <summary>Base addresses for the hosted service.</summary>
        </member>
        <member name="P:OpenBveApi.Hosts.HostInterface.Win32PluginHostEndpointAddress">
            <summary>Complete address of the named pipe endpoint.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.HostInterface.NullFiles">
            <summary>Contains the list of commonly used 'empty' files</summary>
            <remarks>These generally aren't a valid object, and should be ignored for errors</remarks>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.LoadPlugins(OpenBveApi.FileSystem.FileSystem,OpenBveApi.BaseOptions,System.String@,System.Object,System.Object)">
            <summary>Loads all non-runtime plugins.</summary>
            <returns>Whether loading all plugins was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Hosts.HostInterface.UnloadPlugins(System.String@)">
            <summary>Unloads all non-runtime plugins.</summary>
        </member>
        <member name="T:OpenBveApi.Hosts.ProblemType">
            <summary>Represents the type of problem that is reported to the host.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.FileNotFound">
            <summary>Indicates that a file could not be found.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.DirectoryNotFound">
            <summary>Indicates that a directory could not be found.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.PathNotFound">
            <summary>Indicates that a file or directory could not be found.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.InvalidData">
            <summary>Indicates invalid data in a file or directory.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.InvalidOperation">
            <summary>Indicates an invalid operation.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.UnexpectedException">
            <summary>Indicates an unexpected exception.</summary>
        </member>
        <member name="F:OpenBveApi.Hosts.ProblemType.UnsupportedData">
            <summary>Indicates that the data was recognised, but is not supported</summary>
        </member>
        <member name="T:OpenBveApi.Interop.IAtsPluginProxy">
            <summary>Provides the WCF interface for sending data to the 32-bit plugin proxy</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.SetPluginFile(System.String,System.Int32)">
            <summary>Sets the plugin file to load</summary>
            <param name="fileName">The absolute on-disk path to the plugin file</param>
            <param name="SimulationProcessID">The ProcessID of the main game to monitor</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.Load(OpenBveApi.Runtime.VehicleSpecs,OpenBveApi.Runtime.InitializationModes)">
            <summary>Called to load and initialize the plugin.</summary>
            <param name="specs">The train specifications.</param>
            <param name="mode">The initialization mode of the train.</param>
            <returns>Whether loading the plugin was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.Unload">
            <summary>Called to unload the plugin</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.BeginJump(OpenBveApi.Runtime.InitializationModes)">
            <summary>Called before the train jumps to a different location.</summary>
            <param name="mode">The initialization mode of the train.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.Elapse(OpenBveApi.Runtime.ElapseProxy)">
            <summary>Called every frame to update the plugin.</summary>
            <param name="proxyData">The data passed to the plugin on Elapse.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.SetReverser(System.Int32)">
            <summary>Called to indicate a change of the reverser.</summary>
            <param name="reverser">The reverser.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.SetPowerNotch(System.Int32)">
            <summary>Called to indicate a change of the power notch.</summary>
            <param name="powerNotch">The power notch.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.SetBrake(System.Int32)">
            <summary>Called to indicate a change of the brake notch.</summary>
            <param name="brakeNotch">The brake notch.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.KeyDown(OpenBveApi.Runtime.VirtualKeys)">
            <summary>Called when a virtual key is pressed.</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.KeyUp(OpenBveApi.Runtime.VirtualKeys)">
            <summary>Called when a virtual key is released.</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.HornBlow(OpenBveApi.Runtime.HornTypes)">
            <summary>Called when a horn is played or stopped.</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.DoorChange(OpenBveApi.Runtime.DoorStates,OpenBveApi.Runtime.DoorStates)">
            <summary>Called when the state of the doors changes.</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.SetSignal(System.Int32)">
            <summary>Is called when the aspect in the current or any of the upcoming sections changes.</summary>
            <param name="aspect">The aspect of the signalling section.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.SetBeacon(OpenBveApi.Runtime.BeaconData)">
            <summary>Called when the train passes a beacon.</summary>
            <param name="beacon">The beacon data.</param>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginProxy.KeepAlive">
            <summary>Dummy method used to keep the WCF connection alive.</summary>
        </member>
        <member name="T:OpenBveApi.Interop.IAtsPluginCallback">
            <summary>Provides the WCF interface for receiving data from the 32-bit plugin proxy</summary>
        </member>
        <member name="M:OpenBveApi.Interop.IAtsPluginCallback.ReportError(System.String,System.Boolean)">
            <summary>Raised when the underlying Win32 plugin reports an error or crashes</summary>
            <param name="Error">The error information</param>
            <param name="Critical">Whether this is critical and the plugin may not continue</param>
        </member>
        <member name="T:OpenBveApi.Path">
            <summary>Provides path-related functions for accessing files and directories in a cross-platform manner.</summary>
        </member>
        <member name="M:OpenBveApi.Path.IsInvalidDatName(System.String)">
            <summary>Returns whether the dat file is potentially a Mechanik DAT file</summary>
        </member>
        <member name="M:OpenBveApi.Path.IsInvalidTxtName(System.String)">
            <summary>Returns whether the TXT file is potentially a BVE5 route</summary>
        </member>
        <member name="M:OpenBveApi.Path.IsInvalidDirectoryName(OpenBveApi.Hosts.HostPlatform,System.String,System.String)">
            <summary>Returns whether the directory name is valid for browsing</summary>
        </member>
        <member name="F:OpenBveApi.Path.InvalidPathChars">
            <summary>The list of characters that are invalid in platform-independent relative paths.</summary>
        </member>
        <member name="F:OpenBveApi.Path.PathSeparationChars">
            <summary>The list of characters at which relative paths are separated into parts.</summary>
        </member>
        <member name="M:OpenBveApi.Path.CombineDirectory(System.String,System.String,System.Boolean)">
            <summary>Combines a platform-specific absolute path with a platform-independent relative path that points to a directory.</summary>
            <param name="absolute">The platform-specific absolute path.</param>
            <param name="relative">The platform-independent relative path.</param>
            <param name="allowQueryStr">If a part similar to a URL query string at the end of the path should be preserved.</param>
            <returns>A platform-specific absolute path to the specified directory.</returns>
            <exception cref="T:System.Exception">Raised when combining the paths failed, for example due to malformed paths or due to unauthorized access.</exception>
        </member>
        <member name="M:OpenBveApi.Path.CombineDirectory(System.String,System.String)">
            <summary>Combines a platform-specific absolute path with a platform-independent relative path that points to a directory.</summary>
            <param name="absolute">The platform-specific absolute path.</param>
            <param name="relative">The platform-independent relative path.</param>
            <returns>A platform-specific absolute path to the specified directory.</returns>
            <exception cref="T:System.Exception">Raised when combining the paths failed, for example due to malformed paths or due to unauthorized access.</exception>
        </member>
        <member name="M:OpenBveApi.Path.CombineFile(System.String,System.String)">
            <summary>Combines a platform-specific absolute path with a platform-independent relative path that points to a file.</summary>
            <param name="absolute">The platform-specific absolute path.</param>
            <param name="relative">The platform-independent relative path.</param>
            <returns>Whether the operation succeeded and the specified file was found.</returns>
            <exception cref="T:System.Exception">Raised when combining the paths failed, for example due to malformed paths or due to unauthorized access.</exception>
        </member>
        <member name="M:OpenBveApi.Path.ContainsInvalidChars(System.String)">
            <summary>Tests whether a string contains characters invalid for use in a file name or path</summary>
            <param name="Expression">The string to test</param>
            <returns>True if this string contains invalid characters, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Path.IsAbsolutePath(System.String)">
            <summary>
            Checks whether the specified path is an absolute path.
            </summary>
            <param name="path">The path to test</param>
            <returns>True if this path is an absolute path, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Path.IsAllPeriods(System.String)">
            <summary>Checks whether the specified string consists only of periods.</summary>
            <param name="text">The string to check.</param>
            <returns>Whether the string consists only of periods.</returns>
        </member>
        <member name="M:OpenBveApi.Path.GetChecksum(System.String)">
            <summary>Gets the SHA-256 checksum for a file</summary>
            <param name="file">The file to hash</param>
            <returns>The SHA-256 hash, or an empty string if not valid</returns>
        </member>
        <member name="M:OpenBveApi.Path.GetDirectoryName(System.String)">
            <summary>Returns the directory information for the specified path string</summary>
            <param name="path">The path string</param>
        </member>
        <member name="M:OpenBveApi.Path.GetFileName(System.String)">
            <summary>Returns the file name and extension for the specified path string</summary>
            <param name="path">The path string</param>
        </member>
        <member name="M:OpenBveApi.Path.GetFileNameWithoutExtension(System.String)">
            <summary>Returns the file name for the specified path string</summary>
            <param name="path">The path string</param>
        </member>
        <member name="M:OpenBveApi.Path.HasExtension(System.String)">
            <summary>Determines whether a path contains a filename extension</summary>
            <param name="path">The path string</param>
        </member>
        <member name="M:OpenBveApi.Path.IsPathRooted(System.String)">
            <summary>Gets a value containing whether the specified path string contains a root</summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="T:OpenBveApi.Path.Loksim3D">
            <summary>Provides path resolution functions for Loksim3D related content.</summary>
        </member>
        <member name="M:OpenBveApi.Path.Loksim3D.CombineFile(System.String,System.String,System.String)">
            <summary>
            Attempts to combine an absolute path
            </summary>
            <param name="absolute"></param>
            <param name="relative"></param>
            <param name="packageDirectory"></param>
            <returns></returns>
        </member>
        <member name="T:OpenBveApi.SimulationState">
            <summary>The current state of the simulation</summary>
        </member>
        <member name="F:OpenBveApi.SimulationState.Loading">
            <summary>Loading is currently in progress</summary>
        </member>
        <member name="F:OpenBveApi.SimulationState.Running">
            <summary>The simulation is running normally</summary>
        </member>
        <member name="F:OpenBveApi.SimulationState.Paused">
            <summary>The simulation is paused</summary>
        </member>
        <member name="F:OpenBveApi.SimulationState.MinimalisticSimulation">
            <summary>The simulation is running in minimalistic mode</summary>
        </member>
        <member name="T:OpenBveApi.TextEncoding">
            <summary>Contains helper functions for working with TextEncodings</summary>
        </member>
        <member name="T:OpenBveApi.TextEncoding.EncodingValue">
            <summary>Represents a file and the associated encoding</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.EncodingValue.Codepage">
            <summary>The system codepage for this text encoding</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.EncodingValue.Value">
            <summary>The filename</summary>
        </member>
        <member name="T:OpenBveApi.TextEncoding.Encoding">
            <summary>The understood character encodings</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.Unknown">
            <summary>The character encoding is unknown</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.IBM855">
            <summary>IBM855 (OEM Cyrillic)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.IBM866">
            <summary>IBM866 (Legacy Cyrillic)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.SHIFT_JIS">
            <summary>Shift_JIS</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.EUC_KR">
            <summary>EUC-KR (EUC-KR is a subset of KS_C_5601-1987 and Legacy Korean)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.BIG5">
            <summary>BIG5 (Traditional Chinese)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.UTF16_LE">
            <summary>UTF-16LE</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.UTF16_BE">
            <summary>UTF-16BE</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.WIN1251">
            <summary>Windows-1251 (Legacy Microsoft Cyrillic)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.WIN1252">
            <summary>Windows-1252 (Legacy Microsoft Western European)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.WIN1253">
            <summary>Windows-1253 (Legacy Microsoft Greek)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.WIN1255">
            <summary>Windows-1255 (Legacy Microsoft Hebrew)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.MAC_CYRILLIC">
            <summary>x-mac-cyrillic (Legacy Mac Cyrillic)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.UTF32_LE">
            <summary>UTF-32LE</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.UTF32_BE">
            <summary>UTF-32BE</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ASCII">
            <summary>Basic ASCII</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.KOI8_R">
            <summary>KOI8-R (Legacy Cyrillic)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.EUC_JP">
            <summary>EUC-JP</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO8859_2">
            <summary>ISO-8859-2 (ISO 8859 Central European)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO8859_5">
            <summary>ISO-8859-5 (ISO 8859 Cyrillic)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO8859_7">
            <summary>ISO-8859-7 (ISO 8859 Greek)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO8859_8">
            <summary>ISO-8859-8 (ISO 8859 Visual Hebrew)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO2022_JP">
            <summary>ISO-2022-JP (ISO 2022 Japanese)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO2022_KR">
            <summary>ISO-2022-KR (ISO 2022 Korean)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.ISO2022_CN">
            <summary>ISO-2022-CN (ISO 2022 Chinese)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.HZ_GB_2312">
            <summary>HZ_GB_2312 (Simplified Chinese)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.GB18030">
            <summary>GB18030 (Simplified Chinese)</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.UTF7">
            <summary>UTF-7</summary>
        </member>
        <member name="F:OpenBveApi.TextEncoding.Encoding.UTF8">
            <summary>UTF-8</summary>
        </member>
        <member name="M:OpenBveApi.TextEncoding.GetSystemEncodingFromBytes(System.Byte[],System.Text.Encoding)">
            <summary>
            Gets the character system encoding of the bytes array
            </summary>
            <param name="Data">The bytes array</param>
            <param name="DefaultEncoding">The encoding to use if the encoding could not be determined. If not specified, the system default encoding is used.</param>
            <returns>The character system encoding, or default encoding if unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.GetSystemEncodingFromFile(System.String,System.Text.Encoding)">
            <summary>Gets the character system encoding of a file</summary>
            <param name="File">The absolute path to a file</param>
            <param name="DefaultEncoding">The encoding to use if the encoding could not be determined. If not specified, the system default encoding is used.</param>
            <returns>The character system encoding, or default encoding if unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.GetSystemEncodingFromFile(System.String,System.String,System.Text.Encoding)">
            <summary>Gets the character system encoding of a file within a folder</summary>
            <param name="Folder">The absolute path to the folder containing the file</param>
            <param name="File">The filename</param>
            <param name="DefaultEncoding">The encoding to use if the encoding could not be determined. If not specified, the system default encoding is used.</param>
            <returns>The character system encoding, or default encoding if unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.ConvertToSystemEncoding(OpenBveApi.TextEncoding.Encoding,System.Text.Encoding)">
            <summary>
            Converts to the character system encoding
            </summary>
            <param name="encoding">The character encoding, or unknown</param>
            <param name="DefaultEncoding">The encoding to use if the encoding could not be determined. If not specified, the system default encoding is used.</param>
            <returns>The character system encoding, or default encoding if unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.GetEncodingFromBytes(System.Byte[])">
            <summary>
            Gets the character encoding of the bytes array
            </summary>
            <param name="Data">The bytes array</param>
            <returns>The character encoding, or unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.GetEncodingFromFile(System.String)">
            <summary>Gets the character encoding of a file</summary>
            <param name="File">The absolute path to a file</param>
            <returns>The character encoding, or unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.GetEncodingFromFile(System.String,System.String)">
            <summary>Gets the character encoding of a file within a folder</summary>
            <param name="Folder">The absolute path to the folder containing the file</param>
            <param name="File">The filename</param>
            <returns>The character encoding, or unknown</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.ParseEncoding(System.String)">
            <summary>Gets the encoding corresponding to a textual name string</summary>
            <param name="EncodingName">The textual name of the encoding</param>
            <returns>The System.Text.Encoding</returns>
        </member>
        <member name="M:OpenBveApi.TextEncoding.IsUtf(System.Text.Encoding)">
            <summary>Checks whether the specified System.Text.Encoding is Unicode</summary>
            <param name="Encoding">The Encoding</param>
        </member>
        <member name="T:OpenBveApi.CPreciseTimer">
            <summary>This class implements a high-precision, multi-platform timer</summary>
        </member>
        <member name="M:OpenBveApi.CPreciseTimer.GetElapsedTime">
            <summary>Gets the elapsed time in seconds since the last call to GetElapsedTime</summary>
        </member>
        <member name="M:OpenBveApi.CPreciseTimer.GetElapsedTime(System.Int32,System.Int32)">
            <summary>Gets the elapsed time in seconds between two ticks</summary>
        </member>
        <member name="M:OpenBveApi.CPreciseTimer.GetClockTicks">
            <summary>Gets the current environment tick count</summary>
            <returns></returns>
        </member>
        <member name="T:OpenBveApi.Textures.ByteArrayOrigin">
            <summary>Represents a texture originating from a byte array</summary>
        </member>
        <member name="M:OpenBveApi.Textures.ByteArrayOrigin.#ctor(System.Int32,System.Int32,System.Byte[][],System.Double)">
            <summary>Creates a byte array origin</summary>
            <param name="width">The width of the underlying texture</param>
            <param name="height">The height of the underlying texture</param>
            <param name="bytes">The bytes</param>
            <param name="frameInterval">The frame interval</param>
        </member>
        <member name="M:OpenBveApi.Textures.ByteArrayOrigin.#ctor(System.Int32,System.Int32,System.Byte[])">
            <summary>Creates a byte array origin</summary>
            <param name="width">The width of the underlying texture</param>
            <param name="height">The height of the underlying texture</param>
            <param name="bytes">The bytes</param>
        </member>
        <member name="M:OpenBveApi.Textures.ByteArrayOrigin.GetTexture(OpenBveApi.Textures.Texture@)">
            <summary>Gets the texture from this origin.</summary>
            <param name="texture">Receives the texture.</param>
            <returns>Whether the texture could be obtained successfully.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.ByteArrayOrigin.op_Equality(OpenBveApi.Textures.ByteArrayOrigin,OpenBveApi.Textures.ByteArrayOrigin)">
            <summary>Checks whether two origins are equal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.ByteArrayOrigin.op_Inequality(OpenBveApi.Textures.ByteArrayOrigin,OpenBveApi.Textures.ByteArrayOrigin)">
            <summary>Checks whether two origins are unequal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.ByteArrayOrigin.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.ImageSizeMode">
            <summary>Differing methods of fitting an image to a surface size</summary>
        </member>
        <member name="F:OpenBveApi.Textures.ImageSizeMode.Normal">
            <summary>The texture is placed at the top left corner, and is clipped if larger than the surface</summary>
        </member>
        <member name="F:OpenBveApi.Textures.ImageSizeMode.Center">
            <summary>The texture is centered on the surface</summary>
        </member>
        <member name="F:OpenBveApi.Textures.ImageSizeMode.Stretch">
            <summary>The texture is stretched or shrunk to fit the surface</summary>
        </member>
        <member name="F:OpenBveApi.Textures.ImageSizeMode.Zoom">
            <summary>The texture is stretched or shrunk to fit the surface, maintaining it's aspect ratio</summary>
        </member>
        <member name="T:OpenBveApi.Textures.PixelFormat">
            <summary>Describes the format of a pixel</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PixelFormat.Invalid">
            <summary>The pixel format is invalid</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PixelFormat.Grayscale">
            <summary>The pixel is a single grayscale byte</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PixelFormat.GrayscaleAlpha">
            <summary>The pixel is a grayscale byte and an alpha byte</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PixelFormat.RGB">
            <summary>The pixel is a RGB triple</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PixelFormat.RGBAlpha">
            <summary>The pixel is a RGB triple and an alpha byte</summary>
        </member>
        <member name="T:OpenBveApi.Textures.TextureClipRegion">
            <summary>Represents a region in a texture to be extracted.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureClipRegion.Left">
            <summary>Gets the left coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureClipRegion.Top">
            <summary>Gets the top coordinate.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureClipRegion.Width">
            <summary>Gets the width.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureClipRegion.Height">
            <summary>Gets the height.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextureClipRegion.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>Creates a new clip region.</summary>
            <param name="left">The left coordinate.</param>
            <param name="top">The top coordinate.</param>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
            <exception cref="T:System.ArgumentException">Raised when the left or top are negative.</exception>
            <exception cref="T:System.ArgumentException">Raised when the width or height are non-positive.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.TextureClipRegion.op_Equality(OpenBveApi.Textures.TextureClipRegion,OpenBveApi.Textures.TextureClipRegion)">
            <summary>Checks whether two clip regions are equal.</summary>
            <param name="a">The first clip region.</param>
            <param name="b">The second clip region.</param>
            <returns>Whether the two clip regions are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureClipRegion.op_Inequality(OpenBveApi.Textures.TextureClipRegion,OpenBveApi.Textures.TextureClipRegion)">
            <summary>Checks whether two clip regions are unequal.</summary>
            <param name="a">The first clip region.</param>
            <param name="b">The second clip region.</param>
            <returns>Whether the two clip regions are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureClipRegion.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.OpenGlTexture">
            <summary>Represents an OpenGL texture.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTexture.Valid">
            <summary>Whether the texture has been loaded and the OpenGL texture name is valid.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTexture.Name">
            <summary>The OpenGL texture name.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTexture.Used">
            <summary>Whether the texture has been used</summary>
        </member>
        <member name="T:OpenBveApi.Textures.PathOrigin">
            <summary>Represents a file or directory where the texture can be loaded from.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PathOrigin.Path">
            <summary>The absolute on-disk path to where the texture may be loaded</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PathOrigin.Parameters">
            <summary>The texture parameters to be applied when loading this texture from disk</summary>
            <remarks>Multiple textures with different parameters may be loaded from the same on-disk file</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.PathOrigin.LastModificationTime">
            <summary>The last modification time (on load) of this texture</summary>
        </member>
        <member name="F:OpenBveApi.Textures.PathOrigin.FileSize">
            <summary>The file size (on load) of this texture</summary>
        </member>
        <member name="M:OpenBveApi.Textures.PathOrigin.#ctor(System.String,OpenBveApi.Textures.TextureParameters,OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new path origin.</summary>
            <param name="path">The path to the texture.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
            <param name="Host">The callback function to the host application</param>
        </member>
        <member name="M:OpenBveApi.Textures.PathOrigin.GetTexture(OpenBveApi.Textures.Texture@)">
            <summary>Gets the texture from this origin.</summary>
            <param name="texture">Receives the texture.</param>
            <returns>Whether the texture could be obtained successfully.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.PathOrigin.op_Equality(OpenBveApi.Textures.PathOrigin,OpenBveApi.Textures.PathOrigin)">
            <summary>Checks whether two origins are equal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.PathOrigin.op_Inequality(OpenBveApi.Textures.PathOrigin,OpenBveApi.Textures.PathOrigin)">
            <summary>Checks whether two origins are unequal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.PathOrigin.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.PathOrigin.ToString">
            <summary>Returns a string representing the absolute on-disk path of this texture</summary>
        </member>
        <member name="T:OpenBveApi.Textures.RawOrigin">
            <summary>Represents texture raw data.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.RawOrigin.Texture">
            <summary>The texture raw data.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.RawOrigin.#ctor(OpenBveApi.Textures.Texture)">
            <summary>Creates a new raw data origin.</summary>
            <param name="texture">The texture raw data.</param>
        </member>
        <member name="M:OpenBveApi.Textures.RawOrigin.GetTexture(OpenBveApi.Textures.Texture@)">
            <summary>Gets the texture from this origin.</summary>
            <param name="texture">Receives the texture.</param>
            <returns>Whether the texture could be obtained successfully.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.TextOverlay">
            <summary>Provides functions for dynamically overlaying text onto a texture</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextOverlay.AddTextToBitmap(System.Drawing.Bitmap,System.String,System.String,System.Int32,System.Drawing.Color,System.Drawing.Color,OpenBveApi.Math.Vector2)">
            <summary>Adds a textual string to a bitmap image</summary>
            <param name="bitmap">The bitmap image to add the text to, or a null reference if a new image is to be created</param>
            <param name="txt">The text to overlay</param>
            <param name="fontName">The name of the font to use</param>
            <param name="fontSize">The size in points of the font</param>
            <param name="bgColor">The background color to use (Only relevant if creating a new image)</param>
            <param name="fColor">The font color to use</param>
            <param name="Padding">The padding to use, or alternatively the X,Y inset if overlaying text</param>
        </member>
        <member name="M:OpenBveApi.Textures.TextOverlay.FontAvailable(System.String)">
            <summary>Checks whether the specified font name is present on the system</summary>
            <param name="fontName">The font name to check</param>
        </member>
        <member name="T:OpenBveApi.Textures.Texture">
            <summary>Represents a texture.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.Size">
            <summary>The size of the texture in pixels</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.PixelFormat">
            <summary>The pixel format of the texture.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.MyBytes">
            <summary>The texture data. Pixels are stored row-based from top to bottom, and within a row from left to right. For 32 bits per pixel, four bytes are used in the order red, green, blue and alpha.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.Palette">
            <summary>The restricted color palette for this texture, or a null reference if the texture was 24/ 32 bit originally</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.Ignore">
            <summary>Whether the texture is invalid and should be ignored</summary>
            <remarks>Set when loading the texture fails unexpectedly</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.LastAccess">
            <summary>The last access of this texture in clockticks</summary>
            <remarks>Used by the engine when deciding to unload unused textures</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.AvailableToUnload">
            <summary>Whether the texture is available to unload</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.MyOpenGlTextures">
            <summary>Holds the OpenGL textures</summary>
            <remarks>An 3D array containing the OpenGL texture array for each frame</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.Origin">
            <summary>Holds the origin where this texture may be loaded from</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.Transparency">
            <summary>The type of transparency used by this texture</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.MultipleFrames">
            <summary>Whether the texture has multiple frames</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.CurrentFrame">
            <summary>The current frame if multiple frames</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.FrameInterval">
            <summary>The current frame interval in milliseconds if multiple frames</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.TotalFrames">
            <summary>The total number of frames</summary>
        </member>
        <member name="F:OpenBveApi.Textures.Texture.CompatibleTransparencyMode">
            <summary>Whether this texture uses the compatible transparency mode (Matches to the nearest color in a restricted palette)</summary>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.GetPixel(System.Int32,System.Int32)">
            <summary>Gets the color of the given pixel</summary>
            <param name="pix">The pixel index</param>
            <param name="frame">The frame</param>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.GetAlpha(System.Int32,System.Int32)">
            <summary>Gets the alpha value of the given pixel</summary>
            <param name="pix">The pixel index</param>
            <param name="frame">The frame</param>
            <returns></returns>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(System.Int32,System.Int32,OpenBveApi.Textures.PixelFormat,System.Byte[],OpenBveApi.Colors.Color24[])">
            <summary>Creates a new instance of this class.</summary>
            <param name="width">The width of the texture in pixels.</param>
            <param name="height">The height of the texture in pixels.</param>
            <param name="pixelFormat">The pixel format.</param>
            <param name="bytes">The texture data. Pixels are stored row-based from top to bottom, and within a row from left to right. For 32 bits per pixel, four bytes are used in the order red, green, blue and alpha.</param>
            <param name="palette">The original color palette of the image (Before upsampling to 32-bit RGBA)</param>
            <exception cref="T:System.ArgumentException">Raised when the number of bits per pixel is not 32.</exception>
            <exception cref="T:System.ArgumentNullException">Raised when the byte array is a null reference.</exception>
            <exception cref="T:System.ArgumentException">Raised when the byte array is of unexpected length.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(System.Int32,System.Int32,OpenBveApi.Textures.PixelFormat,System.Byte[][],System.Double)">
            <summary>Creates a new instance of this class.</summary>
            <param name="width">The width of the texture in pixels.</param>
            <param name="height">The height of the texture in pixels.</param>
            <param name="pixelFormat">The pixel format.</param>
            <param name="bytes">The texture data. Pixels are stored row-based from top to bottom, and within a row from left to right. For 32 bits per pixel, four bytes are used in the order red, green, blue and alpha.</param>
            <param name="frameInterval">The frame interval</param>
            <exception cref="T:System.ArgumentException">Raised when the number of bits per pixel is not 32.</exception>
            <exception cref="T:System.ArgumentNullException">Raised when the byte array is a null reference.</exception>
            <exception cref="T:System.ArgumentException">Raised when the byte array is of unexpected length.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(System.String,OpenBveApi.Textures.TextureParameters,OpenBveApi.Hosts.HostInterface)">
            <summary>Creates a new texture.</summary>
            <param name="path">The path to the texture.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
            <param name="currentHost">The callback function to the host application</param>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(System.Drawing.Bitmap)">
            <summary>Creates a new texture.</summary>
            <param name="bitmap">The System.Drawing.Bitmap that contains the texture.</param>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(System.Drawing.Bitmap,OpenBveApi.Textures.TextureParameters)">
            <summary>Creates a new texture.</summary>
            <param name="bitmap">The System.Drawing.Bitmap that contains the texture.</param>
            <param name="parameters">The parameters that specify how to process the texture.</param>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(OpenBveApi.Textures.Texture)">
            <summary>Creates a new texture.</summary>
            <param name="texture">The texture raw data.</param>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.#ctor(OpenBveApi.Textures.TextureOrigin)">
            <summary>Creates a new texture from a texture origin.</summary>
            <param name="origin">The texture raw data.</param>
        </member>
        <member name="P:OpenBveApi.Textures.Texture.Width">
            <summary>Gets the width of the texture in pixels.</summary>
        </member>
        <member name="P:OpenBveApi.Textures.Texture.Height">
            <summary>Gets the height of the texture in pixels.</summary>
        </member>
        <member name="P:OpenBveApi.Textures.Texture.AspectRatio">
            <summary>Gets the aspect ratio of the texture</summary>
        </member>
        <member name="P:OpenBveApi.Textures.Texture.Bytes">
            <summary>Gets the texture data. Pixels are stored row-based from top to bottom, and within a row from left to right. For 32 bits per pixel, four bytes are used in the order red, green, blue and alpha.</summary>
        </member>
        <member name="P:OpenBveApi.Textures.Texture.OpenGlTextures">
            <summary>Gets the OpenGL textures for this texture</summary>
            <remarks>If multiple frames, returns those for the current frame</remarks>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.op_Equality(OpenBveApi.Textures.Texture,OpenBveApi.Textures.Texture)">
            <summary>Checks whether two textures are equal.</summary>
            <param name="a">The first texture.</param>
            <param name="b">The second texture.</param>
            <returns>Whether the two textures are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.op_Inequality(OpenBveApi.Textures.Texture,OpenBveApi.Textures.Texture)">
            <summary>Checks whether two textures are unequal.</summary>
            <param name="a">The first texture.</param>
            <param name="b">The second texture.</param>
            <returns>Whether the two textures are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.ApplyParameters(OpenBveApi.Textures.TextureParameters)">
            <summary>Applies the specified parameters onto this texture.</summary>
            <param name="parameters">The parameters, or a null reference.</param>
            <returns>The texture with the parameters applied.</returns>
            <exception cref="T:System.ArgumentException">Raised when the clip region is outside the texture bounds.</exception>
            <exception cref="T:System.NotSupportedException">Raised when the bits per pixel in the texture is not supported.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.GetTransparencyType">
            <summary>Gets the type of transparency encountered in this texture.</summary>
            <returns>The type of transparency encountered in this texture.</returns>
            <exception cref="T:System.NotSupportedException">Raised when the bits per pixel in the texture is not supported.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.Texture.InvertLightness">
            <summary>Inverts the lightness values of a texture used for a glow</summary>
        </member>
        <member name="T:OpenBveApi.Textures.Functions">
            <summary>Provides functions for manipulating textures.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.Functions.ApplyParameters(OpenBveApi.Textures.Texture,OpenBveApi.Textures.TextureParameters)">
            <summary>Applies parameters onto a texture.</summary>
            <param name="texture">The original texture.</param>
            <param name="parameters">The parameters, or a null reference.</param>
            <returns>The texture with the parameters applied.</returns>
            <exception cref="T:System.ArgumentException">Raised when the clip region is outside the texture bounds.</exception>
            <exception cref="T:System.NotSupportedException">Raised when the bits per pixel in the texture is other than 32.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.Functions.ExtractClipRegion(OpenBveApi.Textures.Texture,OpenBveApi.Textures.TextureClipRegion)">
            <summary>Extracts a clip region from a texture.</summary>
            <param name="texture">The original texture.</param>
            <param name="region">The clip region, or a null reference.</param>
            <returns>The texture with the extracted clip region.</returns>
            <exception cref="T:System.ArgumentException">Raised when the clip region is outside the texture bounds.</exception>
            <exception cref="T:System.NotSupportedException">Raised when the number of bits per pixel in the texture is not supported.</exception>
        </member>
        <member name="M:OpenBveApi.Textures.Functions.ApplyTransparentColor(OpenBveApi.Textures.Texture,System.Nullable{OpenBveApi.Colors.Color24})">
            <summary>Applies a transparent color onto a texture.</summary>
            <param name="texture">The original texture.</param>
            <param name="color">The transparent color, or a null reference.</param>
            <returns>The texture with the transparent color applied.</returns>
            <exception cref="T:System.NotSupportedException">Raised when the number of bits per pixel in the texture is not supported.</exception>
        </member>
        <member name="T:OpenBveApi.Textures.OpenGlTextureWrapMode">
            <summary>Represents how the texture wraps on each axis.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTextureWrapMode.ClampClamp">
            <summary>The texture is clamped to edge on both axes.</summary>
            <remarks>The numerical value is 0.</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTextureWrapMode.ClampRepeat">
            <summary>The texture is clamped to edge on the x-axis and repeats on the y-axis.</summary>
            <remarks>The numerical value is 1.</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTextureWrapMode.RepeatClamp">
            <summary>The texture repeats on the x-axis and is clamped to edge on the y-axis.</summary>
            <remarks>The numerical value is 2.</remarks>
        </member>
        <member name="F:OpenBveApi.Textures.OpenGlTextureWrapMode.RepeatRepeat">
            <summary>The texture repeats on both axes.</summary>
            <remarks>The numerical value is 3.</remarks>
        </member>
        <member name="T:OpenBveApi.Textures.BitmapOrigin">
            <summary>Represents a System.Drawing.Bitmap where the texture can be loaded from.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.BitmapOrigin.Bitmap">
            <summary>The bitmap.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.BitmapOrigin.Parameters">
            <summary>The texture parameters to be applied when loading the texture to OpenGL</summary>
        </member>
        <member name="M:OpenBveApi.Textures.BitmapOrigin.#ctor(System.Drawing.Bitmap)">
            <summary>Creates a new bitmap origin.</summary>
            <param name="bitmap">The bitmap.</param>
        </member>
        <member name="M:OpenBveApi.Textures.BitmapOrigin.#ctor(System.Drawing.Bitmap,OpenBveApi.Textures.TextureParameters)">
            <summary>Creates a new bitmap origin.</summary>
            <param name="bitmap">The bitmap.</param>
            <param name="parameters">The texture parameters</param>
        </member>
        <member name="M:OpenBveApi.Textures.BitmapOrigin.GetTexture(OpenBveApi.Textures.Texture@)">
            <summary>Gets the texture from this origin.</summary>
            <param name="texture">Receives the texture.</param>
            <returns>Whether the texture could be obtained successfully.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.TextureInterface">
            <summary>Represents the interface for loading textures. Plugins must implement this interface if they wish to expose textures.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.Load(OpenBveApi.Hosts.HostInterface)">
            <summary>Called when the plugin is loaded.</summary>
            <param name="host">The host that loaded the plugin.</param>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.Load(OpenBveApi.Hosts.HostInterface,OpenBveApi.FileSystem.FileSystem,OpenBveApi.BaseOptions)">
            <summary>Called when the plugin is loaded.</summary>
            <param name="host">The host that loaded the plugin.</param>
            <param name="fileSystem">The filesystem from the host application</param>
            <param name="Options">The options supplied by the host program</param>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.Unload">
            <summary>Called when the plugin is unloaded.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.SetCompatabilityHacks(OpenBveApi.Textures.CompatabilityHacks)">
            <summary>Sets various hacks to workaround buggy textures</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.CanLoadTexture(System.String)">
            <summary>Checks whether the plugin can load the specified texture.</summary>
            <param name="path">The path to the file or folder that contains the texture.</param>
            <returns>Whether the plugin can load the specified texture.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.QueryTextureDimensions(System.String,System.Int32@,System.Int32@)">
            <summary>Queries the dimensions of a texture.</summary>
            <param name="path">The path to the file or folder that contains the texture.</param>
            <param name="width">Receives the width of the texture.</param>
            <param name="height">Receives the height of the texture.</param>
            <returns>Whether querying the dimensions was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureInterface.LoadTexture(System.String,OpenBveApi.Textures.Texture@)">
            <summary>Loads the specified texture.</summary>
            <param name="path">The path to the file or folder that contains the texture.</param>
            <param name="texture">Receives the texture.</param>
            <returns>Whether loading the texture was successful.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.CompatabilityHacks">
            <summary>Controls various hacks used with older content</summary>
        </member>
        <member name="F:OpenBveApi.Textures.CompatabilityHacks.ReduceTransparencyColorDepth">
            <summary>Transparency color depth should be reduced to 256 colors</summary>
        </member>
        <member name="T:OpenBveApi.Textures.TextureOrigin">
            <summary>Represents the origin where the texture can be loaded from.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextureOrigin.GetTexture(OpenBveApi.Textures.Texture@)">
            <summary>Gets the texture from this origin.</summary>
            <param name="texture">Receives the texture.</param>
            <returns>Whether the texture could be obtained successfully.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureOrigin.op_Equality(OpenBveApi.Textures.TextureOrigin,OpenBveApi.Textures.TextureOrigin)">
            <summary>Checks whether two origins are equal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureOrigin.op_Inequality(OpenBveApi.Textures.TextureOrigin,OpenBveApi.Textures.TextureOrigin)">
            <summary>Checks whether two origins are unequal.</summary>
            <param name="a">The first origin.</param>
            <param name="b">The second origin.</param>
            <returns>Whether the two origins are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureOrigin.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.TextureParameters">
            <summary>Represents additional parameters that specify how to process the texture.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureParameters.ClipRegion">
            <summary>The region in the texture to be extracted, or a null reference for the entire texture.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureParameters.TransparentColor">
            <summary>The color in the texture that should become transparent, or a null reference for no transparent color.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureParameters.TransparencyTexture">
            <summary>The alpha channel texture</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureParameters.NoChange">
            <summary>Texture parameters, which apply no changes.</summary>
        </member>
        <member name="M:OpenBveApi.Textures.TextureParameters.#ctor(OpenBveApi.Textures.TextureClipRegion,System.Nullable{OpenBveApi.Colors.Color24},OpenBveApi.Textures.Texture)">
            <summary>Creates new texture parameters.</summary>
            <param name="clipRegion">The region in the texture to be extracted, or a null reference for the entire texture.</param>
            <param name="transparentColor">The color in the texture that should become transparent, or a null reference for no transparent color.</param>
            <param name="transparencyTexture">The texture to be applied to the alpha channel</param>
        </member>
        <member name="M:OpenBveApi.Textures.TextureParameters.op_Equality(OpenBveApi.Textures.TextureParameters,OpenBveApi.Textures.TextureParameters)">
            <summary>Checks whether two texture parameters are equal.</summary>
            <param name="a">The first texture parameter.</param>
            <param name="b">The second texture parameter.</param>
            <returns>Whether the two texture parameters are equal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureParameters.op_Inequality(OpenBveApi.Textures.TextureParameters,OpenBveApi.Textures.TextureParameters)">
            <summary>Checks whether two texture parameters are unequal.</summary>
            <param name="a">The first texture parameter.</param>
            <param name="b">The second texture parameter.</param>
            <returns>Whether the two texture parameters are unequal.</returns>
        </member>
        <member name="M:OpenBveApi.Textures.TextureParameters.Equals(System.Object)">
            <summary>Checks whether this instance is equal to the specified object.</summary>
            <param name="obj">The object.</param>
            <returns>Whether this instance is equal to the specified object.</returns>
        </member>
        <member name="T:OpenBveApi.Textures.TextureTransparencyType">
            <summary>Represents the type of transparency encountered in a texture.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureTransparencyType.Opaque">
            <summary>All pixels in the texture are fully opaque.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureTransparencyType.Partial">
            <summary>All pixels in the texture are either fully opaque or fully transparent.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureTransparencyType.Alpha">
            <summary>Some pixels in the texture are neither fully opaque nor fully transparent.</summary>
        </member>
        <member name="F:OpenBveApi.Textures.TextureTransparencyType.Transparent">
            <summary>All pixels in the texture are fully transparent</summary>
        </member>
        <member name="T:OpenBveApi.Trains.AbstractCar">
            <summary>An abstract train car</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.FrontAxle">
            <summary>Front axle about which the car pivots</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.RearAxle">
            <summary>Rear axle about which the car pivots</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.Width">
            <summary>The width of the car in meters</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.Height">
            <summary>The height of the car in meters</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.Length">
            <summary>The length of the car in meters</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.Up">
            <summary>The Up vector</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.CurrentSpeed">
            <summary>The current speed of this car</summary>
            <remarks>Default units are km/h</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.Description">
            <summary>The textual description for this car</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.EmptyMass">
            <summary>The empty mass of the car in kilograms</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractCar.CurrentMass">
            <summary>Returns the current mass of the car including cargo in kilograms</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.CargoMass">
            <summary>The current mass of any cargo in the car in kilograms</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.Brightness">
            <summary>Contains the current brightness values</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.DrivingWheels">
            <summary>The driving wheel sets on the car</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCar.TrailingWheels">
            <summary>The trailing wheel sets on the car</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractCar.AvailablePowerSupplies">
            <summary>Returns the available power supplies to this car</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractCar.CreateWorldCoordinates(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3@,OpenBveApi.Math.Vector3@)">
            <summary>Creates the in-world co-ordinates for a sound attached to this car</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractCar.TrackPosition">
            <summary>Gets the track position of this car</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractCar.Index">
            <summary>The index of the car within the train</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractCar.Reverse(System.Boolean)">
            <summary>Call this method to reverse (flip) the car</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractCar.OpenDoors(System.Boolean,System.Boolean)">
            <summary>Opens the car doors</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractCar.Uncouple(System.Boolean,System.Boolean)">
            <summary>Uncouples the car</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractCar.Derail">
            <summary>Derails this car</summary>
        </member>
        <member name="T:OpenBveApi.Trains.AbstractTrain">
            <summary>An abstract train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.Type">
            <summary>The type of the train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.State">
            <summary>The current state of the train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.AI">
            <summary>Holds the AI controlling the train if any</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.StationState">
            <summary>The current station state</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.NextStopSkipped">
            <summary>Defines whether the next stop is skipped</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.DriverCar">
            <summary>The car in which the driver's cab is located</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.Destination">
            <summary>The next user-set destination</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.LastStation">
            <summary>The previous station at which the train called</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.CurrentSectionIndex">
            <summary>The index of the signalling section that the train is currently in</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.CurrentSectionLimit">
            <summary>The speed limit of the signalling section the train is currently in</summary>
            <remarks>Default units are km/h</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.RouteLimits">
            <summary>The route speed limits</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.CurrentRouteLimit">
            <summary>The current route limit in effect</summary>
            <remarks>Units are m/s</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.CurrentSpeed">
            <summary>The current speed of the train (as an average of all cars)</summary>
            <remarks>Default units are m/s</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.Station">
            <summary>The index to the next station at which the train calls</summary>
            <remarks>If stationary at a timetabled station, this will return that station</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.Switch">
            <summary>The last switch the train passed over</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.TimetableDelta">
            <summary>The timetable delta from the player train</summary>
            <remarks>Is negative for earlier trains, or negative for later trains</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractTrain.TrainFolder">
            <summary>A string storing the absolute on-disk path to the current train folder</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.FrontCarTrackPosition">
            <summary>Gets the track position of the front car</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.RearCarTrackPosition">
            <summary>Gets the track position of the rear car</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.IsPlayerTrain">
            <summary>Returns true if this is the player driven train</summary>
            <remarks>NOTE: An abstract train in and of itself cannot be the player train</remarks>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.NumberOfCars">
            <summary>Returns the number of cars in this train</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.Length">
            <summary>Gets the length of the train</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.AvailablePowerSupplies">
            <summary>Returns the available power supplies to this train</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractTrain.CurrentSignalAspect">
            <summary>Gets the current signal aspect applicable to the train</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Update(System.Double)">
            <summary>Updates the train</summary>
            <param name="TimeElapsed">The time elapsed since the last call to update</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Derail(System.Int32,System.Double)">
            <summary>Derails a car within the train</summary>
            <param name="CarIndex">The index of the car to derail</param>
            <param name="ElapsedTime">The frame time elapsed</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Derail(OpenBveApi.Trains.AbstractCar,System.Double)">
            <summary>Derails a car within the train</summary>
            <param name="Car">The car to derail</param>
            <param name="ElapsedTime">The frame time elapsed</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Couple(OpenBveApi.Trains.AbstractTrain,System.Boolean)">
            <summary>Couples another train to this train</summary>
            <param name="Train">The train to couple</param>
            <param name="Front">Whether the new train is coupled to the front</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Reverse(System.Boolean,System.Boolean)">
            <summary>Call this method to reverse (flip) the entire train</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Dispose">
            <summary>Disposes of the train and releases all resources</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.StopAllSounds">
            <summary>Stops all sounds from this train</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.SectionChange">
            <summary>Is called when the train changes from one signalling section to another</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.UpdateBeacon(System.Int32,System.Int32,System.Int32)">
            <summary>Updates the safety systems on this train with data received from a beacon</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.EnterStation(System.Int32,System.Int32)">
            <summary>Is called when the train enters a station</summary>
            <param name="stationIndex">The index of the station</param>
            <param name="direction">The direction of travel</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.LeaveStation(System.Int32,System.Int32)">
            <summary>Is called when the train leaves a station</summary>
            <param name="stationIndex">The station index</param>
            <param name="direction">The direction of travel</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.RequestStop(OpenBveApi.Trains.RequestStop)">
            <summary>Called when a request stop is triggered</summary>
            <param name="stopRequest">The stop request to evaluate</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.OpenDoors(System.Boolean,System.Boolean)">
            <summary>Opens the train doors</summary>
            <param name="Left">Whether the left side is to open</param>
            <param name="Right">Whether the right side is to open</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.CloseDoors(System.Boolean,System.Boolean)">
            <summary>Closes the train doors</summary>
            <param name="Left">Whether the left side is to close</param>
            <param name="Right">Whether the right side is to close</param>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractTrain.Jump(System.Int32,System.Int32)">
            <summary>Jumps the train to the specified station index</summary>
            <param name="StationIndex">The index of the station to jump to</param>
            <param name="TrackKey">The key of the track on which the station is placed</param>
        </member>
        <member name="T:OpenBveApi.Trains.AbstractAxle">
            <summary>An axle of a car or bogie</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.Follower">
            <summary>The track follower</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.CurrentWheelSlip">
            <summary>Whether this axle is currently experiencing wheelslip</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.Position">
            <summary>The relative position of the axle</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.PointSounds">
            <summary>The point sounds array</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.FlangeIndex">
            <summary>The current flange sound index at this axle's location</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.RunIndex">
            <summary>The current run sound index at this axle's location</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.PointSoundTriggered">
            <summary>Stores whether the point sound has been triggered</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractAxle.baseCar">
            <summary>A reference to the base car</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractAxle.#ctor(OpenBveApi.Hosts.HostInterface,OpenBveApi.Trains.AbstractTrain,OpenBveApi.Trains.AbstractCar)">
            <summary>Creates a new axle</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractAxle.GetResistance(System.Double,System.Double,System.Double,System.Double)">
            <summary>Gets the resistance value for this axle in the current direction</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractAxle.CriticalWheelSlipAccelerationForElectricMotor(System.Double)">
            <summary>Gets the critical value at which wheelslip occurs from motor drive</summary>
        </member>
        <member name="M:OpenBveApi.Trains.AbstractAxle.CriticalWheelSlipAccelerationForFrictionBrake(System.Double)">
            <summary>Gets the critical value at which wheelslip occurs from brake application</summary>
        </member>
        <member name="T:OpenBveApi.Trains.Brightness">
            <summary>Contains a set of brightness properties to be interpolated</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Brightness.Car">
            <summary>Holds a reference to the containing car</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Brightness.PreviousBrightness">
            <summary>The previous brightness to be interpolated from</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Brightness.PreviousTrackPosition">
            <summary>The track position to interpolate from</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Brightness.NextBrightness">
            <summary>The next brightness to interpolate to</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Brightness.NextTrackPosition">
            <summary>The track position to interpolate to</summary>
        </member>
        <member name="M:OpenBveApi.Trains.Brightness.#ctor(OpenBveApi.Trains.AbstractCar)">
            <summary>Creates a new brightness properties class</summary>
        </member>
        <member name="M:OpenBveApi.Trains.Brightness.CurrentBrightness(System.Double,System.Double)">
            <summary>Gets the current brightness</summary>
            <param name="CabBrightness">The current cab brightness</param>
            <param name="mu">The relative position within the car between the two axles</param>
            <returns>The current brightness value</returns>
        </member>
        <member name="T:OpenBveApi.Trains.AbstractCoupler">
            <summary>A coupling between two cars</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCoupler.MinimumDistanceBetweenCars">
            <summary>The minimum distance that the cars may be apart</summary>
        </member>
        <member name="F:OpenBveApi.Trains.AbstractCoupler.MaximumDistanceBetweenCars">
            <summary>The maximum distance that the cars may be apart</summary>
        </member>
        <member name="P:OpenBveApi.Trains.AbstractCoupler.CanUncouple">
            <summary>Whether the coupler can uncouple</summary>
        </member>
        <member name="T:OpenBveApi.Trains.GeneralAI">
            <summary>An abstract class representing a general purpose AI</summary>
        </member>
        <member name="M:OpenBveApi.Trains.GeneralAI.Trigger(System.Double)">
            <summary>Triggers the AI processing</summary>
            <param name="TimeElapsed">The time elapsed since the previous call to the AI</param>
        </member>
        <member name="T:OpenBveApi.Trains.RequestStop">
            <summary>Defines a request stop which may be made by a train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.StationIndex">
            <summary>The index of the station to stop at</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.MaxCars">
            <summary>The maximum number of cars that a train may have to stop</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.Probability">
            <summary>The probability that this stop may be called</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.Time">
            <summary>The time at which this stop may be called</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.StopMessage">
            <summary>The message displayed when the train is to stop</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.PassMessage">
            <summary>The message displayed when the train is to pass</summary>
        </member>
        <member name="F:OpenBveApi.Trains.RequestStop.FullSpeed">
            <summary>Whether the stop request is to be passed at line speed</summary>
        </member>
        <member name="T:OpenBveApi.Trains.StopSkipMode">
            <summary>The different methods by which a stop may be skipped</summary>
        </member>
        <member name="F:OpenBveApi.Trains.StopSkipMode.None">
            <summary>This stop is not skipped</summary>
        </member>
        <member name="F:OpenBveApi.Trains.StopSkipMode.Decelerate">
            <summary>The train decelerates through the station to a near stop</summary>
        </member>
        <member name="F:OpenBveApi.Trains.StopSkipMode.Linespeed">
            <summary>The train skips the stop at linespeed</summary>
        </member>
        <member name="T:OpenBveApi.Trains.TrainInterface">
            <summary>Represents the interface for loading trains. Plugins must implement this interface if they wish to expose trains.</summary>
        </member>
        <member name="M:OpenBveApi.Trains.TrainInterface.Load(OpenBveApi.Hosts.HostInterface,OpenBveApi.FileSystem.FileSystem,OpenBveApi.BaseOptions,System.Object)">
            <summary>Called when the plugin is loaded.</summary>
            <param name="host">The host that loaded the plugin.</param>
            <param name="fileSystem">The filesystem from the host application</param>
            <param name="Options">The options supplied by the host program</param>
            <param name="trainManagerReference">A reference to the TrainManager in the host application</param>
        </member>
        <member name="M:OpenBveApi.Trains.TrainInterface.Unload">
            <summary>Called when the plugin is unloaded.</summary>
        </member>
        <member name="M:OpenBveApi.Trains.TrainInterface.CanLoadTrain(System.String)">
            <summary>Checks whether the plugin can load the specified train.</summary>
            <param name="path">The path to the file or folder that contains the train.</param>
            <returns>Whether the plugin can load the specified train.</returns>
        </member>
        <member name="M:OpenBveApi.Trains.TrainInterface.LoadTrain(System.Text.Encoding,System.String,OpenBveApi.Trains.AbstractTrain@,OpenBveApi.Interface.Control[]@)">
            <summary>Loads the specified train.</summary>
            <param name="Encoding">The user-selected encoding (if appropriate)</param>
            <param name="trainPath">The path to the selected train</param>
            <param name="train">Receives the train.</param>
            <param name="currentControls">The current control array (modified if touch elements are present)</param>
            <returns>Whether loading the route was successful.</returns>
        </member>
        <member name="M:OpenBveApi.Trains.TrainInterface.GetDescription(System.String,System.Text.Encoding)">
            <summary>Gets the description for the selected train</summary>
            <param name="trainPath">The path to the selected train</param>
            <param name="userSelectedEncoding">The user selected text encoding</param>
            <returns>The description</returns>
        </member>
        <member name="M:OpenBveApi.Trains.TrainInterface.GetImage(System.String)">
            <summary>Gets the image for the selected train</summary>
            <param name="trainPath">The path to the selected train</param>
            <returns>The image</returns>
        </member>
        <member name="F:OpenBveApi.Trains.TrainInterface.IsLoading">
            <summary>Holds whether loading is currently in progress</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainInterface.LastException">
            <summary>The last exception encountered by the plugin</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainInterface.Cancel">
            <summary>Set if loading is to be cancelled</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainInterface.CurrentProgress">
            <summary>Holds the current loading progress</summary>
        </member>
        <member name="T:OpenBveApi.Trains.TrainStartMode">
            <summary>The startup state of the train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStartMode.ServiceBrakesAts">
            <summary>The train will start with the service brakes applied, and the safety-system plugin initialised</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStartMode.EmergencyBrakesAts">
            <summary>The train will start with the EB brakes applied, and the safety-system plugin initialised</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStartMode.EmergencyBrakesNoAts">
            <summary>The train will start with the EB brakes applied, and the safety-system plugin inactive</summary>
        </member>
        <member name="T:OpenBveApi.Trains.TrainState">
            <summary>The available states for a train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainState.Pending">
            <summary>The train has not yet been introduced into the simulation</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainState.Available">
            <summary>The train has been introduced into the simulation</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainState.Bogus">
            <summary>The train is a bogus (non-visible) train created via a .PreTrain command</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainState.DisposePending">
            <summary>The train is pending disposal</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainState.Disposed">
            <summary>The train has traversed it's path, and has been disposed of by the simulation</summary>
        </member>
        <member name="T:OpenBveApi.Trains.TrainStopState">
            <summary>The possible states for a station stop</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStopState.Pending">
            <summary>The stop is still pending</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStopState.Boarding">
            <summary>The train is currently stopped and passengers are boarding</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStopState.Completed">
            <summary>The stop has been completed, and the train is preparing to depart</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainStopState.Jumping">
            <summary>The train is jumping between stations, and all stops should be ignored</summary>
        </member>
        <member name="T:OpenBveApi.Trains.TrainType">
            <summary>The different types of train</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainType.LocalPlayerTrain">
            <summary>The train is controlled by the local player</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainType.RemotePlayerTrain">
            <summary>The train is controlled by a remote player</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainType.PreTrain">
            <summary>The train is controlled by legacy BVE PreTrain / RunInterval commands</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainType.ScriptedTrain">
            <summary>The train is controlled by a TFO script</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TrainType.StaticCars">
            <summary>The train consists of static cars and does not move independently</summary>
        </member>
        <member name="T:OpenBveApi.Trains.TravelDirection">
            <summary>Describes the travel direction of a train relative to the route</summary>
            <remarks>This assumes that the route is written in linear forwards notation(e.g. BVE)</remarks>
        </member>
        <member name="F:OpenBveApi.Trains.TravelDirection.Forward">
            <summary>Forwards</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TravelDirection.Static">
            <summary>No movement</summary>
        </member>
        <member name="F:OpenBveApi.Trains.TravelDirection.Backward">
            <summary>Backwards</summary>
        </member>
        <member name="T:OpenBveApi.Trains.Wheels">
            <summary>Describes a set of wheels on a rail-car</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Wheels.TotalNumber">
            <summary>The total number of wheels</summary>
        </member>
        <member name="F:OpenBveApi.Trains.Wheels.Radius">
            <summary>The radius of the wheels</summary>
        </member>
        <member name="M:OpenBveApi.Trains.Wheels.#ctor(System.Int32,System.Double)">
            <summary>Creates a new set of wheels</summary>
        </member>
        <member name="T:OpenBveApi.Motor.EngineComponent">
            <summary>The types of engine component</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.TractionMotor">
            <summary>A traction motor</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.RegenerativeTractionMotor">
            <summary>A regenerative traction motor</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.Pantograph">
            <summary>A pantograph</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.Gearbox">
            <summary>A gearbox</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.CylinderCocks">
            <summary>Steam engine cylinder cocks</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.Blowers">
            <summary>Steam engine blowers</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.Boiler">
            <summary>Steam engine boiler</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.SteamInjector1">
            <summary>Steam engine first injector</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.SteamInjector2">
            <summary>Steam engine second injector</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineComponent.Firebox">
            <summary>Steam engine firebox</summary>
        </member>
        <member name="T:OpenBveApi.Motor.EngineType">
            <summary>Describes the different types of engine</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineType.NoEngine">
            <summary>No engine</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineType.Diesel">
            <summary>Diesel prime mover, electric transmission</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineType.DieselHydraulic">
            <summary>Diesel prime mover, hydraulic transmission</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineType.Steam">
            <summary>Steam engine</summary>
        </member>
        <member name="F:OpenBveApi.Motor.EngineType.Electric">
            <summary>Pure electric engine</summary>
        </member>
        <member name="T:OpenBveApi.Motor.PantographState">
            <summary>The possible states of a pantograph</summary>
        </member>
        <member name="F:OpenBveApi.Motor.PantographState.Lowered">
            <summary>The pantograph is lowered</summary>
        </member>
        <member name="F:OpenBveApi.Motor.PantographState.Raised">
            <summary>The pantograph is raised</summary>
        </member>
        <member name="F:OpenBveApi.Motor.PantographState.Dewired">
            <summary>The pantograph is raised, but no wire is present</summary>
        </member>
        <member name="T:OpenBveApi.Packages.Package">
            <summary>Defines an OpenBVE Package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.PackageVersion">
            <summary>The package version</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.FileName">
            <summary>The on-disk file of the package (Used during creation)</summary>
        </member>
        <member name="P:OpenBveApi.Packages.Package.Version">
            <summary>The package version represented in string format</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.Name">
            <summary>The package name</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.Author">
            <summary>The package author</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.Website">
            <summary>The package website</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.GUID">
            <summary>The GUID for this package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.PackageType">
            <summary>Stores the package type</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.PackageFile">
            <summary>The file this package was installed from</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.Description">
            <summary>The package description</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.PackageImage">
            <summary>The image for this package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.Dependancies">
            <summary>The list of dependancies for this package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.Reccomendations">
            <summary>The list of packages that this package recommends you also install</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.DependantPackages">
            <summary>The list of packages which depend on this package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.MinimumVersion">
            <summary>The minimum package version</summary>
        </member>
        <member name="P:OpenBveApi.Packages.Package.MinVersion">
            <summary>The minimum package version represented in string format</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Package.MaximumVersion">
            <summary>The maximum package version</summary>
        </member>
        <member name="P:OpenBveApi.Packages.Package.MaxVersion">
            <summary>The maximum package version represented in string format</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Package.#ctor(OpenBveApi.Packages.Package,System.Boolean)">
            <summary>Creates a clone of the specified package</summary>
            <param name="packageToClone">The package to clone</param>
            <param name="dependancy">Whether this package is part of a dependency list</param>
        </member>
        <member name="M:OpenBveApi.Packages.Package.#ctor">
            <summary>Creates a new package</summary>
            An empty default constructor is required as we've also specified a non default constructor
        </member>
        <member name="T:OpenBveApi.Packages.SerializedPackage">
            <summary>This class is used by the XML serializer to provide a correctly readable structure</summary>
        </member>
        <member name="F:OpenBveApi.Packages.SerializedPackage.Package">
            <summary>The base package</summary>
        </member>
        <member name="T:OpenBveApi.Packages.VersionInformation">
            <summary>Provides the possible states of a version</summary>
        </member>
        <member name="F:OpenBveApi.Packages.VersionInformation.NotFound">
            <summary>The version was not found in the database</summary>
        </member>
        <member name="F:OpenBveApi.Packages.VersionInformation.NewerVersion">
            <summary>The version is a newer version than that currently installed</summary>
        </member>
        <member name="F:OpenBveApi.Packages.VersionInformation.OlderVersion">
            <summary>The version is an older version than that currently installed</summary>
        </member>
        <member name="F:OpenBveApi.Packages.VersionInformation.SameVersion">
            <summary>The version is the same version as that currently installed</summary>
        </member>
        <member name="T:OpenBveApi.Packages.PackageType">
            <summary>Defines the possible package types</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageType.NotFound">
            <summary>The type of package was not found/ undefined</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageType.Route">
            <summary>The package is a route</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageType.Train">
            <summary>The package is a train</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageType.Other">
            <summary>The package is a route, utility etc.</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageType.Loksim3D">
            <summary>The package contains imported Loksim3D content.</summary>
        </member>
        <member name="T:OpenBveApi.Packages.PackageFile">
            <summary>Holds the properties of a file, used during creation of a package.</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageFile.absolutePath">
            <summary>The absolute on-disk path to the file.</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageFile.relativePath">
            <summary>The relative path to the file.</summary>
        </member>
        <member name="T:OpenBveApi.Packages.CompressionType">
            <summary>Defines the types of compression a package file may use.</summary>
        </member>
        <member name="F:OpenBveApi.Packages.CompressionType.Zip">
            <summary>LZMA Zip compression</summary>
        </member>
        <member name="F:OpenBveApi.Packages.CompressionType.TarGZ">
            <summary>GZip compression</summary>
        </member>
        <member name="F:OpenBveApi.Packages.CompressionType.BZ2">
            <summary>BZip2 compression</summary>
        </member>
        <member name="T:OpenBveApi.Packages.PackageOperation">
            <summary>The current operation being performed</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageOperation.None">
            <summary>No current operation</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageOperation.Creating">
            <summary>Creating a package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageOperation.Installing">
            <summary>Installing a package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageOperation.Uninstalling">
            <summary>Uninstalling a package</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageOperation.Reading">
            <summary>
            Reading the information from a package
            </summary>
        </member>
        <member name="T:OpenBveApi.Packages.Manipulation">
            <summary>Provides functions for manipulating OpenBVE packages</summary>
            <summary>Provides functions for manipulating OpenBVE packages</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.ExtractPackage(OpenBveApi.Packages.Package,System.String,System.String,System.String@)">
            <summary>This extracts a package, and returns the list of extracted files</summary>
            <param name="currentPackage">The package to extract</param>
            <param name="extractionDirectory">The directory to extract to</param>
            <param name="databaseFolder">The root package database folder</param>
            <param name="packageFiles">Returns via 'ref' a string containing a list of files in the package (Used to update the dialog)</param>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.CreatePackage(OpenBveApi.Packages.Package,OpenBveApi.Packages.CompressionType,System.String,System.String,System.Collections.Generic.List{OpenBveApi.Packages.PackageFile})">
            <summary>Creates a new packaged archive</summary>
            <param name="currentPackage">The package data we wish to compress into an archive</param>
            <param name="compressionType">The compression type to use for this archive</param>
            <param name="packageFile">The filename to save the package as</param>
            <param name="packageImage">The path to the image for this package, if applicable</param>
            <param name="packageFiles">The list of files to save within the package</param>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.UninstallPackage(OpenBveApi.Packages.Package,System.String,System.String@)">
            <summary>Uninstalls a package</summary>
            <param name="currentPackage">The package to uninstall</param>
            <param name="databaseFolder">The package database folder</param>
            <param name="PackageFiles">Returns via 'ref' a list of files uninstalled</param>
            <returns>True if uninstall succeeded with no errors, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.ReadPackage(System.String)">
            <summary>Reads the information of the selected package</summary>
        </member>
        <member name="E:OpenBveApi.Packages.Manipulation.ProgressChanged">
            <summary>Reports the current progress of a package installation or uninstallation</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.OnProgressChanged(System.Object,OpenBveApi.Packages.ProgressReport)">
            <summary>This is called whenever the progress changes</summary>
        </member>
        <member name="E:OpenBveApi.Packages.Manipulation.ProblemReport">
            <summary>Reports the current progress of a package installation or uninstallation</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.OnProblemReport(System.Object,OpenBveApi.Packages.ProblemReport)">
            <summary>This is called whenever the progress changes</summary>
        </member>
        <member name="E:OpenBveApi.Packages.Manipulation.OperationCompleted">
            <summary>Reports the current progress of a package installation or uninstallation</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Manipulation.OnCompletion(System.Object,OpenBveApi.Packages.CompletionReport)">
            <summary>This is called whenever the progress changes</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Manipulation.filesToSkip">
            <summary>The list of files which are to be skipped during package extraction</summary>
        </member>
        <member name="T:OpenBveApi.Packages.ProgressReport">
            <summary>Defines a progress report</summary>
        </member>
        <member name="P:OpenBveApi.Packages.ProgressReport.Progress">
            <summary>The current progress percentage</summary>
        </member>
        <member name="P:OpenBveApi.Packages.ProgressReport.CurrentFile">
            <summary>The file currently being processed</summary>
        </member>
        <member name="M:OpenBveApi.Packages.ProgressReport.#ctor(System.Int32,System.String)">
            <summary>The progress report</summary>
        </member>
        <member name="T:OpenBveApi.Packages.ProblemReport">
            <summary>Defines a progress report</summary>
        </member>
        <member name="P:OpenBveApi.Packages.ProblemReport.Progress">
            <summary>The current progress percentage</summary>
        </member>
        <member name="P:OpenBveApi.Packages.ProblemReport.CurrentFile">
            <summary>The file currently being processed</summary>
        </member>
        <member name="P:OpenBveApi.Packages.ProblemReport.Exception">
            <summary>The file currently being processed</summary>
        </member>
        <member name="M:OpenBveApi.Packages.ProblemReport.#ctor(System.Int32,System.String,System.Exception)">
            <summary>The progress report</summary>
        </member>
        <member name="T:OpenBveApi.Packages.CompletionReport">
            <summary>Defines a completion report</summary>
        </member>
        <member name="P:OpenBveApi.Packages.CompletionReport.Operation">
            <summary>The operation which has completed</summary>
        </member>
        <member name="M:OpenBveApi.Packages.CompletionReport.#ctor(OpenBveApi.Packages.PackageOperation)">
            <summary>The completion report</summary>
        </member>
        <member name="T:OpenBveApi.Packages.Information">
            <summary>Provides information functions for OpenBVE packages</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Information.CheckVersion(OpenBveApi.Packages.Package,System.Collections.Generic.List{OpenBveApi.Packages.Package},OpenBveApi.Packages.Package@)">
            <summary>Checks to see if this package is currently installed, and if so whether there is another version installed</summary>
            <param name="currentPackage">The package to check</param>
            <param name="packageList">The list of currently installed packages</param>
            <param name="oldPackage">Returns via 'ref' the current package installed</param>
            <returns>Whether the package to check is installed, and if so whether it is an older, newer or identical version</returns>
        </member>
        <member name="M:OpenBveApi.Packages.Information.UpgradeDowngradeDependancies(OpenBveApi.Packages.Package,System.Collections.Generic.List{OpenBveApi.Packages.Package},System.Collections.Generic.List{OpenBveApi.Packages.Package})">
            <summary>Checks to see if upgrading or downgrading this package will break any dependencies</summary>
        </member>
        <member name="T:OpenBveApi.Packages.PackageDatabase">
            <summary>Defines a package database</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageDatabase.InstalledRoutes">
            <summary>The installed routes</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageDatabase.InstalledTrains">
            <summary>The installed trains</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageDatabase.InstalledOther">
            <summary>The installed other items</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageDatabase.DatabaseVersion">
            <summary>The database version</summary>
        </member>
        <member name="F:OpenBveApi.Packages.PackageDatabase.ExpectedDatabaseVersion">
            <summary>The expected database version</summary>
        </member>
        <member name="M:OpenBveApi.Packages.PackageDatabase.AddDependancies(OpenBveApi.Packages.Package)">
            <summary>Adds the database dependancies</summary>
        </member>
        <member name="T:OpenBveApi.Packages.Database">
            <summary>Stores the current package database</summary>
        </member>
        <member name="F:OpenBveApi.Packages.Database.currentDatabase">
            <summary>The current package database</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Database.SaveDatabase">
            <summary>Call this method to save the package list to disk.</summary>
            <remarks>Returns false if an error was encountered whilst saving the database.</remarks>
        </member>
        <member name="M:OpenBveApi.Packages.Database.LoadDatabase(System.String,System.String,System.String[]@)">
            <summary>Loads a package database XML file as the current database</summary>
            <param name="Folder">The root database folder</param>
            <param name="File">The database file</param>
            <param name="ErrorMessage">The error message to return if failed</param>
            <returns>Whether the loading succeeded</returns>
        </member>
        <member name="M:OpenBveApi.Packages.Database.CheckDependsReccomends(System.Collections.Generic.List{OpenBveApi.Packages.Package})">
            <summary>Checks a list of dependancies or reccomendations to see if they are installed</summary>
        </member>
        <member name="M:OpenBveApi.Packages.Database.DependancyMet(OpenBveApi.Packages.Package,System.Collections.Generic.List{OpenBveApi.Packages.Package})">
            <summary>Checks whether a dependancy is met by a member of a list of packages</summary>
            <param name="dependancy">The dependancy</param>
            <param name="currentList">The package list to check</param>
        </member>
        <member name="M:OpenBveApi.Packages.Database.CheckUninstallDependancies(System.Collections.Generic.List{System.String})">
            <summary>Checks whether uninstalling a package will break any dependancies</summary>
            <param name="packagesToRemove">The list of packages that will be removed</param>
            <returns>A list of potentially broken packages</returns>
        </member>
        <member name="T:OpenBveApi.Packages.DatabaseFunctions">
            <summary>Contains the database functions</summary>
        </member>
        <member name="F:OpenBveApi.Packages.DatabaseFunctions.c">
            <summary>Stores the directory separator character for the current platform</summary>
        </member>
        <member name="M:OpenBveApi.Packages.DatabaseFunctions.FindFileLocations(System.Collections.Generic.List{OpenBveApi.Packages.PackageFile})">
            <summary>This function takes a list of files, and returns the files with corrected relative paths for compression or extraction</summary>
            <param name="tempList">The file list</param>
            <returns>The file list with corrected relative paths</returns>
        </member>
        <member name="M:OpenBveApi.Packages.DatabaseFunctions.CleanDirectory(System.String,System.String@)">
            <summary>This function cleans empty subdirectories after the uninstallation of a package</summary>
            <param name="currentDirectory">The directory to clean (Normally the root package install directory)</param>
            <param name="Result">The results output string</param>
        </member>
        <member name="T:OpenBveApi.Text">
            <summary>Provides various extension methods for working with text</summary>
        </member>
        <member name="M:OpenBveApi.Text.Unescape(System.String)">
            <summary>Unescapes control characters used in a string</summary>
            <param name="Text">The raw string on which unescaping should be performed</param>
            <returns>The unescaped string</returns>
        </member>
        <member name="M:OpenBveApi.Text.Escape(System.String)">
            <summary>Provides an escaped copy of a string</summary>
        </member>
        <member name="M:OpenBveApi.Text.IsJapanese(System.String)">
            <summary>Determines whether the specified string is encoded using Shift_JIS (Japanese)</summary>
            <param name="Name">The string to check</param>
            <returns>True if Shift_JIS encoded, false otherwise</returns>
        </member>
        <member name="M:OpenBveApi.Text.ConvertNewlinesToCrLf(System.String)">
            <summary>Converts various line-endings to CR-LF format</summary>
            <param name="Text">The string for which all line-endings should be converted to CR-LF</param>
            <returns>The converted StringBuilder</returns>
        </member>
        <member name="M:OpenBveApi.Text.TrimInside(System.String)">
            <summary>Trims any multiple whitespace characters within the string</summary>
            <param name="Expression">The string to trim</param>
            <returns>The trimmed string</returns>
        </member>
        <member name="M:OpenBveApi.Text.TrimBVE5Comments(System.String)">
            <summary>Trims BVE5 comments from a string.</summary>
            <param name="String">The string to trim.</param>
        </member>
        <member name="M:OpenBveApi.Text.TrimBVE5Comments(System.String[])">
            <summary>Trims BVE5 comments from a string array</summary>
            <param name="Strings">The strings to trim</param>
        </member>
        <member name="M:OpenBveApi.Text.DetermineBVE5FileEncoding(System.String)">
            <summary>Attempts to determine the System.Text.Encoding value for a given BVE5 file</summary>
            <param name="FileName">The filename</param>
            <returns>The detected encoding, or UTF-8 if this is not found</returns>
        </member>
        <member name="M:OpenBveApi.Text.RemoveEnclosingQuotes(System.String)">
            <summary>Removes single or double quotes enclosing a string.</summary>
            <param name="String">The string to trim.</param>
        </member>
        <member name="M:OpenBveApi.Text.ConsistantSplit(System.String,System.Char,System.Int32)">
            <summary>Performs a string split to an array with a consistent length</summary>
            <param name="text">The string to split</param>
            <param name="separator">The separator character</param>
            <param name="desiredLength">The desired length</param>
            <returns>The split string</returns>
        </member>
        <member name="T:OpenBveApi.World.Transformation">
            <summary>Describes a world transformation consisting of three vectors</summary>
        </member>
        <member name="F:OpenBveApi.World.Transformation.X">
            <summary>The X Vector</summary>
        </member>
        <member name="F:OpenBveApi.World.Transformation.Y">
            <summary>The Y Vector</summary>
        </member>
        <member name="F:OpenBveApi.World.Transformation.Z">
            <summary>The Z Vector</summary>
        </member>
        <member name="M:OpenBveApi.World.Transformation.#ctor">
            <summary>Creates a new empty transformation</summary>
        </member>
        <member name="M:OpenBveApi.World.Transformation.#ctor(System.Double,System.Double,System.Double)">
            <summary>Creates a new transformation, based upon yaw pitch and roll values</summary>
            <param name="Yaw">
            <para>The yaw to apply</para>
            <para>NOTE: The angle in radians by which the object is rotated in the XZ-plane in clock-wise order when viewed from above.</para>
            </param>
            <param name="Pitch">
            <para>The pitch to apply</para>
            <para>NOTE: The angle in radians by which the object is rotated in the YZ-plane in *counter* clock-wise order when viewed from the right.</para>
            </param>
            <param name="Roll">
            <para>The roll to apply</para>
            <para>NOTE: The angle in radians by which the object is rotated in the XY-plane in *counter* clock-wise order when viewed from ahead.</para>
            </param>
        </member>
        <member name="M:OpenBveApi.World.Transformation.#ctor(OpenBveApi.World.Transformation,System.Double,System.Double,System.Double)">
            <summary>Creates a new transformation, based upon an initial transformation, plus secondary yaw pitch and roll values</summary>
            <param name="Transformation">The initial transformation</param>
            <param name="Yaw">
            <para>The yaw to apply</para>
            <para>NOTE: The angle in radians by which the object is rotated in the XZ-plane in clock-wise order when viewed from above.</para>
            </param>
            <param name="Pitch">
            <para>The pitch to apply</para>
            <para>NOTE: The angle in radians by which the object is rotated in the YZ-plane in *counter* clock-wise order when viewed from the right.</para>
            </param>
            <param name="Roll">
            <para>The roll to apply</para>
            <para>NOTE: The angle in radians by which the object is rotated in the XY-plane in *counter* clock-wise order when viewed from ahead.</para>
            </param>
        </member>
        <member name="M:OpenBveApi.World.Transformation.#ctor(OpenBveApi.World.Transformation,OpenBveApi.World.Transformation)">
            <summary>Creates a new transformation, based upon a base transformation and an additional transformation</summary>
            <param name="firstTransformation">The transformation to apply first</param>
            <param name="secondTransformation">The transformation to apply second</param>
        </member>
        <member name="M:OpenBveApi.World.Transformation.#ctor(OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3,OpenBveApi.Math.Vector3)">
            <summary>Creates a new transformation, based upon three other vectors</summary>
            <param name="direction">The vector in the Z axis direction</param>
            <param name="up">The vector in the Y axis direction</param>
            <param name="side">The vector in the X axis direction</param>
        </member>
        <member name="M:OpenBveApi.World.Transformation.#ctor(OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f,OpenBveApi.Math.Vector3f)">
            <summary>Creates a new transformation, based upon three other vectors</summary>
            <param name="direction">The vector in the Z axis direction</param>
            <param name="up">The vector in the Y axis direction</param>
            <param name="side">The vector in the X axis direction</param>
        </member>
        <member name="M:OpenBveApi.World.Transformation.op_Explicit(OpenBveApi.World.Transformation)~OpenBveApi.Math.Matrix4D">
            <summary>Converts a Transformation into a change-of-basis row-major matrix in the right-handed coordinate system</summary>
            <param name="t">The transformation to convert</param>
        </member>
        <member name="F:OpenBveApi.World.Transformation.NullTransformation">
            <summary>A transformation which leaves the input unchanged</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfCurrent">
            <summary>Available units of current</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfCurrent.Amps">
            <summary>Amps</summary>
        </member>
        <member name="T:OpenBveApi.World.CurrentConverter">
            <summary>Implements the current convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.CurrentConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfForce">
            <summary>Available units of length</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfForce.Newton">
            <summary>Newtons</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfForce.KiloNewton">
            <summary>KiloNewtons</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfForce.PoundsOfForce">
            <summary>Pounds of force</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfForce.TonForce">
            <summary>Tons of force</summary>
        </member>
        <member name="T:OpenBveApi.World.ForceConverter">
            <summary>Implements the force convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.ForceConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfLength">
            <summary>Available units of length</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfLength.Millimeter">
            <summary>Millimeters</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfLength.Centimeter">
            <summary>Centimeters</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfLength.Meter">
            <summary>Meters</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfLength.Inches">
            <summary>Inches</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfLength.Feet">
            <summary>Feet</summary>
        </member>
        <member name="T:OpenBveApi.World.LengthConverter">
            <summary>Implements the length convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.LengthConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfPressure">
            <summary>Available units of length</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfPressure.PoundsPerSquareInch">
            <summary>Pounds per Square Inch</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfPressure.KiloPascal">
            <summary>KiloPascal</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfPressure.Pascal">
            <summary>Pascal</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfPressure.InchesOfMercury">
            <summary>Inches of Mercury</summary>
        </member>
        <member name="T:OpenBveApi.World.PressureConverter">
            <summary>Implements the force convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.PressureConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfTorque">
            <summary>Available units of Torque</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfTorque.NewtonMetersPerSecond">
            <summary>Newton-meters per second</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfTorque.KiloNewtonMetersPerSecond">
            <summary>Kilo-newton-meters per second</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfTorque.FootPound">
            <summary>Foot pounds</summary>
        </member>
        <member name="T:OpenBveApi.World.TorqueConverter">
            <summary>Implements the torque convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.TorqueConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitConverter`2">
            <summary>
            Generic conversion class for converting between values of different units.
            </summary>
            <typeparam name="TUnitType">The type representing the unit type (eg. enum)</typeparam>
            <typeparam name="TValueType">The type of value for this unit (float, decimal, int, etc.)</typeparam>
        </member>
        <member name="F:OpenBveApi.World.UnitConverter`2.BaseUnit">
            <summary>
            The base unit, which all calculations will be expressed in terms of.
            </summary>
        </member>
        <member name="F:OpenBveApi.World.UnitConverter`2.ConversionsTo">
            <summary>
            Dictionary of functions to convert from the base unit type into a specific type.
            </summary>
        </member>
        <member name="F:OpenBveApi.World.UnitConverter`2.ConversionsFrom">
            <summary>
            Dictionary of functions to convert from the specified type into the base unit type.
            </summary>
        </member>
        <member name="M:OpenBveApi.World.UnitConverter`2.Convert(`1,`0,`0)">
            <summary>
            Converts a value from one unit type to another.
            </summary>
            <param name="value">The value to convert.</param>
            <param name="from">The unit type the provided value is in.</param>
            <param name="to">The unit type to convert the value to.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:OpenBveApi.World.UnitConverter`2.RegisterConversion(`0,System.Func{`1,`1},System.Func{`1,`1})">
            <summary>
            Registers functions for converting to/from a unit.
            </summary>
            <param name="convertToUnit">The type of unit to convert to/from, from the base unit.</param>
            <param name="conversionTo">A function to convert from the base unit.</param>
            <param name="conversionFrom">A function to convert to the base unit.</param>
        </member>
        <member name="T:OpenBveApi.World.UnitOfVelocity">
            <summary>Available units of velocity</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfVelocity.MetersPerSecond">
            <summary>Meters per second</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfVelocity.MilesPerHour">
            <summary>Miles per hour</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfVelocity.KilometersPerHour">
            <summary>Kilometers per hour</summary>
        </member>
        <member name="T:OpenBveApi.World.VelocityConverter">
            <summary>Implements the force convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.VelocityConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfVolume">
            <summary>Available units of volume</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfVolume.Litres">
            <summary>Litres</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfVolume.Gallons">
            <summary>Gallons (US)</summary>
        </member>
        <member name="T:OpenBveApi.World.VolumeConverter">
            <summary>Implements the volume convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.VolumeConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.VolumetricUnit">
            <summary>Available units of volumetric</summary>
        </member>
        <member name="F:OpenBveApi.World.VolumetricUnit.LbPerHour">
            <summary>Pounds per hour</summary>
        </member>
        <member name="F:OpenBveApi.World.VolumetricUnit.LbPerMinute">
            <summary>Pounds per hour</summary>
        </member>
        <member name="F:OpenBveApi.World.VolumetricUnit.KgPerHour">
            <summary>Kilograms per hour</summary>
        </member>
        <member name="F:OpenBveApi.World.VolumetricUnit.KgPerMinute">
            <summary>Kilograms per minute</summary>
        </member>
        <member name="T:OpenBveApi.World.VolumetricConvertor">
            <summary>Implements the volume convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.VolumetricConvertor.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
        <member name="T:OpenBveApi.World.UnitOfWeight">
            <summary>Available units of length</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfWeight.Grams">
            <summary>Grams</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfWeight.Kilograms">
            <summary>Kilograms</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfWeight.MetricTonnes">
            <summary>Metric tonnes</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfWeight.ImperialTons">
            <summary>Imperial tons</summary>
        </member>
        <member name="F:OpenBveApi.World.UnitOfWeight.Pounds">
            <summary>Pounds</summary>
        </member>
        <member name="T:OpenBveApi.World.WeightConverter">
            <summary>Implements the weight convertor</summary>
        </member>
        <member name="F:OpenBveApi.World.WeightConverter.KnownUnits">
            <summary>Contains the known units</summary>
        </member>
    </members>
</doc>
