public Matrix4x3f reflect(float a, float b, float c, float d) {
        return reflect(a, b, c, d, this);
    }
public Matrix4x3f reflect ( float a , float b , float c , float d ) { return reflect ( a , b , c , d , this ) ; }
Apply a mirror/reflection transformation to this matrix that reflects about the given plane
specified via the equation <code>x*a + y*b + z*c + d = 0</code>.
<p>
The vector <code>(a, b, c)</code> must be a unit vector.
<p>
If <code>M</code> is <code>this</code> matrix and <code>R</code> the reflection matrix,
then the new matrix will be <code>M * R</code>. So when transforming a
vector <code>v</code> with the new matrix by using <code>M * R * v</code>, the
reflection will be applied first!
<p>
Reference: <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/bb281733(v=vs.85).aspx">msdn.microsoft.com</a>

@param a
the x factor in the plane equation
@param b
the y factor in the plane equation
@param c
the z factor in the plane equation
@param d
the constant in the plane equation
@return this