Show / Hide Table of Contents

Struct Vector3

Represent a three component vector of double precision.

Implements
System.IEquatable<Vector3>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: netDxf
Assembly: CADability.dll
Syntax
public struct Vector3 : IEquatable<Vector3>

Constructors

| Improve this Doc View Source

Vector3(Double)

Initializes a new instance of Vector3.

Declaration
public Vector3(double value)
Parameters
Type Name Description
System.Double value

X, Y, Z component.

| Improve this Doc View Source

Vector3(Double, Double, Double)

Initializes a new instance of Vector3.

Declaration
public Vector3(double x, double y, double z)
Parameters
Type Name Description
System.Double x

X component.

System.Double y

Y component.

System.Double z

Z component.

| Improve this Doc View Source

Vector3(Double[])

Initializes a new instance of Vector3.

Declaration
public Vector3(double[] array)
Parameters
Type Name Description
System.Double[] array

Array of three elements that represents the vector.

Properties

| Improve this Doc View Source

IsNormalized

Gets if the vector has been normalized.

Declaration
public bool IsNormalized { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Item[Int32]

Gets or sets a vector element defined by its index.

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

Index of the element.

Property Value
Type Description
System.Double
| Improve this Doc View Source

NaN

Represents a vector with not a number components.

Declaration
public static Vector3 NaN { get; }
Property Value
Type Description
Vector3
| Improve this Doc View Source

UnitX

Unit X vector.

Declaration
public static Vector3 UnitX { get; }
Property Value
Type Description
Vector3
| Improve this Doc View Source

UnitY

Unit Y vector.

Declaration
public static Vector3 UnitY { get; }
Property Value
Type Description
Vector3
| Improve this Doc View Source

UnitZ

Unit Z vector.

Declaration
public static Vector3 UnitZ { get; }
Property Value
Type Description
Vector3
| Improve this Doc View Source

X

Gets or sets the X component.

Declaration
public double X { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

Y

Gets or sets the Y component.

Declaration
public double Y { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

Z

Gets or sets the Z component.

Declaration
public double Z { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

Zero

Zero vector.

Declaration
public static Vector3 Zero { get; }
Property Value
Type Description
Vector3

Methods

| Improve this Doc View Source

Add(Vector3, Vector3)

Adds two vectors.

Declaration
public static Vector3 Add(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The addition of u plus v.

| Improve this Doc View Source

AngleBetween(Vector3, Vector3)

Obtains the angle between two vectors.

Declaration
public static double AngleBetween(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Double

Angle in radians.

| Improve this Doc View Source

AreParallel(Vector3, Vector3)

Checks if two vectors are parallel.

Declaration
public static bool AreParallel(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Boolean

True if are parallel or false in any other case.

| Improve this Doc View Source

AreParallel(Vector3, Vector3, Double)

Checks if two vectors are parallel.

Declaration
public static bool AreParallel(Vector3 u, Vector3 v, double threshold)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

System.Double threshold

Tolerance used.

Returns
Type Description
System.Boolean

True if are parallel or false in any other case.

| Improve this Doc View Source

ArePerpendicular(Vector3, Vector3)

Checks if two vectors are perpendicular.

Declaration
public static bool ArePerpendicular(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Boolean

True if are perpendicular or false in any other case.

| Improve this Doc View Source

ArePerpendicular(Vector3, Vector3, Double)

Checks if two vectors are perpendicular.

Declaration
public static bool ArePerpendicular(Vector3 u, Vector3 v, double threshold)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

System.Double threshold

Tolerance used.

Returns
Type Description
System.Boolean

True if are perpendicular or false in any other case.

| Improve this Doc View Source

CrossProduct(Vector3, Vector3)

Obtains the cross product of two vectors.

Declaration
public static Vector3 CrossProduct(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

Vector3.

| Improve this Doc View Source

Distance(Vector3, Vector3)

Obtains the distance between two points.

Declaration
public static double Distance(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Double

Distance.

| Improve this Doc View Source

Divide(Vector3, Vector3)

Divides two vectors component by component.

Declaration
public static Vector3 Divide(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The multiplication of u times v.

| Improve this Doc View Source

Divide(Vector3, Double)

Divides a vector with an scalar.

Declaration
public static Vector3 Divide(Vector3 u, double a)
Parameters
Type Name Description
Vector3 u

Vector3.

System.Double a

Scalar.

Returns
Type Description
Vector3

The division of u times a.

| Improve this Doc View Source

DotProduct(Vector3, Vector3)

Obtains the dot product of two vectors.

Declaration
public static double DotProduct(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Double

The dot product.

| Improve this Doc View Source

Equals(Vector3)

Check if the components of two vectors are approximate equal.

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

Vector3.

Returns
Type Description
System.Boolean

True if the three components are almost equal or false in any other case.

| Improve this Doc View Source

Equals(Vector3, Vector3)

Check if the components of two vectors are approximate equal.

Declaration
public static bool Equals(Vector3 a, Vector3 b)
Parameters
Type Name Description
Vector3 a

Vector3.

Vector3 b

Vector3.

Returns
Type Description
System.Boolean

True if the three components are almost equal or false in any other case.

| Improve this Doc View Source

Equals(Vector3, Vector3, Double)

Check if the components of two vectors are approximate equal.

Declaration
public static bool Equals(Vector3 a, Vector3 b, double threshold)
Parameters
Type Name Description
Vector3 a

Vector3.

Vector3 b

Vector3.

System.Double threshold

Maximum tolerance.

Returns
Type Description
System.Boolean

True if the three components are almost equal or false in any other case.

| Improve this Doc View Source

Equals(Vector3, Double)

Check if the components of two vectors are approximate equal.

Declaration
public bool Equals(Vector3 other, double threshold)
Parameters
Type Name Description
Vector3 other

Vector3.

System.Double threshold

Maximum tolerance.

Returns
Type Description
System.Boolean

True if the three components are almost equal or false in any other case.

| Improve this Doc View Source

Equals(Object)

Indicates whether this instance and a specified object are equal.

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

Another object to compare to.

Returns
Type Description
System.Boolean

True if obj and this instance are the same type and represent the same value; otherwise, false.

Overrides
System.ValueType.Equals(System.Object)
| Improve this Doc View Source

GetHashCode()

Returns the hash code for this instance.

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

A 32-bit signed integer that is the hash code for this instance.

Overrides
System.ValueType.GetHashCode()
| Improve this Doc View Source

IsNaN(Vector3)

Returns a value indicating if any component of the specified vector evaluates to a value that is not a number System.Double.NaN.

Declaration
public static bool IsNaN(Vector3 u)
Parameters
Type Name Description
Vector3 u

Vector3.

Returns
Type Description
System.Boolean

Returns true if any component of the specified vector evaluates to System.Double.NaN; otherwise, false.

| Improve this Doc View Source

MidPoint(Vector3, Vector3)

Obtains the midpoint.

Declaration
public static Vector3 MidPoint(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

Vector3.

| Improve this Doc View Source

Modulus()

Obtains the modulus of the vector.

Declaration
public double Modulus()
Returns
Type Description
System.Double

Vector modulus.

| Improve this Doc View Source

Multiply(Vector3, Vector3)

Multiplies two vectors component by component.

Declaration
public static Vector3 Multiply(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The multiplication of u times v.

| Improve this Doc View Source

Multiply(Vector3, Double)

Multiplies a vector with an scalar (same as a*u, commutative property).

Declaration
public static Vector3 Multiply(Vector3 u, double a)
Parameters
Type Name Description
Vector3 u

Vector3.

System.Double a

Scalar.

Returns
Type Description
Vector3

The multiplication of u times a.

| Improve this Doc View Source

Multiply(Double, Vector3)

Multiplies a scalar with a vector (same as u*a, commutative property).

Declaration
public static Vector3 Multiply(double a, Vector3 u)
Parameters
Type Name Description
System.Double a

Scalar.

Vector3 u

Vector3.

Returns
Type Description
Vector3

The multiplication of u times a.

| Improve this Doc View Source

Negate(Vector3)

Negates a vector.

Declaration
public static Vector3 Negate(Vector3 u)
Parameters
Type Name Description
Vector3 u

Vector3.

Returns
Type Description
Vector3

The negative vector of u.

| Improve this Doc View Source

Normalize()

Normalizes the current vector.

Declaration
public void Normalize()
| Improve this Doc View Source

Normalize(Vector3)

Normalizes the vector.

Declaration
public static Vector3 Normalize(Vector3 u)
Parameters
Type Name Description
Vector3 u

Vector to normalize

Returns
Type Description
Vector3

A normalized vector.

| Improve this Doc View Source

Round(Vector3, Int32)

Rounds the components of a vector.

Declaration
public static Vector3 Round(Vector3 u, int numDigits)
Parameters
Type Name Description
Vector3 u

Vector to round.

System.Int32 numDigits

Number of decimal places in the return value.

Returns
Type Description
Vector3

The rounded vector.

| Improve this Doc View Source

SquareDistance(Vector3, Vector3)

Obtains the square distance between two points.

Declaration
public static double SquareDistance(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Double

Square distance.

| Improve this Doc View Source

Subtract(Vector3, Vector3)

Subtracts two vectors.

Declaration
public static Vector3 Subtract(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The subtraction of u minus v.

| Improve this Doc View Source

ToArray()

Returns an array that represents the vector.

Declaration
public double[] ToArray()
Returns
Type Description
System.Double[]

Array.

| Improve this Doc View Source

ToString()

Obtains a string that represents the vector.

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

A string text.

Overrides
System.ValueType.ToString()
| Improve this Doc View Source

ToString(IFormatProvider)

Obtains a string that represents the vector.

Declaration
public string ToString(IFormatProvider provider)
Parameters
Type Name Description
System.IFormatProvider provider

An IFormatProvider interface implementation that supplies culture-specific formatting information.

Returns
Type Description
System.String

A string text.

Operators

| Improve this Doc View Source

Addition(Vector3, Vector3)

Adds two vectors.

Declaration
public static Vector3 operator +(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The addition of u plus v.

| Improve this Doc View Source

Division(Vector3, Vector3)

Divides two vectors component by component.

Declaration
public static Vector3 operator /(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The multiplication of u times v.

| Improve this Doc View Source

Division(Vector3, Double)

Divides an scalar with a vector.

Declaration
public static Vector3 operator /(Vector3 u, double a)
Parameters
Type Name Description
Vector3 u

Vector3.

System.Double a

Scalar.

Returns
Type Description
Vector3

The division of u times a.

| Improve this Doc View Source

Equality(Vector3, Vector3)

Check if the components of two vectors are equal.

Declaration
public static bool operator ==(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Boolean

True if the three components are equal or false in any other case.

| Improve this Doc View Source

Inequality(Vector3, Vector3)

Check if the components of two vectors are different.

Declaration
public static bool operator !=(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
System.Boolean

True if the three components are different or false in any other case.

| Improve this Doc View Source

Multiply(Vector3, Vector3)

Multiplies two vectors component by component.

Declaration
public static Vector3 operator *(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The multiplication of u times v.

| Improve this Doc View Source

Multiply(Vector3, Double)

Multiplies a vector with an scalar (same as a*u, commutative property).

Declaration
public static Vector3 operator *(Vector3 u, double a)
Parameters
Type Name Description
Vector3 u

Vector3.

System.Double a

Scalar.

Returns
Type Description
Vector3

The multiplication of u times a.

| Improve this Doc View Source

Multiply(Double, Vector3)

Multiplies a scalar with a vector (same as u*a, commutative property).

Declaration
public static Vector3 operator *(double a, Vector3 u)
Parameters
Type Name Description
System.Double a

Scalar.

Vector3 u

Vector3.

Returns
Type Description
Vector3

The multiplication of u times a.

| Improve this Doc View Source

Subtraction(Vector3, Vector3)

Subtracts two vectors.

Declaration
public static Vector3 operator -(Vector3 u, Vector3 v)
Parameters
Type Name Description
Vector3 u

Vector3.

Vector3 v

Vector3.

Returns
Type Description
Vector3

The subtraction of u minus v.

| Improve this Doc View Source

UnaryNegation(Vector3)

Negates a vector.

Declaration
public static Vector3 operator -(Vector3 u)
Parameters
Type Name Description
Vector3 u

Vector3.

Returns
Type Description
Vector3

The negative vector of u.

Implements

System.IEquatable<T>
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX