Made the 'd' lowercase in Box2D and Box3D
This commit is contained in:
parent
30509e0e7d
commit
4093fd6538
@ -1,10 +1,10 @@
|
||||
namespace Nerd_STF.Mathematics.Geometry;
|
||||
|
||||
public record class Box2D : IAbsolute<Box2D>, IAverage<Box2D>, ICeiling<Box2D>, IClamp<Box2D>, IContains<Vert>,
|
||||
IEquatable<Box2D>, IFloor<Box2D>, ILerp<Box2D, float>, IMedian<Box2D>, IRound<Box2D>, IShape2d<float>,
|
||||
ISplittable<Box2D, (Vert[] centers, Float2[] sizes)>
|
||||
public record class Box2d : IAbsolute<Box2d>, IAverage<Box2d>, ICeiling<Box2d>, IClamp<Box2d>, IContains<Vert>,
|
||||
IEquatable<Box2d>, IFloor<Box2d>, ILerp<Box2d, float>, IMedian<Box2d>, IRound<Box2d>, IShape2d<float>,
|
||||
ISplittable<Box2d, (Vert[] centers, Float2[] sizes)>
|
||||
{
|
||||
public static Box2D Unit => new(Vert.Zero, Float2.One);
|
||||
public static Box2d Unit => new(Vert.Zero, Float2.One);
|
||||
|
||||
public Vert MaxVert
|
||||
{
|
||||
@ -31,13 +31,13 @@ public record class Box2D : IAbsolute<Box2D>, IAverage<Box2D>, ICeiling<Box2D>,
|
||||
public Vert center;
|
||||
public Float2 size;
|
||||
|
||||
public Box2D(Vert min, Vert max) : this(Vert.Average(min, max), (Float2)(min - max)) { }
|
||||
public Box2D(Vert center, Float2 size)
|
||||
public Box2d(Vert min, Vert max) : this(Vert.Average(min, max), (Float2)(min - max)) { }
|
||||
public Box2d(Vert center, Float2 size)
|
||||
{
|
||||
this.center = center;
|
||||
this.size = size;
|
||||
}
|
||||
public Box2D(Fill<float> fill) : this(fill, new Float2(fill(3), fill(4))) { }
|
||||
public Box2d(Fill<float> fill) : this(fill, new Float2(fill(3), fill(4))) { }
|
||||
|
||||
public float this[int index]
|
||||
{
|
||||
@ -45,26 +45,26 @@ public record class Box2D : IAbsolute<Box2D>, IAverage<Box2D>, ICeiling<Box2D>,
|
||||
set => size[index] = value;
|
||||
}
|
||||
|
||||
public static Box2D Absolute(Box2D val) => new(Vert.Absolute(val.MinVert), Vert.Absolute(val.MaxVert));
|
||||
public static Box2D Average(params Box2D[] vals)
|
||||
public static Box2d Absolute(Box2d val) => new(Vert.Absolute(val.MinVert), Vert.Absolute(val.MaxVert));
|
||||
public static Box2d Average(params Box2d[] vals)
|
||||
{
|
||||
(Vert[] centers, Float2[] sizes) = SplitArray(vals);
|
||||
return new(Vert.Average(centers), Float2.Average(sizes));
|
||||
}
|
||||
public static Box2D Ceiling(Box2D val) => new(Vert.Ceiling(val.center), Float2.Ceiling(val.size));
|
||||
public static Box2D Clamp(Box2D val, Box2D min, Box2D max) =>
|
||||
public static Box2d Ceiling(Box2d val) => new(Vert.Ceiling(val.center), Float2.Ceiling(val.size));
|
||||
public static Box2d Clamp(Box2d val, Box2d min, Box2d max) =>
|
||||
new(Vert.Clamp(val.center, min.center, max.center), Float2.Clamp(val.size, min.size, max.size));
|
||||
public static Box2D Floor(Box2D val) => new(Vert.Floor(val.center), Float2.Floor(val.size));
|
||||
public static Box2D Lerp(Box2D a, Box2D b, float t, bool clamp = true) =>
|
||||
public static Box2d Floor(Box2d val) => new(Vert.Floor(val.center), Float2.Floor(val.size));
|
||||
public static Box2d Lerp(Box2d a, Box2d b, float t, bool clamp = true) =>
|
||||
new(Vert.Lerp(a.center, b.center, t, clamp), Float2.Lerp(a.size, b.size, t, clamp));
|
||||
public static Box2D Median(params Box2D[] vals)
|
||||
public static Box2d Median(params Box2d[] vals)
|
||||
{
|
||||
(Vert[] verts, Float2[] sizes) = SplitArray(vals);
|
||||
return new(Vert.Median(verts), Float2.Median(sizes));
|
||||
}
|
||||
public static Box2D Round(Box2D val) => new(Vert.Round(val.center), Float2.Round(val.size));
|
||||
public static Box2d Round(Box2d val) => new(Vert.Round(val.center), Float2.Round(val.size));
|
||||
|
||||
public static (Vert[] centers, Float2[] sizes) SplitArray(params Box2D[] vals)
|
||||
public static (Vert[] centers, Float2[] sizes) SplitArray(params Box2d[] vals)
|
||||
{
|
||||
Vert[] centers = new Vert[vals.Length];
|
||||
Float2[] sizes = new Float2[vals.Length];
|
||||
@ -78,7 +78,7 @@ public record class Box2D : IAbsolute<Box2D>, IAverage<Box2D>, ICeiling<Box2D>,
|
||||
return (centers, sizes);
|
||||
}
|
||||
|
||||
public virtual bool Equals(Box2D? other)
|
||||
public virtual bool Equals(Box2d? other)
|
||||
{
|
||||
if (other is null) return false;
|
||||
return center == other.center && size == other.size;
|
||||
@ -100,16 +100,16 @@ public record class Box2D : IAbsolute<Box2D>, IAverage<Box2D>, ICeiling<Box2D>,
|
||||
return true;
|
||||
}
|
||||
|
||||
public static Box2D operator +(Box2D a, Vert b) => new(a.center + b, a.size);
|
||||
public static Box2D operator +(Box2D a, Float2 b) => new(a.center, a.size + b);
|
||||
public static Box2D operator -(Box2D b) => new(-b.MaxVert, -b.MinVert);
|
||||
public static Box2D operator -(Box2D a, Vert b) => new(a.center - b, a.size);
|
||||
public static Box2D operator -(Box2D a, Float2 b) => new(a.center, a.size - b);
|
||||
public static Box2D operator *(Box2D a, float b) => new(a.center * b, a.size * b);
|
||||
public static Box2D operator *(Box2D a, Float2 b) => new(a.center, a.size * b);
|
||||
public static Box2D operator /(Box2D a, float b) => new(a.center / b, a.size / b);
|
||||
public static Box2D operator /(Box2D a, Float2 b) => new(a.center, a.size / b);
|
||||
public static Box2d operator +(Box2d a, Vert b) => new(a.center + b, a.size);
|
||||
public static Box2d operator +(Box2d a, Float2 b) => new(a.center, a.size + b);
|
||||
public static Box2d operator -(Box2d b) => new(-b.MaxVert, -b.MinVert);
|
||||
public static Box2d operator -(Box2d a, Vert b) => new(a.center - b, a.size);
|
||||
public static Box2d operator -(Box2d a, Float2 b) => new(a.center, a.size - b);
|
||||
public static Box2d operator *(Box2d a, float b) => new(a.center * b, a.size * b);
|
||||
public static Box2d operator *(Box2d a, Float2 b) => new(a.center, a.size * b);
|
||||
public static Box2d operator /(Box2d a, float b) => new(a.center / b, a.size / b);
|
||||
public static Box2d operator /(Box2d a, Float2 b) => new(a.center, a.size / b);
|
||||
|
||||
public static implicit operator Box2D(Fill<float> fill) => new(fill);
|
||||
public static explicit operator Box2D(Box3D box) => new(box.center, (Float2)box.size);
|
||||
public static implicit operator Box2d(Fill<float> fill) => new(fill);
|
||||
public static explicit operator Box2d(Box3d box) => new(box.center, (Float2)box.size);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
namespace Nerd_STF.Mathematics.Geometry;
|
||||
|
||||
public record class Box3D : IAbsolute<Box3D>, IAverage<Box3D>, ICeiling<Box3D>, IClamp<Box3D>,
|
||||
IContains<Vert>, IEquatable<Box3D>, IFloor<Box3D>, ILerp<Box3D, float>, IMedian<Box3D>,
|
||||
IRound<Box3D>, IShape3d<float>, ISplittable<Box3D, (Vert[] centers, Float3[] sizes)>
|
||||
public record class Box3d : IAbsolute<Box3d>, IAverage<Box3d>, ICeiling<Box3d>, IClamp<Box3d>,
|
||||
IContains<Vert>, IEquatable<Box3d>, IFloor<Box3d>, ILerp<Box3d, float>, IMedian<Box3d>,
|
||||
IRound<Box3d>, IShape3d<float>, ISplittable<Box3d, (Vert[] centers, Float3[] sizes)>
|
||||
{
|
||||
public static Box3D Unit => new(Vert.Zero, Float3.One);
|
||||
public static Box3d Unit => new(Vert.Zero, Float3.One);
|
||||
|
||||
public Vert MaxVert
|
||||
{
|
||||
@ -32,14 +32,14 @@ public record class Box3D : IAbsolute<Box3D>, IAverage<Box3D>, ICeiling<Box3D>,
|
||||
public Vert center;
|
||||
public Float3 size;
|
||||
|
||||
public Box3D(Box2D box) : this(box.center, (Float3)box.size) { }
|
||||
public Box3D(Vert min, Vert max) : this(Vert.Average(min, max), (Float3)(min - max)) { }
|
||||
public Box3D(Vert center, Float3 size)
|
||||
public Box3d(Box2d box) : this(box.center, (Float3)box.size) { }
|
||||
public Box3d(Vert min, Vert max) : this(Vert.Average(min, max), (Float3)(min - max)) { }
|
||||
public Box3d(Vert center, Float3 size)
|
||||
{
|
||||
this.center = center;
|
||||
this.size = size;
|
||||
}
|
||||
public Box3D(Fill<float> fill) : this(fill, new Float3(fill(3), fill(4), fill(5))) { }
|
||||
public Box3d(Fill<float> fill) : this(fill, new Float3(fill(3), fill(4), fill(5))) { }
|
||||
|
||||
public float this[int index]
|
||||
{
|
||||
@ -47,28 +47,28 @@ public record class Box3D : IAbsolute<Box3D>, IAverage<Box3D>, ICeiling<Box3D>,
|
||||
set => size[index] = value;
|
||||
}
|
||||
|
||||
public static Box3D Absolute(Box3D val) => new(Vert.Absolute(val.MinVert), Vert.Absolute(val.MaxVert));
|
||||
public static Box3D Average(params Box3D[] vals)
|
||||
public static Box3d Absolute(Box3d val) => new(Vert.Absolute(val.MinVert), Vert.Absolute(val.MaxVert));
|
||||
public static Box3d Average(params Box3d[] vals)
|
||||
{
|
||||
(Vert[] centers, Float3[] sizes) = SplitArray(vals);
|
||||
return new(Vert.Average(centers), Float3.Average(sizes));
|
||||
}
|
||||
public static Box3D Ceiling(Box3D val) =>
|
||||
public static Box3d Ceiling(Box3d val) =>
|
||||
new(Vert.Ceiling(val.center), (Float3)Float3.Ceiling(val.size));
|
||||
public static Box3D Clamp(Box3D val, Box3D min, Box3D max) =>
|
||||
public static Box3d Clamp(Box3d val, Box3d min, Box3d max) =>
|
||||
new(Vert.Clamp(val.center, min.center, max.center), Float3.Clamp(val.size, min.size, max.size));
|
||||
public static Box3D Floor(Box3D val) =>
|
||||
public static Box3d Floor(Box3d val) =>
|
||||
new(Vert.Floor(val.center), (Float3)Float3.Floor(val.size));
|
||||
public static Box3D Lerp(Box3D a, Box3D b, float t, bool clamp = true) =>
|
||||
public static Box3d Lerp(Box3d a, Box3d b, float t, bool clamp = true) =>
|
||||
new(Vert.Lerp(a.center, b.center, t, clamp), Float3.Lerp(a.size, b.size, t, clamp));
|
||||
public static Box3D Median(params Box3D[] vals)
|
||||
public static Box3d Median(params Box3d[] vals)
|
||||
{
|
||||
(Vert[] verts, Float3[] sizes) = SplitArray(vals);
|
||||
return new(Vert.Median(verts), Float3.Median(sizes));
|
||||
}
|
||||
public static Box3D Round(Box3D val) => new(Vert.Ceiling(val.center), (Float3)Float3.Ceiling(val.size));
|
||||
public static Box3d Round(Box3d val) => new(Vert.Ceiling(val.center), (Float3)Float3.Ceiling(val.size));
|
||||
|
||||
public static (Vert[] centers, Float3[] sizes) SplitArray(params Box3D[] vals)
|
||||
public static (Vert[] centers, Float3[] sizes) SplitArray(params Box3d[] vals)
|
||||
{
|
||||
Vert[] centers = new Vert[vals.Length];
|
||||
Float3[] sizes = new Float3[vals.Length];
|
||||
@ -82,7 +82,7 @@ public record class Box3D : IAbsolute<Box3D>, IAverage<Box3D>, ICeiling<Box3D>,
|
||||
return (centers, sizes);
|
||||
}
|
||||
|
||||
public virtual bool Equals(Box3D? other)
|
||||
public virtual bool Equals(Box3d? other)
|
||||
{
|
||||
if (other is null) return false;
|
||||
return center == other.center && size == other.size;
|
||||
@ -104,16 +104,16 @@ public record class Box3D : IAbsolute<Box3D>, IAverage<Box3D>, ICeiling<Box3D>,
|
||||
return true;
|
||||
}
|
||||
|
||||
public static Box3D operator +(Box3D a, Vert b) => new(a.center + b, a.size);
|
||||
public static Box3D operator +(Box3D a, Float3 b) => new(a.center, a.size + b);
|
||||
public static Box3D operator -(Box3D b) => new(-b.MaxVert, -b.MinVert);
|
||||
public static Box3D operator -(Box3D a, Vert b) => new(a.center - b, a.size);
|
||||
public static Box3D operator -(Box3D a, Float3 b) => new(a.center, a.size - b);
|
||||
public static Box3D operator *(Box3D a, float b) => new(a.center * b, a.size * b);
|
||||
public static Box3D operator *(Box3D a, Float3 b) => new(a.center, a.size * b);
|
||||
public static Box3D operator /(Box3D a, float b) => new(a.center / b, a.size / b);
|
||||
public static Box3D operator /(Box3D a, Float3 b) => new(a.center, a.size / b);
|
||||
public static Box3d operator +(Box3d a, Vert b) => new(a.center + b, a.size);
|
||||
public static Box3d operator +(Box3d a, Float3 b) => new(a.center, a.size + b);
|
||||
public static Box3d operator -(Box3d b) => new(-b.MaxVert, -b.MinVert);
|
||||
public static Box3d operator -(Box3d a, Vert b) => new(a.center - b, a.size);
|
||||
public static Box3d operator -(Box3d a, Float3 b) => new(a.center, a.size - b);
|
||||
public static Box3d operator *(Box3d a, float b) => new(a.center * b, a.size * b);
|
||||
public static Box3d operator *(Box3d a, Float3 b) => new(a.center, a.size * b);
|
||||
public static Box3d operator /(Box3d a, float b) => new(a.center / b, a.size / b);
|
||||
public static Box3d operator /(Box3d a, Float3 b) => new(a.center, a.size / b);
|
||||
|
||||
public static implicit operator Box3D(Fill<float> fill) => new(fill);
|
||||
public static implicit operator Box3D(Box2D box) => new(box);
|
||||
public static implicit operator Box3d(Fill<float> fill) => new(fill);
|
||||
public static implicit operator Box3d(Box2d box) => new(box);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user