|
RenderStack 11.06.1
|
Public Member Functions | |
| Vector4 (float x, float y, float z, float w) | |
| Vector4 (Vector3 v, float w) | |
| Vector4 (Vector2 v, float z, float w) | |
| override string | ToString () |
| ILinear | PlusWeightTimesOther (float weight, ILinear other) |
| bool | Equals (Vector4 other) |
| override int | GetHashCode () |
| override bool | Equals (object o) |
Static Public Member Functions | |
| static Vector4 | operator- (Vector4 vec) |
| static Vector4 | operator- (Vector4 left, Vector4 right) |
| static Vector4 | operator* (float scale, Vector4 vec) |
| static Vector4 | operator* (Vector4 vec, float scale) |
| static Vector4 | operator* (Vector4 left, Vector4 right) |
| static Vector4 | operator/ (Vector4 vec, float scale) |
| static Vector4 | operator+ (Vector4 left, Vector4 right) |
| static Vector4 | Min (Vector4 a, Vector4 b) |
| static Vector4 | Max (Vector4 a, Vector4 b) |
| static Vector4 | Mix (Vector4 a, Vector4 b, float t) |
| static Vector4 | BaryCentric (Vector4 a, Vector4 b, Vector4 c, float u, float v) |
| static Vector4 | Clamp (Vector4 v, float min, float max) |
| static Vector4 | Clamp (Vector4 vec, Vector4 min, Vector4 max) |
| static Vector4 | Floor (Vector4 v) |
| static Vector4 | Normalize (Vector4 v) |
| static Vector3 | Homogenize (Vector4 v) |
| static float | Dot (Vector4 left, Vector4 right) |
| static Vector4 | Cross (Vector4 x, Vector4 y, Vector4 z) |
| static bool | operator== (Vector4 a, Vector4 b) |
| static bool | operator!= (Vector4 a, Vector4 b) |
Public Attributes | |
| float | X |
| float | Y |
| float | Z |
| float | W |
Static Public Attributes | |
| static Vector4 | Zero = new Vector4(0, 0, 0, 0) |
| static readonly Vector4 | One = new Vector4(1, 1, 1, 1) |
| static Vector4 | UnitX = new Vector4(1, 0, 0, 0) |
| static Vector4 | UnitY = new Vector4(0, 1, 0, 0) |
| static Vector4 | UnitZ = new Vector4(0, 0, 1, 0) |
| static Vector4 | UnitW = new Vector4(0, 0, 0, 1) |
Properties | |
| Vector3 | Xyz [get] |
| Vector2 | Xy [get] |
| float | Length [get] |
| float | LengthSquared [get] |
Definition at line 29 of file Vector4.cs.
| RenderStack.Math.Vector4.Vector4 | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | w | ||
| ) |
| RenderStack.Math.Vector4.Vector4 | ( | Vector3 | v, |
| float | w | ||
| ) |
Definition at line 50 of file Vector4.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
| RenderStack.Math.Vector4.Vector4 | ( | Vector2 | v, |
| float | z, | ||
| float | w | ||
| ) |
Definition at line 57 of file Vector4.cs.
References RenderStack.Math.Vector2.X, and RenderStack.Math.Vector2.Y.
Definition at line 94 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(-vec.X, -vec.Y, -vec.Z, -vec.W);
}
Definition at line 98 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(left.X - right.X, left.Y - right.Y, left.Z - right.Z, left.W - right.W);
}
Definition at line 102 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(scale * vec.X, scale * vec.Y, scale * vec.Z, scale * vec.W);
}
Definition at line 106 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(scale * vec.X, scale * vec.Y, scale * vec.Z, scale * vec.W);
}
Definition at line 110 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(left.X * right.X, left.Y * right.Y, left.Z * right.Z, left.W * right.W);
}
Definition at line 114 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(vec.X / scale, vec.Y / scale, vec.Z / scale, vec.W / scale);
}
Definition at line 118 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(left.X + right.X, left.Y + right.Y, left.Z + right.Z, left.W + right.W);
}
Definition at line 123 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(
a.X < b.X ? a.X : b.X,
a.Y < b.Y ? a.Y : b.Y,
a.Z < b.Z ? a.Z : b.Z,
a.W < b.W ? a.W : b.W
);
}
Definition at line 132 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(
a.X > b.X ? a.X : b.X,
a.Y > b.Y ? a.Y : b.Y,
a.Z > b.Z ? a.Z : b.Z,
a.W > b.W ? a.W : b.W
);
}
Definition at line 141 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(
t * (b.X - a.X) + a.X,
t * (b.Y - a.Y) + a.Y,
t * (b.Z - a.Z) + a.Z,
t * (b.W - a.W) + a.W
);
}
| static Vector4 RenderStack.Math.Vector4.BaryCentric | ( | Vector4 | a, |
| Vector4 | b, | ||
| Vector4 | c, | ||
| float | u, | ||
| float | v | ||
| ) | [static] |
Definition at line 150 of file Vector4.cs.
{
return a + u * (b - a) + v * (c - a);
}
Definition at line 154 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
if(v.X < min) v.X = min;
if(v.X > max) v.X = max;
if(v.Y < min) v.Y = min;
if(v.Y > max) v.Y = max;
if(v.Z < min) v.Z = min;
if(v.Z > max) v.Z = max;
if(v.W < min) v.W = min;
if(v.W > max) v.W = max;
return v;
}
Definition at line 166 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
vec.W = vec.W < min.W ? min.W : vec.W > max.W ? max.W : vec.W;
return vec;
}
Definition at line 174 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(
(float)System.Math.Floor(v.X),
(float)System.Math.Floor(v.Y),
(float)System.Math.Floor(v.Z),
(float)System.Math.Floor(v.W)
);
}
Definition at line 191 of file Vector4.cs.
References RenderStack.Math.Vector4.Length, RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
float length = v.Length;
return new Vector4(v.X / length, v.Y / length, v.Z / length, v.W / length);
}
Definition at line 196 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
Referenced by RenderStack.Math.Matrix4.ProjectToScreenSpace().
{
return new Vector3(v.X / v.W, v.Y / v.W, v.Z / v.W);
}
Definition at line 200 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W;
}
Definition at line 204 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return new Vector4(
x.Y * y.Z * z.W + x.Z * y.W * z.Y + x.W * y.Y * z.Z - x.Y * y.W * z.Z - x.Z * y.Y * z.W - x.W * y.Z * z.Y,
x.X * y.W * z.Z + x.Z * y.X * z.W + x.W * y.Z * z.X - x.X * y.Z * z.W - x.Z * y.W * z.X - x.W * y.X * z.Z,
x.X * y.Y * z.W + x.Y * y.W * z.X + x.W * y.X * z.Y - x.X * y.W * z.Y - x.Y * y.X * z.W - x.W * y.Y * z.X,
x.X * y.Z * z.Y + x.Y * y.X * z.Z + x.Z * y.Y * z.X - x.X * y.Y * z.Z - x.Y * y.Z * z.X - x.Z * y.X * z.Y
);
}
| override string RenderStack.Math.Vector4.ToString | ( | ) |
Implements RenderStack.Math.ILinear.
Definition at line 219 of file Vector4.cs.
{
this += weight * (Vector4)other;
return this;
}
Definition at line 225 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return
(a.X == b.X) &&
(a.Y == b.Y) &&
(a.Z == b.Z) &&
(a.W == b.W);
}
Definition at line 233 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
{
return
(a.X != b.X) ||
(a.Y != b.Y) ||
(a.Z != b.Z) ||
(a.W != b.W);
}
| bool RenderStack.Math.Vector4.Equals | ( | Vector4 | other | ) |
Definition at line 241 of file Vector4.cs.
References RenderStack.Math.Vector4.W, RenderStack.Math.Vector4.X, RenderStack.Math.Vector4.Y, and RenderStack.Math.Vector4.Z.
| override int RenderStack.Math.Vector4.GetHashCode | ( | ) |
| override bool RenderStack.Math.Vector4.Equals | ( | object | o | ) |
Definition at line 254 of file Vector4.cs.
Definition at line 31 of file Vector4.cs.
Referenced by RenderStack.Math.Vector4.Clamp(), RenderStack.Math.Vector4.Cross(), RenderStack.Math.Vector4.Dot(), RenderStack.Math.Vector4.Equals(), RenderStack.Math.Vector4.Floor(), RenderStack.Math.Matrix4.GetColumn(), RenderStack.Math.Matrix4.GetRow(), RenderStack.Math.Vector4.Homogenize(), RenderStack.Math.Vector4.Max(), RenderStack.Math.Vector4.Min(), RenderStack.Math.Vector4.Mix(), RenderStack.Math.Vector4.Normalize(), RenderStack.Math.Vector4.operator!=(), RenderStack.Math.Vector4.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector4.operator+(), RenderStack.Math.Vector4.operator-(), RenderStack.Math.Vector4.operator/(), RenderStack.Math.Vector4.operator==(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), and RenderStack.Math.Matrix4.UnProject().
Definition at line 32 of file Vector4.cs.
Referenced by RenderStack.Math.Vector4.Clamp(), RenderStack.Math.Vector4.Cross(), RenderStack.Math.Vector4.Dot(), RenderStack.Math.Vector4.Equals(), RenderStack.Math.Vector4.Floor(), RenderStack.Math.Matrix4.GetColumn(), RenderStack.Math.Matrix4.GetRow(), RenderStack.Math.Vector4.Homogenize(), RenderStack.Math.Vector4.Max(), RenderStack.Math.Vector4.Min(), RenderStack.Math.Vector4.Mix(), RenderStack.Math.Vector4.Normalize(), RenderStack.Math.Vector4.operator!=(), RenderStack.Math.Vector4.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector4.operator+(), RenderStack.Math.Vector4.operator-(), RenderStack.Math.Vector4.operator/(), RenderStack.Math.Vector4.operator==(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), and RenderStack.Math.Matrix4.UnProject().
Definition at line 33 of file Vector4.cs.
Referenced by RenderStack.Math.Vector4.Clamp(), RenderStack.Math.Vector4.Cross(), RenderStack.Math.Vector4.Dot(), RenderStack.Math.Vector4.Equals(), RenderStack.Math.Vector4.Floor(), RenderStack.Math.Matrix4.GetColumn(), RenderStack.Math.Matrix4.GetRow(), RenderStack.Math.Vector4.Homogenize(), RenderStack.Math.Vector4.Max(), RenderStack.Math.Vector4.Min(), RenderStack.Math.Vector4.Mix(), RenderStack.Math.Vector4.Normalize(), RenderStack.Math.Vector4.operator!=(), RenderStack.Math.Vector4.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector4.operator+(), RenderStack.Math.Vector4.operator-(), RenderStack.Math.Vector4.operator/(), RenderStack.Math.Vector4.operator==(), RenderStack.Math.Matrix4.ProjectToScreenSpace(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), and RenderStack.Math.Matrix4.UnProject().
Definition at line 34 of file Vector4.cs.
Referenced by RenderStack.Math.Vector4.Clamp(), RenderStack.Math.Vector4.Cross(), RenderStack.Math.Vector4.Dot(), RenderStack.Math.Vector4.Equals(), RenderStack.Math.Vector4.Floor(), RenderStack.Math.Matrix4.GetColumn(), RenderStack.Math.Matrix4.GetRow(), RenderStack.Math.Vector4.Homogenize(), RenderStack.Math.Vector4.Max(), RenderStack.Math.Vector4.Min(), RenderStack.Math.Vector4.Mix(), RenderStack.Math.Vector4.Normalize(), RenderStack.Math.Vector4.operator!=(), RenderStack.Math.Vector4.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector4.operator+(), RenderStack.Math.Vector4.operator-(), RenderStack.Math.Vector4.operator/(), RenderStack.Math.Vector4.operator==(), RenderStack.Math.Matrix4.ProjectToScreenSpace(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), and RenderStack.Math.Matrix4.UnProject().
Vector4 RenderStack.Math.Vector4.Zero = new Vector4(0, 0, 0, 0) [static] |
Definition at line 36 of file Vector4.cs.
Referenced by RenderStack.Geometry.Corner.SmoothAverage().
readonly Vector4 RenderStack.Math.Vector4.One = new Vector4(1, 1, 1, 1) [static] |
Definition at line 37 of file Vector4.cs.
Vector4 RenderStack.Math.Vector4.UnitX = new Vector4(1, 0, 0, 0) [static] |
Definition at line 38 of file Vector4.cs.
Vector4 RenderStack.Math.Vector4.UnitY = new Vector4(0, 1, 0, 0) [static] |
Definition at line 39 of file Vector4.cs.
Vector4 RenderStack.Math.Vector4.UnitZ = new Vector4(0, 0, 1, 0) [static] |
Definition at line 40 of file Vector4.cs.
Vector4 RenderStack.Math.Vector4.UnitW = new Vector4(0, 0, 0, 1) [static] |
Definition at line 41 of file Vector4.cs.
Vector3 RenderStack.Math.Vector4.Xyz [get] |
Definition at line 66 of file Vector4.cs.
Vector2 RenderStack.Math.Vector4.Xy [get] |
Definition at line 73 of file Vector4.cs.
float RenderStack.Math.Vector4.Length [get] |
Definition at line 80 of file Vector4.cs.
Referenced by RenderStack.Math.Vector4.Normalize().
float RenderStack.Math.Vector4.LengthSquared [get] |
Definition at line 87 of file Vector4.cs.
1.7.4