Struct uint2 | Package Manager UI website
docs.unity.cn
    Show / Hide Table of Contents

    Struct uint2

    Namespace: Unity.Mathematics
    Syntax
    [Serializable]
    public struct uint2 : IEquatable<uint2>, IFormattable

    Constructors

    uint2(Boolean)

    Constructs a uint2 vector from a single bool value by converting it to uint and assigning it to every component.

    Declaration
    public uint2(bool v)
    Parameters
    Type Name Description
    System.Boolean v

    uint2(Double)

    Constructs a uint2 vector from a single double value by converting it to uint and assigning it to every component.

    Declaration
    public uint2(double v)
    Parameters
    Type Name Description
    System.Double v

    uint2(Int32)

    Constructs a uint2 vector from a single int value by converting it to uint and assigning it to every component.

    Declaration
    public uint2(int v)
    Parameters
    Type Name Description
    System.Int32 v

    uint2(Single)

    Constructs a uint2 vector from a single float value by converting it to uint and assigning it to every component.

    Declaration
    public uint2(float v)
    Parameters
    Type Name Description
    System.Single v

    uint2(UInt32)

    Constructs a uint2 vector from a single uint value by assigning it to every component.

    Declaration
    public uint2(uint v)
    Parameters
    Type Name Description
    System.UInt32 v

    uint2(UInt32, UInt32)

    Constructs a uint2 vector from two uint values.

    Declaration
    public uint2(uint x, uint y)
    Parameters
    Type Name Description
    System.UInt32 x
    System.UInt32 y

    uint2(bool2)

    Constructs a uint2 vector from a bool2 vector by componentwise conversion.

    Declaration
    public uint2(bool2 v)
    Parameters
    Type Name Description
    bool2 v

    uint2(double2)

    Constructs a uint2 vector from a double2 vector by componentwise conversion.

    Declaration
    public uint2(double2 v)
    Parameters
    Type Name Description
    double2 v

    uint2(float2)

    Constructs a uint2 vector from a float2 vector by componentwise conversion.

    Declaration
    public uint2(float2 v)
    Parameters
    Type Name Description
    float2 v

    uint2(int2)

    Constructs a uint2 vector from a int2 vector by componentwise conversion.

    Declaration
    public uint2(int2 v)
    Parameters
    Type Name Description
    int2 v

    uint2(uint2)

    Constructs a uint2 vector from a uint2 vector.

    Declaration
    public uint2(uint2 xy)
    Parameters
    Type Name Description
    uint2 xy

    Fields

    x

    Declaration
    public uint x
    Field Value
    Type Description
    System.UInt32

    y

    Declaration
    public uint y
    Field Value
    Type Description
    System.UInt32

    zero

    uint2 zero value.

    Declaration
    public static readonly uint2 zero
    Field Value
    Type Description
    uint2

    Properties

    Item[Int32]

    Returns the uint element at a specified index.

    Declaration
    public uint this[int index] { get; set; }
    Parameters
    Type Name Description
    System.Int32 index
    Property Value
    Type Description
    System.UInt32

    xx

    Declaration
    public uint2 xx { get; }
    Property Value
    Type Description
    uint2

    xxx

    Declaration
    public uint3 xxx { get; }
    Property Value
    Type Description
    uint3

    xxxx

    Declaration
    public uint4 xxxx { get; }
    Property Value
    Type Description
    uint4

    xxxy

    Declaration
    public uint4 xxxy { get; }
    Property Value
    Type Description
    uint4

    xxy

    Declaration
    public uint3 xxy { get; }
    Property Value
    Type Description
    uint3

    xxyx

    Declaration
    public uint4 xxyx { get; }
    Property Value
    Type Description
    uint4

    xxyy

    Declaration
    public uint4 xxyy { get; }
    Property Value
    Type Description
    uint4

    xy

    Declaration
    public uint2 xy { get; set; }
    Property Value
    Type Description
    uint2

    xyx

    Declaration
    public uint3 xyx { get; }
    Property Value
    Type Description
    uint3

    xyxx

    Declaration
    public uint4 xyxx { get; }
    Property Value
    Type Description
    uint4

    xyxy

    Declaration
    public uint4 xyxy { get; }
    Property Value
    Type Description
    uint4

    xyy

    Declaration
    public uint3 xyy { get; }
    Property Value
    Type Description
    uint3

    xyyx

    Declaration
    public uint4 xyyx { get; }
    Property Value
    Type Description
    uint4

    xyyy

    Declaration
    public uint4 xyyy { get; }
    Property Value
    Type Description
    uint4

    yx

    Declaration
    public uint2 yx { get; set; }
    Property Value
    Type Description
    uint2

    yxx

    Declaration
    public uint3 yxx { get; }
    Property Value
    Type Description
    uint3

    yxxx

    Declaration
    public uint4 yxxx { get; }
    Property Value
    Type Description
    uint4

    yxxy

    Declaration
    public uint4 yxxy { get; }
    Property Value
    Type Description
    uint4

    yxy

    Declaration
    public uint3 yxy { get; }
    Property Value
    Type Description
    uint3

    yxyx

    Declaration
    public uint4 yxyx { get; }
    Property Value
    Type Description
    uint4

    yxyy

    Declaration
    public uint4 yxyy { get; }
    Property Value
    Type Description
    uint4

    yy

    Declaration
    public uint2 yy { get; }
    Property Value
    Type Description
    uint2

    yyx

    Declaration
    public uint3 yyx { get; }
    Property Value
    Type Description
    uint3

    yyxx

    Declaration
    public uint4 yyxx { get; }
    Property Value
    Type Description
    uint4

    yyxy

    Declaration
    public uint4 yyxy { get; }
    Property Value
    Type Description
    uint4

    yyy

    Declaration
    public uint3 yyy { get; }
    Property Value
    Type Description
    uint3

    yyyx

    Declaration
    public uint4 yyyx { get; }
    Property Value
    Type Description
    uint4

    yyyy

    Declaration
    public uint4 yyyy { get; }
    Property Value
    Type Description
    uint4

    Methods

    Equals(Object)

    Returns true if the uint2 is equal to a given uint2, false otherwise.

    Declaration
    public override bool Equals(object o)
    Parameters
    Type Name Description
    System.Object o
    Returns
    Type Description
    System.Boolean
    Overrides
    System.ValueType.Equals(System.Object)

    Equals(uint2)

    Returns true if the uint2 is equal to a given uint2, false otherwise.

    Declaration
    public bool Equals(uint2 rhs)
    Parameters
    Type Name Description
    uint2 rhs
    Returns
    Type Description
    System.Boolean

    GetHashCode()

    Returns a hash code for the uint2.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    System.Int32
    Overrides
    System.ValueType.GetHashCode()

    ToString()

    Returns a string representation of the uint2.

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String
    Overrides
    System.ValueType.ToString()

    ToString(String, IFormatProvider)

    Returns a string representation of the uint2 using a specified format and culture-specific format information.

    Declaration
    public string ToString(string format, IFormatProvider formatProvider)
    Parameters
    Type Name Description
    System.String format
    System.IFormatProvider formatProvider
    Returns
    Type Description
    System.String

    Operators

    Addition(UInt32, uint2)

    Returns the result of a componentwise addition operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator +(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Addition(uint2, UInt32)

    Returns the result of a componentwise addition operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator +(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    Addition(uint2, uint2)

    Returns the result of a componentwise addition operation on two uint2 vectors.

    Declaration
    public static uint2 operator +(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    BitwiseAnd(UInt32, uint2)

    Returns the result of a componentwise bitwise and operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator &(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    BitwiseAnd(uint2, UInt32)

    Returns the result of a componentwise bitwise and operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator &(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    BitwiseAnd(uint2, uint2)

    Returns the result of a componentwise bitwise and operation on two uint2 vectors.

    Declaration
    public static uint2 operator &(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    BitwiseOr(UInt32, uint2)

    Returns the result of a componentwise bitwise or operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator |(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    BitwiseOr(uint2, UInt32)

    Returns the result of a componentwise bitwise or operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator |(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    BitwiseOr(uint2, uint2)

    Returns the result of a componentwise bitwise or operation on two uint2 vectors.

    Declaration
    public static uint2 operator |(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Decrement(uint2)

    Returns the result of a componentwise decrement operation on a uint2 vector.

    Declaration
    public static uint2 operator --(uint2 val)
    Parameters
    Type Name Description
    uint2 val
    Returns
    Type Description
    uint2

    Division(UInt32, uint2)

    Returns the result of a componentwise division operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator /(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Division(uint2, UInt32)

    Returns the result of a componentwise division operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator /(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    Division(uint2, uint2)

    Returns the result of a componentwise division operation on two uint2 vectors.

    Declaration
    public static uint2 operator /(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Equality(UInt32, uint2)

    Returns the result of a componentwise equality operation on a uint value and a uint2 vector.

    Declaration
    public static bool2 operator ==(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    Equality(uint2, UInt32)

    Returns the result of a componentwise equality operation on a uint2 vector and a uint value.

    Declaration
    public static bool2 operator ==(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    bool2

    Equality(uint2, uint2)

    Returns the result of a componentwise equality operation on two uint2 vectors.

    Declaration
    public static bool2 operator ==(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    ExclusiveOr(UInt32, uint2)

    Returns the result of a componentwise bitwise exclusive or operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator ^(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    ExclusiveOr(uint2, UInt32)

    Returns the result of a componentwise bitwise exclusive or operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator ^(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    ExclusiveOr(uint2, uint2)

    Returns the result of a componentwise bitwise exclusive or operation on two uint2 vectors.

    Declaration
    public static uint2 operator ^(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Explicit(Boolean to uint2)

    Explicitly converts a single bool value to a uint2 vector by converting it to uint and assigning it to every component.

    Declaration
    public static explicit operator uint2(bool v)
    Parameters
    Type Name Description
    System.Boolean v
    Returns
    Type Description
    uint2

    Explicit(Double to uint2)

    Explicitly converts a single double value to a uint2 vector by converting it to uint and assigning it to every component.

    Declaration
    public static explicit operator uint2(double v)
    Parameters
    Type Name Description
    System.Double v
    Returns
    Type Description
    uint2

    Explicit(Int32 to uint2)

    Explicitly converts a single int value to a uint2 vector by converting it to uint and assigning it to every component.

    Declaration
    public static explicit operator uint2(int v)
    Parameters
    Type Name Description
    System.Int32 v
    Returns
    Type Description
    uint2

    Explicit(Single to uint2)

    Explicitly converts a single float value to a uint2 vector by converting it to uint and assigning it to every component.

    Declaration
    public static explicit operator uint2(float v)
    Parameters
    Type Name Description
    System.Single v
    Returns
    Type Description
    uint2

    Explicit(bool2 to uint2)

    Explicitly converts a bool2 vector to a uint2 vector by componentwise conversion.

    Declaration
    public static explicit operator uint2(bool2 v)
    Parameters
    Type Name Description
    bool2 v
    Returns
    Type Description
    uint2

    Explicit(double2 to uint2)

    Explicitly converts a double2 vector to a uint2 vector by componentwise conversion.

    Declaration
    public static explicit operator uint2(double2 v)
    Parameters
    Type Name Description
    double2 v
    Returns
    Type Description
    uint2

    Explicit(float2 to uint2)

    Explicitly converts a float2 vector to a uint2 vector by componentwise conversion.

    Declaration
    public static explicit operator uint2(float2 v)
    Parameters
    Type Name Description
    float2 v
    Returns
    Type Description
    uint2

    Explicit(int2 to uint2)

    Explicitly converts a int2 vector to a uint2 vector by componentwise conversion.

    Declaration
    public static explicit operator uint2(int2 v)
    Parameters
    Type Name Description
    int2 v
    Returns
    Type Description
    uint2

    GreaterThan(UInt32, uint2)

    Returns the result of a componentwise greater than operation on a uint value and a uint2 vector.

    Declaration
    public static bool2 operator>(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    GreaterThan(uint2, UInt32)

    Returns the result of a componentwise greater than operation on a uint2 vector and a uint value.

    Declaration
    public static bool2 operator>(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    bool2

    GreaterThan(uint2, uint2)

    Returns the result of a componentwise greater than operation on two uint2 vectors.

    Declaration
    public static bool2 operator>(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    GreaterThanOrEqual(UInt32, uint2)

    Returns the result of a componentwise greater or equal operation on a uint value and a uint2 vector.

    Declaration
    public static bool2 operator >=(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    GreaterThanOrEqual(uint2, UInt32)

    Returns the result of a componentwise greater or equal operation on a uint2 vector and a uint value.

    Declaration
    public static bool2 operator >=(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    bool2

    GreaterThanOrEqual(uint2, uint2)

    Returns the result of a componentwise greater or equal operation on two uint2 vectors.

    Declaration
    public static bool2 operator >=(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    Implicit(UInt32 to uint2)

    Implicitly converts a single uint value to a uint2 vector by assigning it to every component.

    Declaration
    public static implicit operator uint2(uint v)
    Parameters
    Type Name Description
    System.UInt32 v
    Returns
    Type Description
    uint2

    Increment(uint2)

    Returns the result of a componentwise increment operation on a uint2 vector.

    Declaration
    public static uint2 operator ++(uint2 val)
    Parameters
    Type Name Description
    uint2 val
    Returns
    Type Description
    uint2

    Inequality(UInt32, uint2)

    Returns the result of a componentwise not equal operation on a uint value and a uint2 vector.

    Declaration
    public static bool2 operator !=(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    Inequality(uint2, UInt32)

    Returns the result of a componentwise not equal operation on a uint2 vector and a uint value.

    Declaration
    public static bool2 operator !=(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    bool2

    Inequality(uint2, uint2)

    Returns the result of a componentwise not equal operation on two uint2 vectors.

    Declaration
    public static bool2 operator !=(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    LeftShift(uint2, Int32)

    Returns the result of a componentwise left shift operation on a uint2 vector by a number of bits specified by a single int.

    Declaration
    public static uint2 operator <<(uint2 x, int n)
    Parameters
    Type Name Description
    uint2 x
    System.Int32 n
    Returns
    Type Description
    uint2

    LessThan(UInt32, uint2)

    Returns the result of a componentwise less than operation on a uint value and a uint2 vector.

    Declaration
    public static bool2 operator <(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    LessThan(uint2, UInt32)

    Returns the result of a componentwise less than operation on a uint2 vector and a uint value.

    Declaration
    public static bool2 operator <(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    bool2

    LessThan(uint2, uint2)

    Returns the result of a componentwise less than operation on two uint2 vectors.

    Declaration
    public static bool2 operator <(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    LessThanOrEqual(UInt32, uint2)

    Returns the result of a componentwise less or equal operation on a uint value and a uint2 vector.

    Declaration
    public static bool2 operator <=(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    LessThanOrEqual(uint2, UInt32)

    Returns the result of a componentwise less or equal operation on a uint2 vector and a uint value.

    Declaration
    public static bool2 operator <=(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    bool2

    LessThanOrEqual(uint2, uint2)

    Returns the result of a componentwise less or equal operation on two uint2 vectors.

    Declaration
    public static bool2 operator <=(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    bool2

    Modulus(UInt32, uint2)

    Returns the result of a componentwise modulus operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator %(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Modulus(uint2, UInt32)

    Returns the result of a componentwise modulus operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator %(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    Modulus(uint2, uint2)

    Returns the result of a componentwise modulus operation on two uint2 vectors.

    Declaration
    public static uint2 operator %(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Multiply(UInt32, uint2)

    Returns the result of a componentwise multiplication operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator *(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Multiply(uint2, UInt32)

    Returns the result of a componentwise multiplication operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator *(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    Multiply(uint2, uint2)

    Returns the result of a componentwise multiplication operation on two uint2 vectors.

    Declaration
    public static uint2 operator *(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    OnesComplement(uint2)

    Returns the result of a componentwise bitwise not operation on a uint2 vector.

    Declaration
    public static uint2 operator ~(uint2 val)
    Parameters
    Type Name Description
    uint2 val
    Returns
    Type Description
    uint2

    RightShift(uint2, Int32)

    Returns the result of a componentwise right shift operation on a uint2 vector by a number of bits specified by a single int.

    Declaration
    public static uint2 operator >>(uint2 x, int n)
    Parameters
    Type Name Description
    uint2 x
    System.Int32 n
    Returns
    Type Description
    uint2

    Subtraction(UInt32, uint2)

    Returns the result of a componentwise subtraction operation on a uint value and a uint2 vector.

    Declaration
    public static uint2 operator -(uint lhs, uint2 rhs)
    Parameters
    Type Name Description
    System.UInt32 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    Subtraction(uint2, UInt32)

    Returns the result of a componentwise subtraction operation on a uint2 vector and a uint value.

    Declaration
    public static uint2 operator -(uint2 lhs, uint rhs)
    Parameters
    Type Name Description
    uint2 lhs
    System.UInt32 rhs
    Returns
    Type Description
    uint2

    Subtraction(uint2, uint2)

    Returns the result of a componentwise subtraction operation on two uint2 vectors.

    Declaration
    public static uint2 operator -(uint2 lhs, uint2 rhs)
    Parameters
    Type Name Description
    uint2 lhs
    uint2 rhs
    Returns
    Type Description
    uint2

    UnaryNegation(uint2)

    Returns the result of a componentwise unary minus operation on a uint2 vector.

    Declaration
    public static uint2 operator -(uint2 val)
    Parameters
    Type Name Description
    uint2 val
    Returns
    Type Description
    uint2

    UnaryPlus(uint2)

    Returns the result of a componentwise unary plus operation on a uint2 vector.

    Declaration
    public static uint2 operator +(uint2 val)
    Parameters
    Type Name Description
    uint2 val
    Returns
    Type Description
    uint2
    Back to top Copyright © 2019 Unity Technologies
    Generated by DocFX