Example #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Boxl"/> using the specified location and size.
 /// </summary>
 /// <param name="location">The front-lower-left corner of the box.</param>
 /// <param name="size">The size of the box.</param>
 public Boxl(Point3l location, Size3l size)
 {
     X      = location.X;
     Y      = location.Y;
     Z      = location.Z;
     Width  = size.Width;
     Height = size.Height;
     Depth  = size.Depth;
 }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Boxl"/> using the specified location and size.
 /// </summary>
 /// <param name="x">Value for the X component of the box.</param>
 /// <param name="y">Value for the Y component of the box.</param>
 /// <param name="z">Value for the Z component of the box.</param>
 /// <param name="size">The size of the box.</param>
 public Boxl(long x, long y, long z, Size3l size)
 {
     X      = x;
     Y      = y;
     Z      = z;
     Width  = size.Width;
     Height = size.Height;
     Depth  = size.Depth;
 }
Example #3
0
 /// <summary>
 /// Returns a size that contains the highest value from each pair of components.
 /// </summary>
 /// <param name="value1">The first size.</param>
 /// <param name="value2">The second size.</param>
 /// <returns>The highest of each component in left and the matching component in right.</returns>
 public static Size3l Max(Size3l value1, Size3l value2)
 {
     return(new Size3l(Functions.Max(value1.Width, value2.Width), Functions.Max(value1.Height, value2.Height), Functions.Max(value1.Depth, value2.Depth)));
 }
Example #4
0
 /// <summary>
 /// Constrains each component to a given range.
 /// </summary>
 /// <param name="value">A size to constrain.</param>
 /// <param name="min">The minimum values for each component.</param>
 /// <param name="max">The maximum values for each component.</param>
 /// <returns>A size with each component constrained to the given range.</returns>
 public static Size3l Clamp(Size3l value, Size3l min, Size3l max)
 {
     return(new Size3l(Functions.Clamp(value.Width, min.Width, max.Width), Functions.Clamp(value.Height, min.Height, max.Height), Functions.Clamp(value.Depth, min.Depth, max.Depth)));
 }
Example #5
0
 /// <summary>
 /// Transforms the components of a size and returns the result.
 /// </summary>
 /// <param name="value">The size to transform.</param>
 /// <param name="transformer">A transform function to apply to each component.</param>
 /// <returns>The result of transforming each component of value.</returns>
 public static Size3i Transform(Size3l value, Func <long, int> transformer)
 {
     return(new Size3i(transformer(value.Width), transformer(value.Height), transformer(value.Depth)));
 }
Example #6
0
 /// <summary>
 /// Returns a value that indicates whether two sizes are equal.
 /// </summary>
 /// <param name="left">The first size to compare.</param>
 /// <param name="right">The second size to compare.</param>
 /// <returns>true if the left and right are equal; otherwise, false.</returns>
 public static bool Equals(Size3l left, Size3l right)
 {
     return(left == right);
 }
Example #7
0
 /// <summary>
 /// Divides a size by a scalar and returns the result.
 /// </summary>
 /// <param name="size">The size to be divided (the dividend).</param>
 /// <param name="scalar">The scalar to divide by (the divisor).</param>
 /// <returns>The result of dividing left by right (the quotient).</returns>
 public static Size3l Divide(Size3l size, long scalar)
 {
     Contract.Requires(0 <= scalar);
     return(new Size3l(size.Width / scalar, size.Height / scalar, size.Depth / scalar));
 }
Example #8
0
 /// <summary>
 /// Returns the product of a size and scalar.
 /// </summary>
 /// <param name="size">The size to multiply.</param>
 /// <param name="scalar">The scalar to multiply.</param>
 /// <returns>The product of the left and right parameters.</returns>
 public static Size3l Multiply(Size3l size, long scalar)
 {
     Contract.Requires(0 <= scalar);
     return(new Size3l(size.Width * scalar, size.Height * scalar, size.Depth * scalar));
 }
Example #9
0
 /// <summary>
 /// Writes the given <see cref="Size3l"/> to an <see cref="Ibasa.IO.BinaryWriter">.
 /// </summary>
 public static void Write(this Ibasa.IO.BinaryWriter writer, Size3l size)
 {
     writer.Write(size.Width);
     writer.Write(size.Height);
     writer.Write(size.Depth);
 }