Table of Contents

Class Vector3d

Namespace
FemDesign.Geometry
Assembly
FemDesign.Core.dll
public class Vector3d
Inheritance
Vector3d
Inherited Members
Extension Methods

Constructors

Vector3d()

Parameterless constructor for serialization.

public Vector3d()

Vector3d(LineEdge)

public Vector3d(LineEdge edge)

Parameters

edge LineEdge

Vector3d(Point3d, Point3d)

Construct FdVector3d by start and end points.

public Vector3d(Point3d p0, Point3d p1)

Parameters

p0 Point3d

Start point

p1 Point3d

End point

Vector3d(double, double, double)

Construct FdVector3d by x, y and z components.

public Vector3d(double x, double y, double z)

Parameters

x double
y double
z double

Properties

UnitX

public static Vector3d UnitX { get; }

Property Value

Vector3d

UnitY

public static Vector3d UnitY { get; }

Property Value

Vector3d

UnitZ

public static Vector3d UnitZ { get; }

Property Value

Vector3d

X

public double X { get; set; }

Property Value

double

Y

public double Y { get; set; }

Property Value

double

Z

public double Z { get; set; }

Property Value

double

ZeroLength

public static Vector3d ZeroLength { get; }

Property Value

Vector3d

Methods

Cross(Vector3d)

Calculate cross-product of this FdVector3d and v FdVector3d.

public Vector3d Cross(Vector3d v)

Parameters

v Vector3d

Returns

Vector3d

Dot(Vector3d)

Calculate dot-product of this FdVector3d and v FdVector3d.

public double Dot(Vector3d v)

Parameters

v Vector3d

Returns

double

Equals(Vector3d)

public bool Equals(Vector3d v)

Parameters

v Vector3d

Returns

bool

Equals(Vector3d, double)

public bool Equals(Vector3d v, double tol)

Parameters

v Vector3d
tol double

Returns

bool

Equals(object)

public override bool Equals(object obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

IsParallel(Vector3d)

Check if this FdVector3d is parallel to v. Returns 1 if parallel, -1 if antiparallel, 0 if not parallel.

public int IsParallel(Vector3d v)

Parameters

v Vector3d

Returns

int

IsPerpendicular(Vector3d)

Check if this FdVector3d is perpendicular to v. Returns true if perpendicular, false if not perpendicular.

public bool IsPerpendicular(Vector3d v)

Parameters

v Vector3d

Returns

bool

IsZero()

Check if zero vector.

public bool IsZero()

Returns

bool

Length()

Calculate length of FdVector3d.

public double Length()

Returns

double

Normalize()

Normalize FdVector3d (i.e. scale so that length equals 1).

public Vector3d Normalize()

Returns

Vector3d

Reverse()

Reverse this by negative scaling.

public Vector3d Reverse()

Returns

Vector3d

RotateAroundAxis(double, Vector3d)

Rotate this vector by an angle around an axis

public Vector3d RotateAroundAxis(double angle, Vector3d axis)

Parameters

angle double
axis Vector3d

Returns

Vector3d

Scale(double)

Scale this FdVector3d by s.

public Vector3d Scale(double s)

Parameters

s double

Returns

Vector3d

To2d()

Check if z-component is 0 and convert to 2d vector in XY-plane.

public Vector2d To2d()

Returns

Vector2d

ToString()

public override string ToString()

Returns

string

Operators

operator +(Vector3d, Vector3d)

Vector addition

public static Vector3d operator +(Vector3d v1, Vector3d v2)

Parameters

v1 Vector3d
v2 Vector3d

Returns

Vector3d

implicit operator Vector3d(LineEdge)

Implicitly convert LineEedge to Vector

public static implicit operator Vector3d(LineEdge edge)

Parameters

edge LineEdge

Returns

Vector3d

implicit operator Vector3d(Point3d)

Implicitly convert Point to Vector

public static implicit operator Vector3d(Point3d point)

Parameters

point Point3d

Returns

Vector3d

implicit operator Point_type_3d(Vector3d)

public static implicit operator Point_type_3d(Vector3d v)

Parameters

v Vector3d

Returns

Point_type_3d

implicit operator Vector3d(Point_type_3d)

public static implicit operator Vector3d(Point_type_3d p)

Parameters

p Point_type_3d

Returns

Vector3d

operator *(Vector3d, double)

Scale vector

public static Vector3d operator *(Vector3d v, double n)

Parameters

v Vector3d
n double

Returns

Vector3d

operator *(Vector3d, int)

Scale vector

public static Vector3d operator *(Vector3d v, int n)

Parameters

v Vector3d
n int

Returns

Vector3d

operator *(double, Vector3d)

Scale vector

public static Vector3d operator *(double n, Vector3d v)

Parameters

n double
v Vector3d

Returns

Vector3d

operator *(int, Vector3d)

Scale vector

public static Vector3d operator *(int n, Vector3d v)

Parameters

n int
v Vector3d

Returns

Vector3d

operator -(Vector3d, Vector3d)

Vector difference

public static Vector3d operator -(Vector3d v1, Vector3d v2)

Parameters

v1 Vector3d
v2 Vector3d

Returns

Vector3d

operator -(Vector3d)

Reverse vector

public static Vector3d operator -(Vector3d v)

Parameters

v Vector3d

Returns

Vector3d