From 8b09ec24cca5df569477743a05173fc83b4f40d7 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Sat, 31 Mar 2018 03:09:22 +0200 Subject: [PATCH] Avoid using ofMesh::haveVertsChanged() since it is protected in the current oF master --- src/Surfaces/QuadSurface.cpp | 17 ++++++++++++++++- src/Surfaces/QuadSurface.h | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Surfaces/QuadSurface.cpp b/src/Surfaces/QuadSurface.cpp index 3936d0c..ff263cb 100644 --- a/src/Surfaces/QuadSurface.cpp +++ b/src/Surfaces/QuadSurface.cpp @@ -52,6 +52,9 @@ void QuadSurface::setup(Vec3 p1, Vec3 p2, Vec3 p3, Vec3 p4, mesh.addTexCoord(t2.toOf()); mesh.addTexCoord(t3.toOf()); mesh.addTexCoord(t4.toOf()); + + _meshCache = mesh; + calculateHomography(); } void QuadSurface::draw(){ @@ -64,8 +67,20 @@ void QuadSurface::draw(){ } if(_perspectiveWarping){ - if(mesh.haveVertsChanged() || mesh.haveTexCoordsChanged()){ + bool meshChanged = false; + + if( + mesh.getVertices()[0] != _meshCache.getVertices()[0] || + mesh.getVertices()[1] != _meshCache.getVertices()[1] || + mesh.getVertices()[2] != _meshCache.getVertices()[2] || + mesh.getVertices()[3] != _meshCache.getVertices()[3]) + { + meshChanged = true; + } + + if(meshChanged){ calculateHomography(); + _meshCache = mesh; } ofRectangle box = getMeshBoundingBox(); diff --git a/src/Surfaces/QuadSurface.h b/src/Surfaces/QuadSurface.h index 738dd8c..655ba78 100644 --- a/src/Surfaces/QuadSurface.h +++ b/src/Surfaces/QuadSurface.h @@ -46,6 +46,7 @@ class QuadSurface : public BaseSurface { void calculateHomography(); float _matrix[16]; bool _perspectiveWarping; + ofMesh _meshCache; }; } // namespace piMapper