|
RenderStack 11.06.1
|
Public Member Functions | |
| Vector3 (float x, float y, float z) | |
| Vector3 (double x, double y, double z) | |
| Vector3 (Vector3 p) | |
| Vector3 (Vector2 xy, float z) | |
| float | Distance (Vector3 v) |
| float | DistanceSquared (Vector3 v) |
| override string | ToString () |
| ILinear | PlusWeightTimesOther (float weight, ILinear other) |
| override int | GetHashCode () |
| bool System.IEquatable< Vector3 >. | Equals (Vector3 o) |
| override bool | Equals (object o) |
Static Public Member Functions | |
| static Vector3 | Vector3FromUint (uint i) |
| static uint | UintFromVector3 (Vector3 v) |
| static float | PointLineDistance (Vector3 x0, Vector3 x1, Vector3 x2) |
| static Vector3 | operator- (Vector3 vec) |
| static Vector3 | operator- (Vector3 left, Vector3 right) |
| static Vector3 | operator* (float scale, Vector3 vec) |
| static Vector3 | operator* (Vector3 vec, float scale) |
| static Vector3 | operator* (Vector3 left, Vector3 right) |
| static Vector3 | operator/ (Vector3 vec, float scale) |
| static Vector3 | operator+ (Vector3 left, Vector3 right) |
| static Vector3 | Min (Vector3 a, Vector3 b) |
| static Vector3 | Max (Vector3 a, Vector3 b) |
| static Vector3 | Mix (Vector3 a, Vector3 b, float t) |
| static Vector3 | Clamp (Vector3 v, float min, float max) |
| static Vector3 | Clamp (Vector3 vec, Vector3 min, Vector3 max) |
| static Vector3 | Floor (Vector3 v) |
| static Vector3 | Normalize (Vector3 v) |
| static float | Dot (Vector3 left, Vector3 right) |
| static Vector3 | Cross (Vector3 left, Vector3 right) |
| static bool | operator== (Vector3 a, Vector3 b) |
| static bool | operator!= (Vector3 a, Vector3 b) |
Public Attributes | |
| float | X |
| float | Y |
| float | Z |
Static Public Attributes | |
| static Vector3 | Zero = new Vector3(0, 0, 0) |
| static Vector3 | One = new Vector3(1, 1, 1) |
| static Vector3 | UnitX = new Vector3(1, 0, 0) |
| static Vector3 | UnitY = new Vector3(0, 1, 0) |
| static Vector3 | UnitZ = new Vector3(0, 0, 1) |
| static Vector3 | MinValue = new Vector3(Single.MinValue, Single.MinValue, Single.MinValue) |
| static Vector3 | MaxValue = new Vector3(Single.MaxValue, Single.MaxValue, Single.MaxValue) |
Properties | |
| Vector2 | Xy [get] |
| float | Length [get] |
| float | LengthSquared [get] |
| Vector3 | MaxAxis [get] |
| Vector3 | MinAxis [get] |
Definition at line 29 of file Vector3.cs.
| RenderStack.Math.Vector3.Vector3 | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Definition at line 43 of file Vector3.cs.
| RenderStack.Math.Vector3.Vector3 | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) |
Definition at line 50 of file Vector3.cs.
| RenderStack.Math.Vector3.Vector3 | ( | Vector3 | p | ) |
Definition at line 57 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
| RenderStack.Math.Vector3.Vector3 | ( | Vector2 | xy, |
| float | z | ||
| ) |
Definition at line 64 of file Vector3.cs.
References RenderStack.Math.Vector2.X, and RenderStack.Math.Vector2.Y.
| static Vector3 RenderStack.Math.Vector3.Vector3FromUint | ( | uint | i | ) | [static] |
Definition at line 94 of file Vector3.cs.
Referenced by RenderStack.Mesh.GeometryMesh.BuildMeshFromGeometry().
{
uint r = (i >> 16) & 0xff;
uint g = (i >> 8) & 0xff;
uint b = (i >> 0) & 0xff;
return new Vector3(
r / 255.0f,
g / 255.0f,
b / 255.0f
);
}
| static uint RenderStack.Math.Vector3.UintFromVector3 | ( | Vector3 | v | ) | [static] |
Definition at line 107 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
float rf = v.X * 255.0f;
float gf = v.Y * 255.0f;
float bf = v.Z * 255.0f;
uint r = (uint)System.Math.Round(rf) << 16;
uint g = (uint)System.Math.Round(gf) << 8;
uint b = (uint)System.Math.Round(bf) << 0;
uint i = r | g | b;
return i;
}
| float RenderStack.Math.Vector3.Distance | ( | Vector3 | v | ) |
Definition at line 120 of file Vector3.cs.
References RenderStack.Math.Vector3.Length.
{
Vector3 d = v - this;
return d.Length;
}
| float RenderStack.Math.Vector3.DistanceSquared | ( | Vector3 | v | ) |
Definition at line 125 of file Vector3.cs.
References RenderStack.Math.Vector3.LengthSquared.
Referenced by RenderStack.Geometry.Geometry.ClosestPolygonCorner(), RenderStack.Geometry.Geometry.Merge(), RenderStack.Geometry.Geometry.MergeFast(), and RenderStack.Geometry.Geometry.MergePoints().
{
Vector3 d = v - this;
return d.LengthSquared;
}
| static float RenderStack.Math.Vector3.PointLineDistance | ( | Vector3 | x0, |
| Vector3 | x1, | ||
| Vector3 | x2 | ||
| ) | [static] |
Definition at line 130 of file Vector3.cs.
References RenderStack.Math.Vector3.Dot(), and RenderStack.Math.Vector3.LengthSquared.
Definition at line 139 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(-vec.X, -vec.Y, -vec.Z);
}
Definition at line 143 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(left.X - right.X, left.Y - right.Y, left.Z - right.Z);
}
Definition at line 147 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(scale * vec.X, scale * vec.Y, scale * vec.Z);
}
Definition at line 151 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(scale * vec.X, scale * vec.Y, scale * vec.Z);
}
Definition at line 155 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(left.X * right.X, left.Y * right.Y, left.Z * right.Z);
}
Definition at line 159 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(vec.X / scale, vec.Y / scale, vec.Z / scale);
}
Definition at line 163 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(left.X + right.X, left.Y + right.Y, left.Z + right.Z);
}
Definition at line 167 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(
a.X < b.X ? a.X : b.X,
a.Y < b.Y ? a.Y : b.Y,
a.Z < b.Z ? a.Z : b.Z
);
}
Definition at line 175 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(
a.X > b.X ? a.X : b.X,
a.Y > b.Y ? a.Y : b.Y,
a.Z > b.Z ? a.Z : b.Z
);
}
Definition at line 183 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(
t * (b.X - a.X) + a.X,
t * (b.Y - a.Y) + a.Y,
t * (b.Z - a.Z) + a.Z
);
}
Definition at line 191 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.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;
return v;
}
Definition at line 201 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.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;
return vec;
}
Definition at line 208 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return new Vector3(
(float)System.Math.Floor(v.X),
(float)System.Math.Floor(v.Y),
(float)System.Math.Floor(v.Z)
);
}
Definition at line 216 of file Vector3.cs.
References RenderStack.Math.Vector3.Length, RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
Referenced by RenderStack.Geometry.Polygon.ComputeNormal(), RenderStack.Geometry.Shapes.Cone.Cone(), RenderStack.Math.Matrix4.CreateLookAt(), RenderStack.Geometry.Polygon.DebugCheck(), RenderStack.Math.Matrix4.SetLookAtBroken(), RenderStack.Geometry.Corner.SmoothNormalize(), and RenderStack.Geometry.Shapes.Tube.Tube().
{
float length = v.Length;
return new Vector3(v.X / length, v.Y / length, v.Z / length);
}
Definition at line 221 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
Referenced by RenderStack.Geometry.Polygon.DebugCheck(), RenderStack.Math.Vector3.PointLineDistance(), RenderStack.Math.Matrix4.SetLookAtBroken(), and RenderStack.Geometry.Corner.SmoothNormalize().
{
return left.X * right.X + left.Y * right.Y + left.Z * right.Z;
}
Definition at line 225 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
Referenced by RenderStack.Geometry.Polygon.ComputeNormal(), RenderStack.Math.Matrix4.CreateLookAt(), RenderStack.Geometry.Polygon.DebugCheck(), RenderStack.Math.Ray.FindClosestPoints(), RenderStack.Math.Matrix4.SetLookAtBroken(), and RenderStack.Geometry.Shapes.Tube.Tube().
{
return new Vector3(
left.Y * right.Z - left.Z * right.Y,
left.Z * right.X - left.X * right.Z,
left.X * right.Y - left.Y * right.X
);
}
| override string RenderStack.Math.Vector3.ToString | ( | ) |
Definition at line 264 of file Vector3.cs.
Referenced by RenderStack.Scene.Frame.Debug().
Implements RenderStack.Math.ILinear.
Definition at line 269 of file Vector3.cs.
{
this += weight * (Vector3)other;
return this;
}
Definition at line 275 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return (a.X == b.X) && (a.Y == b.Y) && (a.Z == b.Z);
}
Definition at line 280 of file Vector3.cs.
References RenderStack.Math.Vector3.X, RenderStack.Math.Vector3.Y, and RenderStack.Math.Vector3.Z.
{
return (a.X != b.X) || (a.Y != b.Y) || (a.Z != b.Z);
}
| override int RenderStack.Math.Vector3.GetHashCode | ( | ) |
Definition at line 285 of file Vector3.cs.
Definition at line 290 of file Vector3.cs.
{
return this == o;
}
| override bool RenderStack.Math.Vector3.Equals | ( | object | o | ) |
Definition at line 295 of file Vector3.cs.
Definition at line 31 of file Vector3.cs.
Referenced by RenderStack.Mesh.GeometryMesh.BuildMeshFromGeometry(), RenderStack.Math.Vector3.Clamp(), RenderStack.Math.Matrix4.CreateLookAt(), RenderStack.Math.Matrix4.CreateProjection(), RenderStack.Math.Matrix4.CreateRotation(), RenderStack.Math.Vector3.Cross(), RenderStack.Math.Vector3.Dot(), RenderStack.Math.BoundingBox.ExtendBy(), RenderStack.Math.Ray.FindClosestPoints(), RenderStack.Math.Vector3.Floor(), RenderStack.Math.Matrix4.GetColumn3(), RenderStack.Math.Matrix4.GetRow3(), RenderStack.Math.Conversions.LinearRGBtosRGB(), RenderStack.Geometry.Geometry.MakePoint(), RenderStack.Math.Vector3.Max(), RenderStack.Math.Vector3.Min(), RenderStack.Math.Vector3.Mix(), RenderStack.Math.Vector3.Normalize(), RenderStack.Math.Vector3.operator!=(), RenderStack.Math.Vector3.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector3.operator+(), RenderStack.Math.Vector3.operator-(), RenderStack.Math.Vector3.operator/(), RenderStack.Math.Vector3.operator==(), RenderStack.Math.Matrix4.ProjectToScreenSpace(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), RenderStack.Math.Matrix4.SetLookAtBroken(), RenderStack.Scene.Transform.SetTranslation(), RenderStack.Math.Conversions.sRGBtoLinearRGB(), RenderStack.Math.Matrix4.TransformDirection(), RenderStack.Math.Matrix4.TransformPoint(), RenderStack.Math.Vector3.UintFromVector3(), RenderStack.Math.Vector3.Vector3(), and RenderStack.Math.Vector4.Vector4().
Definition at line 32 of file Vector3.cs.
Referenced by RenderStack.Mesh.GeometryMesh.BuildMeshFromGeometry(), RenderStack.Math.Vector3.Clamp(), RenderStack.Math.Matrix4.CreateLookAt(), RenderStack.Math.Matrix4.CreateProjection(), RenderStack.Math.Matrix4.CreateRotation(), RenderStack.Math.Vector3.Cross(), RenderStack.Math.Vector3.Dot(), RenderStack.Math.BoundingBox.ExtendBy(), RenderStack.Math.Ray.FindClosestPoints(), RenderStack.Math.Vector3.Floor(), RenderStack.Math.Matrix4.GetColumn3(), RenderStack.Math.Matrix4.GetRow3(), RenderStack.Math.Conversions.LinearRGBtosRGB(), RenderStack.Geometry.Geometry.MakePoint(), RenderStack.Math.Vector3.Max(), RenderStack.Math.Vector3.Min(), RenderStack.Math.Vector3.Mix(), RenderStack.Math.Vector3.Normalize(), RenderStack.Math.Vector3.operator!=(), RenderStack.Math.Vector3.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector3.operator+(), RenderStack.Math.Vector3.operator-(), RenderStack.Math.Vector3.operator/(), RenderStack.Math.Vector3.operator==(), RenderStack.Math.Matrix4.ProjectToScreenSpace(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), RenderStack.Math.Matrix4.SetLookAtBroken(), RenderStack.Scene.Transform.SetTranslation(), RenderStack.Math.Conversions.sRGBtoLinearRGB(), RenderStack.Math.Matrix4.TransformDirection(), RenderStack.Math.Matrix4.TransformPoint(), RenderStack.Math.Vector3.UintFromVector3(), RenderStack.Math.Vector3.Vector3(), and RenderStack.Math.Vector4.Vector4().
Definition at line 33 of file Vector3.cs.
Referenced by RenderStack.Mesh.GeometryMesh.BuildMeshFromGeometry(), RenderStack.Math.Vector3.Clamp(), RenderStack.Math.Matrix4.CreateLookAt(), RenderStack.Math.Matrix4.CreateProjection(), RenderStack.Math.Matrix4.CreateRotation(), RenderStack.Math.Vector3.Cross(), RenderStack.Math.Vector3.Dot(), RenderStack.Math.BoundingBox.ExtendBy(), RenderStack.Math.Ray.FindClosestPoints(), RenderStack.Math.Vector3.Floor(), RenderStack.Math.Matrix4.GetColumn3(), RenderStack.Math.Matrix4.GetRow3(), RenderStack.Math.Conversions.LinearRGBtosRGB(), RenderStack.Geometry.Geometry.MakePoint(), RenderStack.Math.Vector3.Max(), RenderStack.Math.Vector3.Min(), RenderStack.Math.Vector3.Mix(), RenderStack.Math.Vector3.Normalize(), RenderStack.Math.Vector3.operator!=(), RenderStack.Math.Vector3.operator*(), RenderStack.Math.Matrix4.operator*(), RenderStack.Math.Vector3.operator+(), RenderStack.Math.Vector3.operator-(), RenderStack.Math.Vector3.operator/(), RenderStack.Math.Vector3.operator==(), RenderStack.Graphics.Floats.Set(), RenderStack.Graphics.Buffer.Set(), RenderStack.Math.Matrix4.SetLookAtBroken(), RenderStack.Scene.Transform.SetTranslation(), RenderStack.Math.Conversions.sRGBtoLinearRGB(), RenderStack.Math.Matrix4.TransformDirection(), RenderStack.Math.Matrix4.TransformPoint(), RenderStack.Math.Vector3.UintFromVector3(), RenderStack.Math.Vector3.Vector3(), and RenderStack.Math.Vector4.Vector4().
Vector3 RenderStack.Math.Vector3.Zero = new Vector3(0, 0, 0) [static] |
Definition at line 35 of file Vector3.cs.
Referenced by RenderStack.Scene.Frame.Debug().
Vector3 RenderStack.Math.Vector3.One = new Vector3(1, 1, 1) [static] |
Definition at line 36 of file Vector3.cs.
Vector3 RenderStack.Math.Vector3.UnitX = new Vector3(1, 0, 0) [static] |
Definition at line 37 of file Vector3.cs.
Vector3 RenderStack.Math.Vector3.UnitY = new Vector3(0, 1, 0) [static] |
Definition at line 38 of file Vector3.cs.
Referenced by RenderStack.Mesh.GeometryMesh.BuildMeshFromGeometry().
Vector3 RenderStack.Math.Vector3.UnitZ = new Vector3(0, 0, 1) [static] |
Definition at line 39 of file Vector3.cs.
Referenced by example.UI.SceneManager.AddSimpleScene(), and example.Scene.SceneManager.AddSimpleScene().
Vector3 RenderStack.Math.Vector3.MinValue = new Vector3(Single.MinValue, Single.MinValue, Single.MinValue) [static] |
Definition at line 40 of file Vector3.cs.
Vector3 RenderStack.Math.Vector3.MaxValue = new Vector3(Single.MaxValue, Single.MaxValue, Single.MaxValue) [static] |
Definition at line 41 of file Vector3.cs.
Vector2 RenderStack.Math.Vector3.Xy [get] |
Definition at line 72 of file Vector3.cs.
float RenderStack.Math.Vector3.Length [get] |
Definition at line 80 of file Vector3.cs.
Referenced by RenderStack.Math.Vector3.Distance(), and RenderStack.Math.Vector3.Normalize().
float RenderStack.Math.Vector3.LengthSquared [get] |
Definition at line 87 of file Vector3.cs.
Referenced by RenderStack.Math.Vector3.DistanceSquared(), RenderStack.Math.Ray.FindClosestPoints(), and RenderStack.Math.Vector3.PointLineDistance().
Vector3 RenderStack.Math.Vector3.MaxAxis [get] |
Definition at line 234 of file Vector3.cs.
Vector3 RenderStack.Math.Vector3.MinAxis [get] |
Definition at line 249 of file Vector3.cs.
Referenced by RenderStack.Math.Matrix4.CreateLookAt().
1.7.4