From 7681b8501e4a46d3b046f556748af9b4117ca9e5 Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Sat, 20 Jun 2026 13:34:25 +0200 Subject: [PATCH 1/3] refactor(#50): remove dangling WebARKitManager::update() declaration update() was declared in the header but never defined or called (the live per-frame path is processFrameData()). It only linked because nothing referenced it; calling it would have been a link error. Not scaffolding -- a future update() would be declared with its implementation. Co-Authored-By: Claude Opus 4.8 --- WebARKit/include/WebARKitManager.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/WebARKit/include/WebARKitManager.h b/WebARKit/include/WebARKitManager.h index 6d73864..4d5669c 100644 --- a/WebARKit/include/WebARKitManager.h +++ b/WebARKit/include/WebARKitManager.h @@ -92,8 +92,6 @@ class WebARKitManager { bool initTracker(uchar* refData, size_t refCols, size_t refRows, ColorSpace colorSpace); - bool update(); - void setLogLevel(int logLevel); bool shutdown(); From 6989781a9ba2d16f09339e08060e25c105c1d1cf Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Sat, 20 Jun 2026 13:35:16 +0200 Subject: [PATCH 2/3] refactor(#50): remove commented-out im_gray() helper im_gray() was a fully commented-out grayscale routine in WebARKitUtils.h, superseded by convert2Grayscale(). Pure dead text (git history retains it). Co-Authored-By: Claude Opus 4.8 --- .../WebARKitOpticalTracking/WebARKitUtils.h | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitUtils.h b/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitUtils.h index a6f4a3f..8aa2588 100644 --- a/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitUtils.h +++ b/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitUtils.h @@ -73,27 +73,6 @@ static homography::WebARKitHomographyInfo getHomographyInliers(std::vector Date: Sat, 20 Jun 2026 13:37:01 +0200 Subject: [PATCH 3/3] refactor(#50): drop commented-out _trackables/getPoseMatrix3 scaffolding Remove the commented-out multi-marker _trackables[...] lines (the old artoolkitX-style forms left beside their live single-marker replacements) and the commented getPoseMatrix3 declarations. Comment-only; the live code and explanatory comments are untouched, so the compiled output is identical. Co-Authored-By: Claude Opus 4.8 --- .../WebARKitTracker.cpp | 29 ------------------- .../WebARKitOpticalTracking/WebARKitTracker.h | 1 - 2 files changed, 30 deletions(-) diff --git a/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.cpp b/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.cpp index 630278f..f33d74b 100644 --- a/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.cpp +++ b/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.cpp @@ -194,8 +194,6 @@ class WebARKitTracker::WebARKitTrackerImpl { float* getPoseMatrixGL() { return (float*)_patternTrackingInfo.trans; } - //float[3][4] getPoseMatrix3() { return _patternTrackingInfo.trans; } - //float (*getPoseMatrix3())[3][4] { return &_patternTrackingInfo.trans; } cv::Mat getGLViewMatrix() { return _patternTrackingInfo.glViewMatrix; }; @@ -212,9 +210,6 @@ class WebARKitTracker::WebARKitTrackerImpl { // std::cout << "Starting template match" << std::endl; std::vector finalTemplatePoints, finalTemplateMatchPoints; // Get a handle on the corresponding points from current image and the marker - // std::vector trackablePoints = _trackables[trackableId]._trackSelection.GetTrackedFeatures(); - // std::vector trackablePointsWarped = - // _trackables[trackableId]._trackSelection.GetTrackedFeaturesWarped(); std::vector trackablePoints = _trackSelection.GetTrackedFeatures(); std::vector trackablePointsWarped = _trackSelection.GetTrackedFeaturesWarped(); // Create an empty result image - May be able to pre-initialize this container @@ -227,22 +222,16 @@ class WebARKitTracker::WebARKitTrackerImpl { for (int j = 0; j < n; j++) { auto pt = trackablePointsWarped[j]; - // if (cv::pointPolygonTest(_trackables[trackableId]._bBoxTransformed, trackablePointsWarped[j], true) > 0) - // { if (cv::pointPolygonTest(_bBoxTransformed, trackablePointsWarped[j], true) > 0) { auto ptOrig = trackablePoints[j]; cv::Rect templateRoi = GetTemplateRoi(pt); cv::Rect frameROI(0, 0, frame.cols, frame.rows); if (IsRoiValidForFrame(frameROI, templateRoi)) { - // cv::Rect markerRoi(0, 0, _trackables[trackableId]._image.cols, - // _trackables[trackableId]._image.rows); cv::Rect markerRoi(0, 0, _image.cols, _image.rows); std::vector vertexPoints = GetVerticesFromPoint(ptOrig); std::vector vertexPointsResults; - // perspectiveTransform(vertexPoints, vertexPointsResults, - // _trackables[trackableId]._trackSelection.GetHomography()); perspectiveTransform(vertexPoints, vertexPointsResults, _trackSelection.GetHomography()); cv::Rect srcBoundingBox = cv::boundingRect(cv::Mat(vertexPointsResults)); @@ -250,8 +239,6 @@ class WebARKitTracker::WebARKitTrackerImpl { vertexPoints.clear(); vertexPoints = GetVerticesFromTopCorner(srcBoundingBox.x, srcBoundingBox.y, srcBoundingBox.width, srcBoundingBox.height); - // perspectiveTransform(vertexPoints, vertexPointsResults, - // _trackables[trackableId]._trackSelection.GetHomography().inv()); perspectiveTransform(vertexPoints, vertexPointsResults, _trackSelection.GetHomography().inv()); std::vector testVertexPoints = FloorVertexPoints(vertexPointsResults); @@ -269,7 +256,6 @@ class WebARKitTracker::WebARKitTrackerImpl { if (templateBoundingBox.area() > 0 && searchROI.area() > templateBoundingBox.area()) { cv::Mat searchImage = frame(searchROI); - // cv::Mat templateImage = _trackables[trackableId]._image(templateBoundingBox); cv::Mat templateImage = _image(templateBoundingBox); cv::Mat warpedTemplate; @@ -319,8 +305,6 @@ class WebARKitTracker::WebARKitTrackerImpl { } bool gotHomography = updateTrackableHomography(trackableId, finalTemplatePoints, finalTemplateMatchPoints); if (!gotHomography) { - // _trackables[trackableId]._isTracking = false; - // _trackables[trackableId]._isDetected = false; _isTracking = false; _isDetected = false; // WebARKitLib#46: template matching is the appearance check -- if it fails @@ -501,7 +485,6 @@ class WebARKitTracker::WebARKitTrackerImpl { int maxMatches = 0; int bestMatchIndex = -1; std::vector finalMatched1, finalMatched2; - // for (int i = 0; i < _trackables.size(); i++) { if (!_isDetected) { std::vector> matches = getMatches(newFrameDescriptors); numMatches = matches.size(); @@ -549,24 +532,17 @@ class WebARKitTracker::WebARKitTrackerImpl { getHomographyInliers(Points(finalMatched2), Points(finalMatched1)); if (homoInfo.validHomography) { // std::cout << "New marker detected" << std::endl; - //_trackables[bestMatchIndex]._isDetected = true; _isDetected = true; // Since we've just detected the marker, make sure next invocation of // GetInitialFeatures() for this marker makes a new selection. - //_trackables[bestMatchIndex]._trackSelection.ResetSelection(); _trackSelection.ResetSelection(); - //_trackables[bestMatchIndex]._trackSelection.SetHomography(homoInfo.homography); _trackSelection.SetHomography(homoInfo.homography); // Use the homography to form the initial estimate of the bounding box. // This will be refined by the optical flow pass. - // perspectiveTransform(_trackables[bestMatchIndex]._bBox, _trackables[bestMatchIndex]._bBoxTransformed, - // homoInfo.homography); perspectiveTransform(_bBox, _bBoxTransformed, homoInfo.homography); if (_trackVizActive) { for (int i = 0; i < 4; i++) { - // _trackViz.bounds[i][0] = _trackables[bestMatchIndex]._bBoxTransformed[i].x; - // _trackViz.bounds[i][1] = _trackables[bestMatchIndex]._bBoxTransformed[i].y; _trackViz.bounds[i][0] = _bBoxTransformed[i].x; _trackViz.bounds[i][1] = _bBoxTransformed[i].y; } @@ -632,14 +608,11 @@ class WebARKitTracker::WebARKitTrackerImpl { perspectiveTransform(_bBox, _bBoxTransformed, homoInfo.homography); if (_trackVizActive) { for (int i = 0; i < 4; i++) { - // _trackViz.bounds[i][0] = _trackables[trackableId]._bBoxTransformed[i].x; - // _trackViz.bounds[i][1] = _trackables[trackableId]._bBoxTransformed[i].y; _trackViz.bounds[i][0] = _bBoxTransformed[i].x; _trackViz.bounds[i][1] = _bBoxTransformed[i].y; } } if (_frameCount > 1) { - // _trackables[trackableId]._trackSelection.ResetSelection(); _trackSelection.ResetSelection(); } return true; @@ -896,8 +869,6 @@ cv::Mat WebARKitTracker::getPoseMatrixCV() { return _trackerImpl->getPoseMatrixC float* WebARKitTracker::getPoseMatrixGL() { return _trackerImpl->getPoseMatrixGL(); } -//float[3][4] WebARKitTracker::getPoseMatrix3() { return _trackerImpl->getPoseMatrix3(); } -//float (*WebARKitTracker::getPoseMatrix3())[3][4]) { return &_trackerImpl->getPoseMatrix3(); } cv::Mat WebARKitTracker::getGLViewMatrix() { return _trackerImpl->getGLViewMatrix(); } diff --git a/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.h b/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.h index 80ebcf0..a7e4def 100644 --- a/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.h +++ b/WebARKit/WebARKitTrackers/WebARKitOpticalTracking/include/WebARKitTrackers/WebARKitOpticalTracking/WebARKitTracker.h @@ -35,7 +35,6 @@ class WebARKitTracker { float* getPoseMatrixGL(); - //float (*WebARKitTracker::getPoseMatrix3()[3][4]); cv::Mat getGLViewMatrix();