/// <summary>
 /// <para>Warning: easy way to get a <see cref="OutOfMemoryException"/></para>
 /// Generates an hypercube of values within a specified range based on the coordinates of the specified start values.
 /// </summary>
 /// <param name="module"><see cref="IModule4D"/> represent the noise generator.</param>
 /// <param name="width">The width of the hypercube (x-axis).</param>
 /// <param name="height">The height of the hypercube (y-axis).</param>
 /// <param name="depth">The depth" of the hypercube (z-axis).</param>
 /// <param name="time">The time of the hypercube (w-axis).</param>
 /// <param name="range">Target range to convert the hypercube.</param>
 /// <param name="start_x">The start coordinate on the x-axis.</param>
 /// <param name="start_y">The start coordinate on the y-axis.</param>
 /// <param name="start_z">The start coordinate on the z-axis.</param>
 /// <param name="start_w">The start coordinate on the w-axis.</param>
 /// <returns>The resulting hypercube in target range.</returns>
 static public float[,,,] GetHypercube(this IModule4D module, int width, int height, int depth, int time, NoiseRange range, int start_x, int start_y, int start_z, int start_w)
 {
     return(module.GetHypercube(width, height, depth, time, 1, range, start_x, start_y, start_z, start_w));
 }
 /// <summary>
 /// <para>Warning: easy way to get a <see cref="OutOfMemoryException"/></para>
 /// Generates an hypercube of values within a specified range.
 /// </summary>
 /// <param name="module"><see cref="IModule4D"/> represent the noise generator.</param>
 /// <param name="width">The width of the hypercube (x-axis).</param>
 /// <param name="height">The height of the hypercube (y-axis).</param>
 /// <param name="depth">The depth" of the hypercube (z-axis).</param>
 /// <param name="time">The time of the hypercube (w-axis).</param>
 /// <param name="scaleFactor">The scale factor of the hypercube.</param>
 /// <param name="range">Target range to convert the hypercube.</param>
 /// <returns>The resulting hypercube in target range.</returns>
 static public float[,,,] GetHypercube(this IModule4D module, int width, int height, int depth, int time, float scaleFactor, NoiseRange range)
 {
     return(module.GetHypercube(width, height, depth, time, scaleFactor, range, 0, 0, 0, 0));
 }
 /// <summary>
 /// <para>Warning: easy way to get a <see cref="OutOfMemoryException"/></para>
 /// Generates an hypercube of values within a specified coordinates of the specified start values.
 /// </summary>
 /// <param name="module"><see cref="IModule4D"/> represent the noise generator.</param>
 /// <param name="width">The width of the hypercube (x-axis).</param>
 /// <param name="height">The height of the hypercube (y-axis).</param>
 /// <param name="depth">The depth" of the hypercube (z-axis).</param>
 /// <param name="time">The time of the hypercube (w-axis).</param>
 /// <param name="scaleFactor">The scale factor of the hypercube.</param>
 /// <param name="start_x">The start coordinate on the x-axis.</param>
 /// <param name="start_y">The start coordinate on the y-axis.</param>
 /// <param name="start_z">The start coordinate on the z-axis.</param>
 /// <param name="start_w">The start coordinate on the w-axis.</param>
 /// <returns>The resulting hypercube.</returns>
 static public float[,,,] GetHypercube(this IModule4D module, int width, int height, int depth, int time, float scaleFactor, int start_x, int start_y, int start_z, int start_w)
 {
     return(module.GetHypercube(width, height, depth, time, scaleFactor, _default, start_x, start_y, start_z, start_w));
 }
 /// <summary>
 /// <para>Warning: easy way to get a <see cref="OutOfMemoryException"/></para>
 /// Generates an hypercube of values.
 /// </summary>
 /// <param name="module"><see cref="IModule4D"/> represent the noise generator.</param>
 /// <param name="width">The width of the hypercube (x-axis).</param>
 /// <param name="height">The height of the hypercube (y-axis).</param>
 /// <param name="depth">The depth" of the hypercube (z-axis).</param>
 /// <param name="time">The time of the hypercube (w-axis).</param>
 /// <returns>The resulting hypercube.</returns>
 static public float[,,,] GetHypercube(this IModule4D module, int width, int height, int depth, int time)
 {
     return(module.GetHypercube(width, height, depth, time, 1, _default));
 }