def +(par1)
      out = Vector.new(self)

      if par1 != nil and par1.is_a?Vector #and par2 == nil and par3 == nil
        out.x += par1.x
        out.y += par1.y

      elsif par1 != nil
        par1 = par1.to_f
        out.x += par1
        out.y += par1

        if out.z != nil and par1 == nil
          Error.call "The vector #{Vector.new(par1, par1, par1).to_s} do not have the same dimensions than #{out.to_s}", Error::ERR_HIGH
        elsif out.z != nil
          out.z += par1
        end
      else
        Error.call "The vector couldn't be added with this parameters : #{par1}", Error::ERR_HIGH
      end
      return out
    end
def +(par1)
      out = Vector.new(self)

      if par1 != nil and par1.is_a?Vector #and par2 == nil and par3 == nil
        out.x += par1.x
        out.y += par1.y

      elsif par1 != nil
        par1 = par1.to_f
        out.x += par1
        out.y += par1

        if out.z != nil and par1 == nil
          Error.call "The vector #{Vector.new(par1, par1, par1).to_s} do not have the same dimensions than #{out.to_s}", Error::ERR_HIGH
        elsif out.z != nil
          out.z += par1
        end
      else
        Error.call "The vector couldn't be added with this parameters : #{par1}", Error::ERR_HIGH
      end
      return out
    end
== Parameters:
 par1::
   It may be a point coordonate x, or a other Vector.
   If it's a Vector, it will be used as a couple of coordonates. Else if it is anything else, it will be converted as Float added to @x

 == Returns:
 nothing

 == Errors::
 If a parameter is invalid, it may be crash the programm with an ERR_HIGH
 If the vectors do not have the same dimensions, it will display a warning