diff options
Diffstat (limited to 'misc/visp/files')
-rw-r--r-- | misc/visp/files/patch-CMakeLists.txt | 13 | ||||
-rw-r--r-- | misc/visp/files/patch-modules_tracker_mbt_src_depth_vpMbtFaceDepthDense.cpp | 31 |
2 files changed, 42 insertions, 2 deletions
diff --git a/misc/visp/files/patch-CMakeLists.txt b/misc/visp/files/patch-CMakeLists.txt index 893083431163..f5c75760570d 100644 --- a/misc/visp/files/patch-CMakeLists.txt +++ b/misc/visp/files/patch-CMakeLists.txt @@ -1,8 +1,17 @@ https://github.com/lagadic/visp/issues/423 ---- CMakeLists.txt.orig 2021-03-05 01:09:20 UTC +--- CMakeLists.txt.orig 2023-09-22 05:39:36 UTC +++ CMakeLists.txt -@@ -230,7 +230,7 @@ else() # UNIX +@@ -124,6 +124,8 @@ project(VISP C CXX) + + project(VISP C CXX) + ++find_package(VTK REQUIRED) # workaround for https://gitlab.kitware.com/vtk/vtk/-/issues/19716 ++ + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + + include(cmake/VISPUtils.cmake) +@@ -244,7 +246,7 @@ else() # UNIX vp_update(VISP_LIB_INSTALL_PATH "${CMAKE_INSTALL_LIBDIR}") endif() vp_update(VISP_BIN_INSTALL_PATH "${CMAKE_INSTALL_BINDIR}") diff --git a/misc/visp/files/patch-modules_tracker_mbt_src_depth_vpMbtFaceDepthDense.cpp b/misc/visp/files/patch-modules_tracker_mbt_src_depth_vpMbtFaceDepthDense.cpp new file mode 100644 index 000000000000..38198d2375fb --- /dev/null +++ b/misc/visp/files/patch-modules_tracker_mbt_src_depth_vpMbtFaceDepthDense.cpp @@ -0,0 +1,31 @@ +--- modules/tracker/mbt/src/depth/vpMbtFaceDepthDense.cpp.orig 2023-09-22 05:39:36 UTC ++++ modules/tracker/mbt/src/depth/vpMbtFaceDepthDense.cpp +@@ -518,9 +518,15 @@ void vpMbtFaceDepthDense::computeInteractionMatrixAndR + cv::v_float64x2 vx, vy, vz; + cv::v_load_deinterleave(ptr_point_cloud, vx, vy, vz); + ++#if (VISP_HAVE_OPENCV_VERSION >= 0x040900) ++ cv::v_float64x2 va1 = cv::v_sub(cv::v_mul(vnz, vy), cv::v_mul(vny, vz)); // vnz*vy - vny*vz ++ cv::v_float64x2 va2 = cv::v_sub(cv::v_mul(vnx, vz), cv::v_mul(vnz, vx)); // vnx*vz - vnz*vx ++ cv::v_float64x2 va3 = cv::v_sub(cv::v_mul(vny, vx), cv::v_mul(vnx, vy)); // vny*vx - vnx*vy ++#else + cv::v_float64x2 va1 = vnz*vy - vny*vz; + cv::v_float64x2 va2 = vnx*vz - vnz*vx; + cv::v_float64x2 va3 = vny*vx - vnx*vy; ++#endif + + cv::v_float64x2 vnxy = cv::v_combine_low(vnx, vny); + cv::v_store(ptr_L, vnxy); +@@ -542,7 +548,12 @@ void vpMbtFaceDepthDense::computeInteractionMatrixAndR + cv::v_store(ptr_L, vnxy); + ptr_L += 2; + ++#if (VISP_HAVE_OPENCV_VERSION >= 0x040900) ++ cv::v_float64x2 verr = cv::v_add(vd, cv::v_muladd(vnx, vx, cv::v_muladd(vny, vy, cv::v_mul(vnz, vz)))); ++#else + cv::v_float64x2 verr = vd + cv::v_muladd(vnx, vx, cv::v_muladd(vny, vy, vnz*vz)); ++#endif ++ + cv::v_store(ptr_error, verr); + ptr_error += 2; + #elif USE_SSE |