#include "math/Plane.h"

Plane::Plane() : d(0) {
}

Plane::Plane(const Vector3& a, const Vector3& b, const Vector3& c) {
    abc = static_cast<Vector3>(b - a).cross(c - a).normalize();
    d = -abc.dot(a);
}

float Plane::getSignedDistance(const Vector3& v) const {
    return abc.dot(v) + d;
}