Table of Contents

Struct ViewportVector

Namespace
FlowGraph.Core.Coordinates
Assembly
FlowGraph.Core.dll

A vector/delta in viewport coordinate space.

Viewport vectors represent movements and distances in screen/control space. They are affected by zoom - the same canvas distance appears as a larger viewport distance at higher zoom levels.

public readonly record struct ViewportVector : IEquatable<ViewportVector>
Implements
Inherited Members
Extension Methods

Constructors

ViewportVector(double, double)

A vector/delta in viewport coordinate space.

Viewport vectors represent movements and distances in screen/control space. They are affected by zoom - the same canvas distance appears as a larger viewport distance at higher zoom levels.

public ViewportVector(double DX, double DY)

Parameters

DX double
DY double

Properties

DX

public double DX { get; init; }

Property Value

double

DY

public double DY { get; init; }

Property Value

double

Length

The length (magnitude) of this vector.

public double Length { get; }

Property Value

double

LengthSquared

The squared length of this vector (faster than Length).

public double LengthSquared { get; }

Property Value

double

Zero

A zero-length vector.

public static ViewportVector Zero { get; }

Property Value

ViewportVector

Methods

Normalized()

Returns a normalized (unit length) version of this vector.

public ViewportVector Normalized()

Returns

ViewportVector

ToString()

Returns the fully qualified type name of this instance.

public override string ToString()

Returns

string

The fully qualified type name.

Operators

operator +(ViewportVector, ViewportVector)

Adds two vectors.

public static ViewportVector operator +(ViewportVector a, ViewportVector b)

Parameters

a ViewportVector
b ViewportVector

Returns

ViewportVector

operator *(ViewportVector, double)

Scales this vector by a scalar value.

public static ViewportVector operator *(ViewportVector vector, double scalar)

Parameters

vector ViewportVector
scalar double

Returns

ViewportVector

operator *(double, ViewportVector)

Scales this vector by a scalar value.

public static ViewportVector operator *(double scalar, ViewportVector vector)

Parameters

scalar double
vector ViewportVector

Returns

ViewportVector

operator -(ViewportVector, ViewportVector)

Subtracts two vectors.

public static ViewportVector operator -(ViewportVector a, ViewportVector b)

Parameters

a ViewportVector
b ViewportVector

Returns

ViewportVector

operator -(ViewportVector)

Negates this vector.

public static ViewportVector operator -(ViewportVector vector)

Parameters

vector ViewportVector

Returns

ViewportVector