<?xml version="1.0"?>
<doc>
    <assembly>
        <name>RAYLASE.SPICE3.Utils</name>
    </assembly>
    <members>
        <member name="M:RAYLASE.SPICE3.Utils.FastMath.InvSqrt(System.Double)">
            <summary>
            Inverse square root approximation
            </summary>
            <remarks>
            Fast inverse square root approximation used in the game quake.
            </remarks>
            <param name="x"></param>
            <returns>Approximation of the inverse squre root</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.FastMath.Sqrt(System.Double)">
            <summary>
            Computes square root of <paramref name="x"/> by using <see cref="M:RAYLASE.SPICE3.Utils.FastMath.InvSqrt(System.Double)"/>: √x = (1 / √x) * x
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Point2DInt">
            <summary>
            Represents a 2 dimensional point.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point2DInt.Zero">
            <summary>
            Point initialized by zero for every axis.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2DInt.X">
            <summary>
            The X-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2DInt.Y">
            <summary>
            The Y-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2DInt.Item(System.Int32)">
            <summary>
            Gets or sets the coordinate of the axis specified by <paramref name="index"/>.
            </summary>
            <param name="index">0 for the X axis, 1 for the Y axis.</param>
            <returns>The value of the coordinate.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2DInt.Magnitude">
            <summary>
            Returns the distance between this point and the zero point.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point2DInt"/> instance with the specified coordinates.
            </summary>
            <param name="x">The X-coordinate.</param>
            <param name="y">The Y-coordinate.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.#ctor(RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point2DInt"/> instance with the coordinates from the other point.
            </summary>
            <param name="other">The point whose coordinates shall be used for initialization.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Addition(RAYLASE.SPICE3.Utils.Point2DInt,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Adds the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Addition(RAYLASE.SPICE3.Utils.Point2DInt,System.Int32)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Addition(System.Int32,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Subtraction(RAYLASE.SPICE3.Utils.Point2DInt,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Subtracts the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The difference between the two points.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Subtraction(RAYLASE.SPICE3.Utils.Point2DInt,System.Int32)">
            <summary>
            Subtracts a scalar from all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Subtraction(System.Int32,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Subtracts all the coordinates of a point from a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Multiply(RAYLASE.SPICE3.Utils.Point2DInt,System.Int32)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Multiply(System.Int32,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Multiply(RAYLASE.SPICE3.Utils.Point2DInt,System.Double)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Multiply(System.Double,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Equality(RAYLASE.SPICE3.Utils.Point2DInt,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Compares two points with each other, and returns true if all coordinates are equal.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points are equal.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.op_Inequality(RAYLASE.SPICE3.Utils.Point2DInt,RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Compares two points with each other, and returns true if at least one pair of coordinates are different.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points differ from each other.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.Equals(System.Object)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified object.
            </summary>
            <param name="obj">The object to test.</param>
            <returns>True if <paramref name="obj"/> is a <see cref="T:RAYLASE.SPICE3.Utils.Point2DInt"/> and has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point2DInt"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.Equals(RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="rhs">The point to test.</param>
            <returns>True if <paramref name="rhs"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point2DInt"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.ToString">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2DInt.ToAxisString(System.Int32)">
            <summary>
            Returns a label of the specified axis.
            </summary>
            <param name="index">The index specifying the axis: 0 for the X axis, 1 for the Y axis.</param>
            <returns>A string representing the name of the axis.</returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Point3D">
            <summary>
            Represents a 3 dimensional point
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point3D.XAxis">
            <summary>
            Unit vector representing the X-axis.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point3D.YAxis">
            <summary>
            Unit vector representing the Y-axis.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point3D.ZAxis">
            <summary>
            Unit vector representing the Z-axis.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Normalize">
            <summary>
            Normalises this vector into a unit vector of the same direction.
            </summary>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.DotProduct(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Computes the dot product between this and <paramref name="vector"/>.
            </summary>
            <param name="vector"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.CrossProduct(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Computes the cross product between this (a, index finger) and <paramref name="b"/> (middle finger),
            following the right-hand rule.
            Returns the normal (a × b, thumb).
            </summary>
            <param name="b">Middle finger in the right-hand rule.</param>
            <returns>The normal, which is the thumb in right-hand rule.</returns>
            <remarks>
                              a × b (thumb)
                                |
            a (index finger) ---+== (right hand)
                               /
                              b (middle finger)
            </remarks>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.AngleTo(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Computes the angle between this and <paramref name="vector"/>.
            Always returns 0 ≤ angle ≤ π.
            </summary>
            <param name="vector"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Opposes(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Whether <paramref name="vector"/> is of opposite direction of this,
            and with the same <see cref="P:RAYLASE.SPICE3.Utils.Point3D.Magnitude"/>.
            i.e. <paramref name="vector"/> is exactly negative of this.
            </summary>
            <param name="vector"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Scale(System.Double,System.Double,System.Double)">
            <summary>
            Scales this point from origin by the given parameters.
            </summary>
            <param name="scaleX"></param>
            <param name="scaleY"></param>
            <param name="scaleZ"></param>
            <returns></returns>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point3D.Zero">
            <summary>
            Point initialized by zero for every axis.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.X">
            <summary>
            The X-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.Y">
            <summary>
            The Y-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.Z">
            <summary>
            The Z-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.XY">
            <summary>
            Returns the point's XY coordinates.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.Item(System.Int32)">
            <summary>
            Gets or sets the coordinate of the axis specified by <paramref name="index"/>.
            </summary>
            <param name="index">0 for the X axis, 1 for the Y axis, and so on.</param>
            <returns>The value of the coordinate.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.MagnitudeSquared">
            <summary>
            Returns the square of distance between this point and the zero point.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3D.Magnitude">
            <summary>
            Returns the distance between this point and the zero point.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/> instance with the specified coordinates.
            </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:RAYLASE.SPICE3.Utils.Point3D.#ctor(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/> instance with the coordinates from the other point.
            </summary>
            <param name="other">The point whose coordinates shall be used for initialization.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.#ctor(RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/> instance with the XY coordinates from the other point, and with Z set to 0.0.
            </summary>
            <param name="point">The point whose XY coordinates shall be used.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Centroid(RAYLASE.SPICE3.Utils.Point3D[])">
            <summary>
            Returns the centroid of multiple points.
            </summary>
            <param name="points"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Midpoint(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Returns the midpoint between two points.
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Addition(RAYLASE.SPICE3.Utils.Point3D,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Adds the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Addition(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Addition(System.Double,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Subtraction(RAYLASE.SPICE3.Utils.Point3D,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Subtracts the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The difference between the two points.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Subtraction(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Subtracts a scalar from all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Subtraction(System.Double,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Subtracts all the coordinates of a point from a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_UnaryNegation(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Returns the negation of a point. In case of a vector, this returns the inverse of the input vector.
            </summary>
            <param name="rhs"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Multiply(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Multiply(System.Double,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Division(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Divides all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The new point scaled by the inverse of the scalar.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Equality(RAYLASE.SPICE3.Utils.Point3D,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Compares two points with each other, and returns true if all coordinates are equal.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points are equal.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.op_Inequality(RAYLASE.SPICE3.Utils.Point3D,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Compares two points with each other, and returns true if at least one pair of coordinates are different.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points differ from each other.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Equals(System.Object)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified object.
            </summary>
            <param name="obj">The object to test.</param>
            <returns>True if <paramref name="obj"/> is a <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/> and has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Equals(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="rhs">The point to test.</param>
            <returns>True if <paramref name="rhs"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.Equals(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="other">The point to test.</param>
            <param name="epsilon">Tolerance of the comparison.</param>
            <returns>True if <paramref name="other"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point3D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.ToString">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.ToString(System.Int32)">
            <summary>
            Converts this point in a human-readable format showing its coordinates with the specified number of decimal digits, using a culture invariant representation.
            </summary>
            <param name="decimalDigits">The number of decimal digits.</param>
            <returns>The human-readable representation of this point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.ToString(System.String,System.String,System.IFormatProvider)">
            <summary>
            Converts this point to a string of X, Y, and Z-value separated by <paramref name="separator"/>.
            </summary>
            <param name="separator"></param>
            <param name="format">Optional numeric format string. Default is "G17" to ensure successful round-trips.</param>
            <param name="provider">Optional format provider. If this is null, the default is <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.</param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3D.ToAxisString(System.Int32)">
            <summary>
            Returns a label of the specified axis.
            </summary>
            <param name="index">The index specifying the axis: 0 for the X axis, 1 for the Y axis, and so on.</param>
            <returns>A string representing the name of the axis.</returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Radian">
            <summary>
            Implements static functions for radian calculations.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Radian.TwoPI">
            <summary>
            Represents 2π.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Radian.PiOverTwo">
            <summary>
            Represents π/2.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Radian.ThreePiOverTwo">
            <summary>
            Represents 3π/2.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Radian.Epsilon">
            <summary>
            Epsilon for comparisons.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.Normalize(System.Double)">
            <summary>
            Normalises the radian angle to 0 ≤ angle &lt; 2π.
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.EquivalentToZero(System.Double,System.Double)">
            <summary>
            Returns whether <paramref name="a"/> is equivalent to zero radians.
            </summary>
            <param name="a"></param>
            <param name="epsilon"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.Equivalent(System.Double,System.Double,System.Double)">
            <summary>
            Returns whether two radian angles are equivalent in trigonometic functions.
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <param name="epsilon"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.FromDegree(System.Double)">
            <summary>
            Converts <paramref name="degree"/> into radians.
            </summary>
            <param name="degree"></param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.DoubleCircularRange(System.Int32,System.Boolean)">
            <summary>
            Returns a series of radian angles.
            <paramref name="count"/> defines the number of angles to be returned.
            The range between -2π and 2π is split in equal slices.
            <paramref name="endWithOrigin"/> controls whether 2π is returned as the last angle.
            </summary>
            <param name="count">Number of radian angles to be returned.</param>
            <param name="endWithOrigin">
            Whether 2π is returned as the last angle.
            </param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.CircularRange(System.Int32,System.Boolean)">
            <summary>
            Returns a series of radian angles.
            <paramref name="count"/> defines the number of angles to be returned.
            The range between 0 and 2π is split in equal slices.
            <paramref name="endWithOrigin"/> controls whether 2π is returned as the last angle.
            </summary>
            <param name="count">Number of radian angles to be returned.</param>
            <param name="endWithOrigin">
            Whether 2π is returned as the last angle.
            </param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.Range(System.Int32,System.Double,System.Boolean)">
            <summary>
            Returns a series of radian angles.
            <paramref name="count"/> defines the number of angles to be returned.
            The range between 0 and <paramref name="to"/> is split in equal slices.
            <paramref name="inclusiveTo"/> controls whether <paramref name="to"/> is returned as the last angle.
            </summary>
            <param name="count">Number of radian angles to be returned.</param>
            <param name="to">
            The end of range.
            This is the last angle if <paramref name="inclusiveTo"/> is true.
            </param>
            <param name="inclusiveTo">
            Whether <paramref name="to"/> is returned as the last angle.
            </param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.Range(System.Int32,System.Double,System.Double)">
            <summary>
            Returns a series of radian angles.
            <paramref name="count"/> defines the number of angles to be returned.
            The range between <paramref name="from"/> and <paramref name="to"/> is split in equal slices.
            </summary>
            <param name="count">Number of radian angles to be returned.</param>
            <param name="from">The first radian angle.</param>
            <param name="to">The exclusive end of range.</param>
            <returns></returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Radian.Range(System.Int32,System.Double,System.Double,System.Boolean)">
            <summary>
            Returns a series of radian angles.
            <paramref name="count"/> defines the number of angles to be returned.
            The range between <paramref name="from"/> and <paramref name="to"/> is split in equal slices.
            <paramref name="inclusiveTo"/> controls whether <paramref name="to"/> is returned as the last angle.
            </summary>
            <param name="count">Number of radian angles to be returned.</param>
            <param name="from">The first radian angle.</param>
            <param name="to">
            The end of range.
            This is the last angle if <paramref name="inclusiveTo"/> is true.
            </param>
            <param name="inclusiveTo">
            Whether <paramref name="to"/> is returned as the last angle.
            </param>
            <returns></returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Hash.Fnv1a">
            <summary>
            This class implements the alternative variant of the FNV (Fowler, Noll and Vo) hash algorithm.
            http://www.isthe.com/chongo/tech/comp/fnv/index.html#FNV-1a
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Hash.Fnv1a.Hash(System.Byte,System.UInt32)">
            <summary>
            Hash a single byte.
            </summary>
            <param name="value">The byte to hash.</param>
            <param name="hash">current hash (optional).</param>
            <returns>calculated hash</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Hash.Fnv1a.Hash(System.UInt16,System.UInt32)">
            <summary>
            Hash a ushort value.
            </summary>
            <param name="value">The value to hash.</param>
            <param name="hash">current hash (optional).</param>
            <returns>calculated hash</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Hash.Fnv1a.Hash(System.UInt32,System.UInt32)">
            <summary>
            Hash a uint value.
            </summary>
            <param name="value">The value to hash.</param>
            <param name="hash">current hash (optional).</param>
            <returns>calculated hash</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Hash.Fnv1a.Hash(System.Byte[],System.UInt32)">
            <summary>
            Hash an array of bytes.
            </summary>
            <param name="values">The values to hash.</param>
            <param name="hash">current hash (optional).</param>
            <returns>calculated hash</returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Point2D">
            <summary>
            Represents a 2 dimensional point.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point2D.Zero">
            <summary>
            Point initialized by zero for every axis.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2D.X">
            <summary>
            The X-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2D.Y">
            <summary>
            The Y-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2D.Item(System.Int32)">
            <summary>
            Gets or sets the coordinate of the axis specified by <paramref name="index"/>.
            </summary>
            <param name="index">0 for the X axis, 1 for the Y axis.</param>
            <returns>The value of the coordinate.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point2D.Magnitude">
            <summary>
            Returns the distance between this point and the zero point.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.#ctor(System.Double,System.Double)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point2D"/> instance with the specified coordinates.
            </summary>
            <param name="x">The X-coordinate.</param>
            <param name="y">The Y-coordinate.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.#ctor(RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point2D"/> instance with the coordinates from the other point.
            </summary>
            <param name="other">The point whose coordinates shall be used for initialization.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Addition(RAYLASE.SPICE3.Utils.Point2D,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Adds the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Addition(RAYLASE.SPICE3.Utils.Point2D,System.Double)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Addition(System.Double,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Subtraction(RAYLASE.SPICE3.Utils.Point2D,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Subtracts the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The difference between the two points.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Subtraction(RAYLASE.SPICE3.Utils.Point2D,System.Double)">
            <summary>
            Subtracts a scalar from all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Subtraction(System.Double,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Subtracts all the coordinates of a point from a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Multiply(RAYLASE.SPICE3.Utils.Point2D,System.Double)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Multiply(System.Double,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Division(RAYLASE.SPICE3.Utils.Point2D,System.Double)">
            <summary>
            Divides all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The new point scaled by the inverse of the scalar.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Equality(RAYLASE.SPICE3.Utils.Point2D,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Compares two points with each other, and returns true if all coordinates are equal.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points are equal.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.op_Inequality(RAYLASE.SPICE3.Utils.Point2D,RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Compares two points with each other, and returns true if at least one pair of coordinates are different.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points differ from each other.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.Equals(System.Object)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified object.
            </summary>
            <param name="obj">The object to test.</param>
            <returns>True if <paramref name="obj"/> is a <see cref="T:RAYLASE.SPICE3.Utils.Point2D"/> and has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point2D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.Equals(RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="rhs">The point to test.</param>
            <returns>True if <paramref name="rhs"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point2D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.ToString">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.ToString(System.Int32)">
            <summary>
            Converts this point in a human-readable format showing its coordinates with the specified number of decimal digits, using a culture invariant representation.
            </summary>
            <param name="decimalDigits">The number of decimal digits.</param>
            <returns>The human-readable representation of this point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point2D.ToAxisString(System.Int32)">
            <summary>
            Returns a label of the specified axis.
            </summary>
            <param name="index">The index specifying the axis: 0 for the X axis, 1 for the Y axis.</param>
            <returns>A string representing the name of the axis.</returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Point3DInt">
            <summary>
            Represents a 3 dimensional point.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point3DInt.Zero">
            <summary>
            Point initialized by zero for every axis.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3DInt.X">
            <summary>
            The X-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3DInt.Y">
            <summary>
            The Y-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3DInt.Z">
            <summary>
            The Z-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3DInt.XY">
            <summary>
            Returns the point's XY coordinates.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3DInt.Item(System.Int32)">
            <summary>
            Gets or sets the coordinate of the axis specified by <paramref name="index"/>.
            </summary>
            <param name="index">0 for the X axis, 1 for the Y axis, and so on.</param>
            <returns>The value of the coordinate.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point3DInt.Magnitude">
            <summary>
            Returns the distance between this point and the zero point.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point3DInt"/> instance with the specified coordinates.
            </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:RAYLASE.SPICE3.Utils.Point3DInt.#ctor(RAYLASE.SPICE3.Utils.Point2DInt)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point3DInt"/> instance with the XY coordinates from the other point, and with Z set to 0.
            </summary>
            <param name="point">The point whose XY coordinates shall be used.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.#ctor(RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point3DInt"/> instance with the XYZ coordinates from the other point.
            </summary>
            <param name="point">The point whose XYZ coordinates shall be used.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Addition(RAYLASE.SPICE3.Utils.Point3DInt,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Adds the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Addition(RAYLASE.SPICE3.Utils.Point3DInt,System.Int32)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Addition(System.Int32,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Subtraction(RAYLASE.SPICE3.Utils.Point3DInt,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Subtracts the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The difference between the two points.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Subtraction(RAYLASE.SPICE3.Utils.Point3DInt,System.Int32)">
            <summary>
            Subtracts a scalar from all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Subtraction(System.Int32,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Subtracts all the coordinates of a point from a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Multiply(RAYLASE.SPICE3.Utils.Point3DInt,System.Int32)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Multiply(System.Int32,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Multiply(RAYLASE.SPICE3.Utils.Point3DInt,System.Double)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Multiply(System.Double,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Equality(RAYLASE.SPICE3.Utils.Point3DInt,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Compares two points with each other, and returns true if all coordinates are equal.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points are equal.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.op_Inequality(RAYLASE.SPICE3.Utils.Point3DInt,RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Compares two points with each other, and returns true if at least one pair of coordinates are different.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points differ from each other.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.Equals(System.Object)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified object.
            </summary>
            <param name="obj">The object to test.</param>
            <returns>True if <paramref name="obj"/> is a <see cref="T:RAYLASE.SPICE3.Utils.Point3DInt"/> and has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point3DInt"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.Equals(RAYLASE.SPICE3.Utils.Point3DInt)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="rhs">The point to test.</param>
            <returns>True if <paramref name="rhs"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point3DInt"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.ToString">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point3DInt.ToAxisString(System.Int32)">
            <summary>
            Returns a label of the specified axis.
            </summary>
            <param name="index">The index specifying the axis: 0 for the X axis, 1 for the Y axis.</param>
            <returns>A string representing the name of the axis.</returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Point4D">
            <summary>
            Represents a 4 dimensional point.
            </summary>
        </member>
        <member name="F:RAYLASE.SPICE3.Utils.Point4D.Zero">
            <summary>
            Point initialized by zero for every axis.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.X">
            <summary>
            The X-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.Y">
            <summary>
            The Y-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.Z">
            <summary>
            The Z-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.M">
            <summary>
            The M-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.XY">
            <summary>
            Returns the point's XY coordinates.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.XYZ">
            <summary>
            Returns the point's XYZ coordinates.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.Item(System.Int32)">
            <summary>
            Gets or sets the coordinate of the axis specified by <paramref name="index"/>.
            </summary>
            <param name="index">0 for the X axis, 1 for the Y axis, and so on.</param>
            <returns>The value of the coordinate.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4D.Magnitude">
            <summary>
            Returns the distance between this point and the zero point.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/> instance with the specified coordinates.
            </summary>
            <param name="x">The X-coordinate.</param>
            <param name="y">The Y-coordinate.</param>
            <param name="z">The Z-coordinate.</param>
            <param name="m">The M-coordinate.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.#ctor(RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/> instance with the coordinates from the other point.
            </summary>
            <param name="other">The point whose coordinates shall be used for initialization.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.#ctor(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/> instance with the XYZ coordinates from the other point, and M with the specified coordinate.
            </summary>
            <param name="point">The point whose XYZ coordinates shall be used.</param>
            <param name="m">The M coordinate.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.#ctor(RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/> instance with the XY coordinates from the other point, and with Z and M set to 0.0 and 1.0, respectively.
            </summary>
            <param name="point">The point whose XY coordinates shall be used.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Addition(RAYLASE.SPICE3.Utils.Point4D,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Adds the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Addition(RAYLASE.SPICE3.Utils.Point4D,System.Double)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Addition(System.Double,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Subtraction(RAYLASE.SPICE3.Utils.Point4D,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Subtracts the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The difference between the two points.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Subtraction(RAYLASE.SPICE3.Utils.Point4D,System.Double)">
            <summary>
            Subtracts a scalar from all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Subtraction(System.Double,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Subtracts all the coordinates of a point from a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Multiply(RAYLASE.SPICE3.Utils.Point4D,System.Double)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Multiply(System.Double,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Division(RAYLASE.SPICE3.Utils.Point4D,System.Double)">
            <summary>
            Divides all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The new point scaled by the inverse of the scalar.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Equality(RAYLASE.SPICE3.Utils.Point4D,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Compares two points with each other, and returns true if all coordinates are equal.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points are equal.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.op_Inequality(RAYLASE.SPICE3.Utils.Point4D,RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Compares two points with each other, and returns true if at least one pair of coordinates are different.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points differ from each other.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.Equals(System.Object)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified object.
            </summary>
            <param name="obj">The object to test.</param>
            <returns>True if <paramref name="obj"/> is a <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/> and has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.Equals(RAYLASE.SPICE3.Utils.Point4D)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="rhs">The point to test.</param>
            <returns>True if <paramref name="rhs"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point4D"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.ToString">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.ToString(System.Int32)">
            <summary>
            Converts this point in a human-readable format showing its coordinates with the specified number of decimal digits, using a culture invariant representation.
            </summary>
            <param name="decimalDigits">The number of decimal digits.</param>
            <returns>The human-readable representation of this point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.ToAxisString(System.Int32)">
            <summary>
            Returns a label of the specified axis.
            </summary>
            <param name="index">The index specifying the axis: 0 for the X axis, 1 for the Y axis, and so on.</param>
            <returns>A string representing the name of the axis.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4D.SetZero">
            <summary>
            Set all values to zero
            </summary>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Point4DInt">
            <summary>
            Represents a 4 dimensional point.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.X">
            <summary>
            The X-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.Y">
            <summary>
            The Y-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.Z">
            <summary>
            The Z-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.M">
            <summary>
            The M-coordinate.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.XYZ">
            <summary>
            Returns the point's XYZ coordinates.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.Item(System.Int32)">
            <summary>
            Gets or sets the coordinate of the axis specified by <paramref name="index"/>.
            </summary>
            <param name="index">0 for the X axis, 1 for the Y axis, and so on.</param>
            <returns>The value of the coordinate.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Point4DInt.Magnitude">
            <summary>
            Returns the distance between this point and the zero point.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new <see cref="T:RAYLASE.SPICE3.Utils.Point4DInt"/> instance with the specified coordinates.
            </summary>
            <param name="x">The X-coordinate.</param>
            <param name="y">The Y-coordinate.</param>
            <param name="z">The Z-coordinate.</param>
            <param name="m">The M-coordinate.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Addition(RAYLASE.SPICE3.Utils.Point4DInt,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Adds the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Addition(RAYLASE.SPICE3.Utils.Point4DInt,System.Int32)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Addition(System.Int32,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Adds a scalar to all the coordinates of a point, and returns a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The translated point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Subtraction(RAYLASE.SPICE3.Utils.Point4DInt,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Subtracts the coordinates of two points, and returns the result as a new point.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>The difference between the two points.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Subtraction(RAYLASE.SPICE3.Utils.Point4DInt,System.Int32)">
            <summary>
            Subtracts a scalar from all the coordinates of a point, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Subtraction(System.Int32,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Subtracts all the coordinates of a point from a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The difference.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Multiply(RAYLASE.SPICE3.Utils.Point4DInt,System.Int32)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Multiply(System.Int32,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Multiply(RAYLASE.SPICE3.Utils.Point4DInt,System.Double)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The point.</param>
            <param name="rhs">The scalar.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Multiply(System.Double,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Multiplies all the coordinates of a point with a scalar, and returns the result as a new point.
            </summary>
            <param name="lhs">The scalar.</param>
            <param name="rhs">The point.</param>
            <returns>The scaled new point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Equality(RAYLASE.SPICE3.Utils.Point4DInt,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Compares two points with each other, and returns true if all coordinates are equal.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points are equal.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.op_Inequality(RAYLASE.SPICE3.Utils.Point4DInt,RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Compares two points with each other, and returns true if at least one pair of coordinates are different.
            </summary>
            <param name="lhs">The first point.</param>
            <param name="rhs">The second point.</param>
            <returns>True if both points differ from each other.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.Equals(System.Object)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified object.
            </summary>
            <param name="obj">The object to test.</param>
            <returns>True if <paramref name="obj"/> is a <see cref="T:RAYLASE.SPICE3.Utils.Point4DInt"/> and has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point4DInt"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.Equals(RAYLASE.SPICE3.Utils.Point4DInt)">
            <summary>
            Specifies whether this point contains the same coordinates as the specified point.
            </summary>
            <param name="rhs">The point to test.</param>
            <returns>True if <paramref name="rhs"/> has the same coordinates as this <see cref="T:RAYLASE.SPICE3.Utils.Point4DInt"/>.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.ToString">
            <inheritdoc/>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Point4DInt.ToAxisString(System.Int32)">
            <summary>
            Returns a label of the specified axis.
            </summary>
            <param name="index">The index specifying the axis: 0 for the X axis, 1 for the Y axis.</param>
            <returns>A string representing the name of the axis.</returns>
        </member>
        <member name="T:RAYLASE.SPICE3.Utils.Transform3D">
            <summary>
            Used to perform the standard geometrical transformations on the positions in <conceptualLink target="3048a0c3-dfc5-4a15-a15f-197fadf302be"/>.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Transform3D.Identity">
            <summary>
            Identity transformation matrix with offset set to 0.
            </summary>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Transform3D.Det">
            <summary>
            Gets the determinant of the transformation matrix.
            </summary>
            <returns>The determinant.</returns>
            <remarks>Uses lazy evaluation.</remarks>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Transform3D.Item(System.Int32,System.Int32)">
            <summary>
            Gets or sets the value in the matrix at the i-th row and j-th column.
            </summary>
            <param name="i">The row in the matrix.</param>
            <param name="j">The column in the matrix.</param>
            <returns>The value in the matrix at the specified row and column.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Transform3D.Item(System.Int32)">
            <summary>
            Gets or sets the value of the offset at the i-th row.
            </summary>
            <param name="i">The row in the offset vector.</param>
            <returns>The offset at the specified row.</returns>
        </member>
        <member name="P:RAYLASE.SPICE3.Utils.Transform3D.Offset">
            <summary>
            Sets/Gets the Offset.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.#ctor">
            <summary>
            Creates a new instance with an identity matrix and zero offset.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.SetIdentity">
            <summary>
            Resets the matrix to an identity matrix.
            </summary>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.RotateX(System.Double)">
            <summary>
            Rotates the matrix around the x-axis
            </summary>
            <param name="radians">The rotation angle.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.RotateY(System.Double)">
            <summary>
            Rotates the matrix around the y-axis
            </summary>
            <param name="radians">The rotation angle.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.RotateZ(System.Double)">
            <summary>
            Rotates the matrix around the z-axis
            </summary>
            <param name="radians">The rotation angle.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.RotateAround(RAYLASE.SPICE3.Utils.Point3D,System.Double)">
            <summary>
            Rotates the matrix around an arbitrary <paramref name="axisVector"/>,
            which is the thumb with the right-hand rule.
            Direction of the rotation is given by the fingers.
            </summary>
            <param name="axisVector">The rotation axis specified by a vector.</param>
            <param name="radians">The rotation angle.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.TryRotateBetween(RAYLASE.SPICE3.Utils.Point3D,RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Tries rotating the matrix with the oblique angle between two vectors.
            Returns true when it succeeds.
            If the two vectors are exactly opposite in direction,
            returns false as there are infinitely many axes to rotate.
            </summary>
            <param name="from"></param>
            <param name="to"></param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Scale(System.Double,System.Double,System.Double)">
            <summary>
            Scales the matrix by the given values.
            </summary>
            <param name="scaleX">Scaling factor for X.</param>
            <param name="scaleY">Scaling factor for Y.</param>
            <param name="scaleZ">Scaling factor for Z.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Scale(System.Double,System.Double)">
            <summary>
            Scales the matrix by the given values.
            </summary>
            <param name="scaleX">Scaling factor for X.</param>
            <param name="scaleY">Scaling factor for Y.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Scale(RAYLASE.SPICE3.Utils.Point2D)">
            <summary>
            Scales the matrix by the given values.
            </summary>
            <param name="scale">Scaling factor for X/Y.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Translate(System.Double,System.Double,System.Double)">
            <summary>
            Adds an offset to the current offset
            </summary>
            <param name="offsetX">X offset.</param>
            <param name="offsetY">Y offset.</param>
            <param name="offsetZ">Z offset.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Translate(System.Double,System.Double)">
            <summary>
            Adds an offset to the current offset
            </summary>
            <param name="offsetX">X offset.</param>
            <param name="offsetY">Y offset.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Transform(RAYLASE.SPICE3.Utils.Point3D@)">
            <summary>
            Performs a transformation.
            </summary>
            <param name="pt">The point to transform. Point will be replaced by the result.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.TransformWithoutTranslation(RAYLASE.SPICE3.Utils.Point3D@)">
            <summary>
            Performs a transformation excluding the translation.
            </summary>
            <remarks>The point will only be multiplied with the matrix. The translation will not be applied.</remarks>
            <param name="pt">The point to transform. Point will be replaced by the result.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Transform(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Performs a transformation.
            </summary>
            <param name="pt">The point to transform</param>
            <returns>The transformed point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.TransformWithoutTranslation(RAYLASE.SPICE3.Utils.Point3D)">
            <summary>
            Performs a transformation excluding the translation.
            </summary>
            <remarks>The point will only be multiplied with the matrix. The translation will not be applied.</remarks>
            <param name="pt">The point to transform</param>
            <returns>The transformed point.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Transform(System.Double@,System.Double@,System.Double@)">
            <summary>
            Performs a transformation.
            </summary>
            <param name="x">x value.</param>
            <param name="y">y value.</param>
            <param name="z">z value.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.TransformWithoutTranslation(System.Double@,System.Double@,System.Double@)">
            <summary>
            Performs a transformation excluding the translation.
            </summary>
            <remarks>The point will only be multiplied with the matrix. The translation will not be applied.</remarks>
            <param name="x">x value.</param>
            <param name="y">y value.</param>
            <param name="z">z value.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.TransformBack(RAYLASE.SPICE3.Utils.Point3D@)">
            <summary>
            Transforms a point transformed by <see cref="M:RAYLASE.SPICE3.Utils.Transform3D.Transform(RAYLASE.SPICE3.Utils.Point3D)"/> back.
            </summary>
            <param name="pt">The point that should be transformed back.</param>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Inverse">
            <summary>
            Calculates the inverse of this transformation matrix.
            </summary>
            <returns>The inverse.</returns>
        </member>
        <member name="M:RAYLASE.SPICE3.Utils.Transform3D.Clear">
            <summary>
            Resets this transformation matrix back to an identity matrix.
            </summary>
        </member>
        <member name="T:RingBuffer`1">
            <summary>
            Ringbuffer implementation that allows concurrent read/write with optional blocking read.
            </summary>
        </member>
        <member name="P:RingBuffer`1.Empty">
            <summary>
            Checks if buffer is empty.
            </summary>
            <returns>true if buffer is empty, otherwise false</returns>
        </member>
        <member name="P:RingBuffer`1.Full">
            <summary>
            Checks if buffer is full.
            </summary>
            <returns>true if buffer is full, otherwise false</returns>
        </member>
        <member name="P:RingBuffer`1.Count">
            <summary>
            Number of values to read back.
            </summary>
            <returns>Number of values that can be read.</returns>
        </member>
        <member name="P:RingBuffer`1.Available">
            <summary>
            Space inside the buffer.
            </summary>
            <returns>Number of values that can currently be written into the buffer</returns>
        </member>
        <member name="P:RingBuffer`1.Capacity">
            <summary>
            Size of the buffer.
            </summary>
            <returns>Number of values that can be written into the empty buffer.</returns>
        </member>
        <member name="M:RingBuffer`1.#ctor(System.Int32)">
            <summary>
            Initialization of the ringbuffer.
            </summary>
            <param name="bufferSize">Size of the ringBuffer.</param>
        </member>
        <member name="M:RingBuffer`1.Read(System.Int32)">
            <summary>
            Reads one value from the buffer
            </summary>
            <param name="timeoutMs">Timeout in ms.</param>
            <returns>The read value.</returns>
        </member>
        <member name="M:RingBuffer`1.Skip(System.Int32,System.Int32)">
            <summary>
            Skip and discard given number of elements.
            </summary>
            <param name="count">Number of elements to skip.</param>
            <param name="timeoutMs">Timeout in ms (optional).</param>
            <returns>Number of actually skipped elements.</returns>
        </member>
        <member name="M:RingBuffer`1.Read(`0[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Reads a number of values from the buffer
            </summary>
            <remarks> N values are read back (N is the size of <paramref name="readBlock"/>). I N values can not be read back, an exception is thrown.</remarks>
            <param name="readBlock">The array where the values that are read are stored.</param>
            <param name="offset">First index to write to in <paramref name="readBlock"/>. </param>
            <param name="count">Number of words to write to <paramref name="readBlock"/></param>
            <param name="timeoutMs">Timeout in ms (optional).</param>
            <returns>Indicates if N values could be read back.</returns>
        </member>
        <member name="M:RingBuffer`1.Write(`0)">
            <summary>
            Writes a value to the buffer
            </summary>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:RingBuffer`1.Interrupt">
            <summary>
            Interrupts a blocking read.
            </summary>
        </member>
        <member name="M:RingBuffer`1.Clear">
            <summary>
            Clears the buffer.
            </summary>
        </member>
    </members>
</doc>
