Vector2D class

Vector2, 2 components

Inheritance

Constructors

Vector2D({StructPointer<Vector2D>? op, double x = 0, double y = 0})
Vector2D.one()
factory
Vector2D.vec2(num x, num y)
factory
Vector2D.zero()
factory

Properties

$state → RaylibTempStructState
Per-instance allocation state tracking slot keys, disposal, and identity.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
length → double
Euclidean length (magnitude) of this vector.
no setter
lengthSqr → double
Squared length of this vector.
no setter
op ↔ StructPointer<Vector2D>?
The C-owned or RaylibTemp-owned typed pointer for this struct, if any.
getter/setter pairinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
structIsDisposed → bool
Whether structMarkDisposed has been called on this instance.
no setterinherited
structName → String
The Dart-side type name of this struct
no setterinherited
x ↔ double
Vector x component
getter/setter pair
y ↔ double
Vector y component
getter/setter pair

Methods

add(Vector2D o) → Vector2D
Returns a new vector that is the component-wise sum of this and o.
addValue(num value) → Vector2D
Returns a new vector with value added to each component.
angle(Vector2D o) → double
Angle between this vector and o in radians.
clamp(Vector2D min, Vector2D max) → Vector2D
Clamps each component of this vector between the corresponding components of min and max.
clampValue(double min, double max) → Vector2D
Clamps the length of this vector to the range [min, max].
clone() → Vector2D
Returns a deep copy of this instance, preserving op if present.
override
copy() → Vector2D
Returns a deep copy of this instance without op.
inherited
crossProduct(Vector2D o) → double
Cross product of this vector and o.
distance(Vector2D o) → double
Euclidean distance between this vector and o.
distanceSqr(Vector2D o) → double
Squared Euclidean distance between this vector and o.
div(Vector2D o) → Vector2D
Returns a new vector that is the component-wise quotient of this and o.
divideBy(num o) → Vector2D
Returns a new vector with all components divided by o.
dotProduct(Vector2D o) → double
Dot product of this vector and o.
equals(Vector2D o) → bool
Returns true if this vector is approximately equal to o.
format([int x0 = 0, int? y0]) → String
Returns a formatted string representation of this vector.
getOp() → StructPointer<Vector2D>
Returns op, throwing a descriptive StateError if unavailable or this instance RaylibTempStructState.isDisposed.
inherited
getOpAndDispose() → StructPointer<Vector2D>
Returns op and immediately disposes this struct.
inherited
invert() → Vector2D
Returns a new vector with each component replaced by its reciprocal (1/x, 1/y).
lerp(Vector2D o, double amount) → Vector2D
Linear interpolation between this and o by amount.
lineAngle(Vector2D o) → double
Angle of the line from this point to o, relative to the X axis.
max(Vector2D o) → Vector2D
Returns a new vector with each component being the component-wise maximum of this and o.
min(Vector2D o) → Vector2D
Returns a new vector with each component being the component-wise minimum of this and o.
moveTowards(Vector2D target, double maxDistance) → Vector2D
Moves this vector towards target by at most maxDistance.
mul(Vector2D o) → Vector2D
Returns a new vector that is the component-wise product of this and o.
negate() → Vector2D
Returns a new vector with all components negated.
normalize() → Vector2D
Returns a normalized (unit-length) copy of this vector.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reflect(Vector2D normal) → Vector2D
Reflects this vector off a surface with the given normal.
refract(Vector2D n, double r) → Vector2D
Refracts this vector through a surface with normal n and ratio r.
rotate(double angle) → Vector2D
Rotates this vector by angle radians around the origin.
scale(num o) → Vector2D
Returns a new vector with all components scaled by o.
set(num x, num y) → Vector2D
Sets all components at once.
setDart(Vector2D o) → Vector2D
Copies the fields of o into this instance.
override
signature() → String
Returns a human-readable representation of this struct.
override
structAllocateInto(RaylibTemp<RaylibBase> temp, MemoryPointer<RType> p, String key) → void
Allocates nested pointers into temp under key as needed.
inherited
structMarkDisposed() → void
Marks this instance as disposed and clears op.
inherited
structOnOp(void callback(StructPointer<Vector2D> p)) → void
Calls callback with op if it is set, otherwise no-ops.
inherited
structReadFrom(MemoryPointer<RType> p) → void
override
structSetTag(String newTag) → Vector2D
Sets RaylibTempStructState.tag to newTag.
inherited
structSyncFromMemory() → void
Syncs all fields from the memory. Requires op.
inherited
structSyncToMemory() → void
Syncs all fields to the memory. Requires op.
inherited
structWriteInto(MemoryPointer<RType> p) → void
override
sub(Vector2D o) → Vector2D
Returns a new vector that is the component-wise difference of this and o.
subValue(num value) → Vector2D
Returns a new vector with value subtracted from each component.
toArray() → List<double>
Returns the components as a new double list.
toString() → String
A string representation of this object.
inherited
transform(MatrixD o) → Vector2D
Transforms this vector by matrix o.

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

field_x → StructValueField<double, RFloat>
Field descriptor for x.
final
field_y → StructValueField<double, RFloat>
Field descriptor for y.
final
struct → StructType<Vector2D>
Describes the raw memory layout, construction, and pointer representation of this struct type.
final
structLayout → StructLayout<Vector2Field>
Raw memory layout of this object.
final