diff options
Diffstat (limited to 'src/Math/Triangle2D.cpp')
-rw-r--r-- | src/Math/Triangle2D.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Math/Triangle2D.cpp b/src/Math/Triangle2D.cpp index 035ecb3..699bad8 100644 --- a/src/Math/Triangle2D.cpp +++ b/src/Math/Triangle2D.cpp @@ -24,19 +24,19 @@ namespace ZoomEdit { namespace Math { float Triangle2D::area() const { - return std::fabs((vertices[0].getY() + vertices[1].getY())*(vertices[0].getX()-vertices[1].getX()) - + (vertices[1].getY() + vertices[2].getY())*(vertices[1].getX()-vertices[2].getX()) - + (vertices[2].getY() + vertices[0].getY())*(vertices[2].getX()-vertices[0].getX()))/2; + return std::fabs((vertices[0].y() + vertices[1].y())*(vertices[0].x()-vertices[1].x()) + + (vertices[1].y() + vertices[2].y())*(vertices[1].x()-vertices[2].x()) + + (vertices[2].y() + vertices[0].y())*(vertices[2].x()-vertices[0].x()))/2; } -bool Triangle2D::contains(const Vertex2D &v) const { +bool Triangle2D::contains(const vmml::vec2f &v) const { for(int i = 0; i < 3; ++i) { - Vector2D v1 = vertices[(i+2)%3] - vertices[(i+1)%3]; - Vector2D v2 = vertices[i] - vertices[(i+1)%3]; + vmml::vec2f v1 = vertices[(i+2)%3] - vertices[(i+1)%3]; + vmml::vec2f v2 = vertices[i] - vertices[(i+1)%3]; - Vector2D vp = v - vertices[(i+1)%3]; + vmml::vec2f vp = v - vertices[(i+1)%3]; - if((v1.getX()*vp.getY()-vp.getX()*v1.getY())*(v1.getX()*v2.getY()-v2.getX()*v1.getY()) < 0) + if((v1.x()*vp.y()-vp.x()*v1.y())*(v1.x()*v2.y()-v2.x()*v1.y()) < 0) return false; } |