using System;
using System.Collections.Generic;
using System.Text;

namespace IrrlichtNetSwig
{
    public partial class vector3df
    {
        public static vector3df operator +(vector3df x, vector3df y)
        {
            return x.add(y);
        }
        public static vector3df operator +(vector3df x, float y)
        {
            return x.add(y);
        }
        public static vector3df operator -(vector3df x, vector3df y)
        {
            return x.sub(y);
        }
        public static vector3df operator -(vector3df x, float y)
        {
            return x.sub(y);
        }
        public static vector3df operator *(vector3df x, vector3df y)
        {
            return x.mul(y);
        }
        public static vector3df operator *(vector3df x, float y)
        {
            return x.mul(y);
        }
        public static vector3df operator /(vector3df x, vector3df y)
        {
            return x.div(y);
        }
        public static vector3df operator /(vector3df x, float y)
        {
            return x.div(y);
        }
        public static bool operator <(vector3df x, vector3df y)
        {
            return x.lessThan(y);
        }
        public static bool operator >(vector3df x, vector3df y)
        {
            return x.graterThan(y);
        }
        public static bool operator <=(vector3df x, vector3df y)
        {
            return x.lessEqual(y);
        }
        public static bool operator >=(vector3df x, vector3df y)
        {
            return x.graterEqual(y);
        }

        public float[] ToArray()
        {
            return new[] {this.X, this.Y, this.Z};
        }
    }
}
