Search Results for

    Show / Hide Table of Contents

    Struct VVector

    Represents a displacement in 3D space.

    Implements
    System.IEquatable<VVector>
    Inherited Members
    System.ValueType.ToString()
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetType()
    Namespace: VMS.TPS.Common.Model.Types
    Assembly: VMS.TPS.Common.Model.Types.dll
    Syntax
    public struct VVector : IEquatable<VVector>

    Constructors

    VVector(Double, Double, Double)

    Constructs a VVector.

    Declaration
    public VVector(double xi, double yi, double zi)
    Parameters
    Type Name Description
    System.Double xi

    X component.

    System.Double yi

    Y component.

    System.Double zi

    Z component.

    Fields

    DefaultEpsilon

    DefaultEpsilon value for epsilon equality checking.

    Declaration
    public const double DefaultEpsilon = 1E-06
    Field Value
    Type Description
    System.Double

    Undefined

    Undefined vector

    Declaration
    public static readonly VVector Undefined
    Field Value
    Type Description
    VVector

    Properties

    Item[Int32]

    Indexing for the x, y and z components.

    Declaration
    public double this[int i] { get; set; }
    Parameters
    Type Name Description
    System.Int32 i

    Value of 0,1 or 2 that correspond to x,y and z components.

    Property Value
    Type Description
    System.Double

    Returns the given component of this VVector.

    Item[VVector.Component]

    Indexing for the x, y and z components.

    Declaration
    public double this[VVector.Component vc] { get; }
    Parameters
    Type Name Description
    VVector.Component vc

    Enumeration of vector component corresponding to x,y and z components.

    Property Value
    Type Description
    System.Double

    Returns the given component of this VVector.

    Length

    The length of the VVector.

    Declaration
    public double Length { get; }
    Property Value
    Type Description
    System.Double

    LengthSquared

    The square of the length of the VVector.

    Declaration
    public double LengthSquared { get; }
    Property Value
    Type Description
    System.Double

    x

    The X component of the VVector.

    Declaration
    public double x { get; set; }
    Property Value
    Type Description
    System.Double

    y

    The Y component of the VVector.

    Declaration
    public double y { get; set; }
    Property Value
    Type Description
    System.Double

    z

    The Z component of the VVector.

    Declaration
    public double z { get; set; }
    Property Value
    Type Description
    System.Double

    Methods

    Distance(VVector, VVector)

    The distance between the locations represented by the given VVectors.

    Declaration
    public static double Distance(VVector left, VVector right)
    Parameters
    Type Name Description
    VVector left

    First operand.

    VVector right

    Second operand

    Returns
    Type Description
    System.Double

    Returns the distance between the locations represented by the given VVectors.

    EpsilonEqual(VVector, Double)

    Epsilon-equality comparison of vectors. This method considers two instances of VVector.Undefined to be equal to each other. Otherwise, two vectors are equal only if the vectors components are within epsilon.

    Declaration
    public bool EpsilonEqual(VVector other, double epsilon)
    Parameters
    Type Name Description
    VVector other

    Vector to compare this to.

    System.Double epsilon

    Epsilon to use for the vector component comparison.

    Returns
    Type Description
    System.Boolean

    True if the vector components are within epsilon, false otherwise.

    Equals(Object)

    Equality comparison of VVector and Object. This method considers two instances of VVector.Undefined to be equal to each other. Otherwise, a vector is equal to an object only if the object is a VVector and vectors are equal. For epsilon-equal comparison, use EpsilonEqual(VVector, Double).

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    System.Object obj

    Object to compare this to.

    Returns
    Type Description
    System.Boolean

    True if the Object is also VVector and equal to this (vectors are equal), false otherwise.

    Overrides
    System.ValueType.Equals(System.Object)

    Equals(VVector)

    Equality comparison of vectors. This method considers two instances of VVector.Undefined to be equal to each other. Otherwise, two vectors are equal only if the vectors components are equal. a == b, b == c, => a has to be equal to c. Epsilon equality comparison does not fulfill this condition with epsilon > 0.0. For epsilon-equal comparison, use EpsilonEqual(VVector, Double).

    Declaration
    public bool Equals(VVector other)
    Parameters
    Type Name Description
    VVector other

    vector to compare this to.

    Returns
    Type Description
    System.Boolean

    True if the vectors are equal, false otherwise.

    GetHashCode()

    A hash code for the current object.

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

    A hash code for the current object.

    Overrides
    System.ValueType.GetHashCode()

    GetUnitLengthScaledVector()

    Scales this VVector so that its length becomes equal to unity.

    Declaration
    public VVector GetUnitLengthScaledVector()
    Returns
    Type Description
    VVector

    IsUndefined()

    Returns true if at least one of this vector components are equal to double.IsNaN or double.IsInfinity, false otherwise.

    Declaration
    public bool IsUndefined()
    Returns
    Type Description
    System.Boolean

    True if at least one of the vector component is not defined or is infinity, false otherwise.

    ScalarProduct(VVector)

    The scalar product of this VVector and the given VVector.

    Declaration
    public double ScalarProduct(VVector left)
    Parameters
    Type Name Description
    VVector left

    VVector that is second operand of the scalar product.

    Returns
    Type Description
    System.Double

    Returns the scalar product of this VVector with the given VVector.

    ScaleToUnitLength()

    Scales this VVector so that its length becomes equal to unity.

    Declaration
    public void ScaleToUnitLength()

    Update(VVector.Component, Double)

    Updating VVector component value using VectorComponent indexing.

    Declaration
    public VVector Update(VVector.Component vc, double value)
    Parameters
    Type Name Description
    VVector.Component vc

    Component enum that correspond to x,y and z components.

    System.Double value

    Value of 0,1 or 2 that correspond to x,y and z components.

    Returns
    Type Description
    VVector

    Returns a new VVector with updated value

    Operators

    Addition(VVector, VVector)

    The addition of VVectors.

    Declaration
    public static VVector operator +(VVector left, VVector right)
    Parameters
    Type Name Description
    VVector left

    First operand.

    VVector right

    Second operand.

    Returns
    Type Description
    VVector

    Result of addition.

    Division(VVector, Double)

    The division of a VVector by a double.

    Declaration
    public static VVector operator /(VVector val, double div)
    Parameters
    Type Name Description
    VVector val

    VVector to divide.

    System.Double div

    Divisor.

    Returns
    Type Description
    VVector

    Result of division.

    Equality(VVector, VVector)

    Equality operator for vectors. This method considers two instances of VVector.Undefined to be equal to each other. Otherwise, two vectors are equal only if the vectors components are equal. For epsilon-equal comparison, use EpsilonEqual(VVector, Double).

    Declaration
    public static bool operator ==(VVector vv1, VVector vv2)
    Parameters
    Type Name Description
    VVector vv1

    First operand.

    VVector vv2

    Second operand.

    Returns
    Type Description
    System.Boolean

    True if the vectors are equal, false otherwise.

    Inequality(VVector, VVector)

    Inequality operator for vectors. This method considers two instances of VVector.Undefined to be equal to each other. This operator considers two instances of vectors with undefined components to be inequal. For epsilon-equal comparison, use EpsilonEqual(VVector, Double).

    Declaration
    public static bool operator !=(VVector vv1, VVector vv2)
    Parameters
    Type Name Description
    VVector vv1

    First operand.

    VVector vv2

    Second operand.

    Returns
    Type Description
    System.Boolean

    True if the vectors are inequal, false otherwise.

    Multiply(Double, VVector)

    The multiplication of a VVector and a double.

    Declaration
    public static VVector operator *(double mul, VVector val)
    Parameters
    Type Name Description
    System.Double mul

    Multiplier.

    VVector val

    VVector to multiply.

    Returns
    Type Description
    VVector

    Result of multiplication.

    Multiply(VVector, Double)

    The multiplication of a VVector and a double.

    Declaration
    public static VVector operator *(VVector val, double mul)
    Parameters
    Type Name Description
    VVector val

    VVector to multiply.

    System.Double mul

    Multiplier.

    Returns
    Type Description
    VVector

    Result of multiplication.

    Subtraction(VVector, VVector)

    The subtraction of VVectors.

    Declaration
    public static VVector operator -(VVector left, VVector right)
    Parameters
    Type Name Description
    VVector left

    First operand.

    VVector right

    Second operand.

    Returns
    Type Description
    VVector

    Result of subtraction.

    Implements

    System.IEquatable<T>
    In This Article
    Back to top