public static int GetAxisId(this PartitionAxis axis)
        {
            switch (axis)
            {
            case PartitionAxis.X: return(0);

            case PartitionAxis.Y: return(1);

            case PartitionAxis.Z: return(2);
            }

            Assert.IsTrue(false, "Multivalued or unset axis");
            return(-1);
        }
 public static PartitionAxis[] Enumerate(this PartitionAxis axis) => Permutations[(int)axis];