/* multiplyVector() has moved to {@link Vertex3D.multiplyMatrix()} */
        /* multiplyVectorNoTranslate() has moved to {@link Vertex3D.multiplyMatrixNoTranslate()} */

        public Matrix3D Multiply(Matrix3D a, Matrix3D b = null)
        {
            var product = b != null
                                ? Matrix3D.MultiplyMatrices(a, b)
                                : Matrix3D.MultiplyMatrices(this, a);

            return(Set(product._matrix));
        }
        public Matrix3D PreMultiply(Matrix3D a)
        {
            var product = Matrix3D.MultiplyMatrices(a, this);

            return(Set(product._matrix));
        }