setAxisOrder(axisOrder) {
        // force uppercase for strict equality tests
        axisOrder = axisOrder.toUpperCase();

        switch (axisOrder) {
            case "XYZ" :
            case "YXZ" :
            case "ZXY" :
            case "ZYX" :
            case "YZX" :
            case "XZY" :
                this.axisOrder = axisOrder;
                break;
            default :
                // apply a default axis order
                this.axisOrder = "XYZ";
        }

        return this;
    }
Sets the quaternion axis order

     params:
     @axisOrder (string): an array of at least 4 elements

     returns:
     @this (Quat class object): this quaternion after axis order has been set
*