diff --git a/apps/calibration/visp-compute-chessboard-poses.cpp b/apps/calibration/visp-compute-chessboard-poses.cpp index a13cd6776a..fd1d142f67 100644 --- a/apps/calibration/visp-compute-chessboard-poses.cpp +++ b/apps/calibration/visp-compute-chessboard-poses.cpp @@ -36,6 +36,10 @@ #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif + #if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_CALIB3D) && defined(VISP_HAVE_PUGIXML) #include @@ -228,7 +232,7 @@ int main(int argc, const char **argv) #elif defined(VISP_HAVE_GTK) display = new vpDisplayGTK(I); #endif - } + } #endif std::vector corners_pts; @@ -339,7 +343,7 @@ int main(int argc, const char **argv) } } #endif -} + } catch (const vpException &e) { std::cout << "Catch an exception: " << e.getMessage() << std::endl; } diff --git a/demo/wireframe-simulator/servoSimu4Points.cpp b/demo/wireframe-simulator/servoSimu4Points.cpp index 6454bad548..304717fe0b 100644 --- a/demo/wireframe-simulator/servoSimu4Points.cpp +++ b/demo/wireframe-simulator/servoSimu4Points.cpp @@ -62,6 +62,9 @@ #include #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif #define GETOPTARGS "dhp" #if defined(VISP_HAVE_DISPLAY) && (defined(VISP_HAVE_LAPACK) || defined(VISP_HAVE_EIGEN3) || defined(VISP_HAVE_OPENCV)) diff --git a/demo/wireframe-simulator/servoSimuCylinder.cpp b/demo/wireframe-simulator/servoSimuCylinder.cpp index 90ed93b343..bddebe7fb9 100644 --- a/demo/wireframe-simulator/servoSimuCylinder.cpp +++ b/demo/wireframe-simulator/servoSimuCylinder.cpp @@ -62,6 +62,9 @@ #include #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif #define GETOPTARGS "dhp" #if defined(VISP_HAVE_DISPLAY) && (defined(VISP_HAVE_LAPACK) || defined(VISP_HAVE_EIGEN3) || defined(VISP_HAVE_OPENCV)) diff --git a/demo/wireframe-simulator/servoSimuSphere.cpp b/demo/wireframe-simulator/servoSimuSphere.cpp index b03cfd06e3..c8fa1d9cfc 100644 --- a/demo/wireframe-simulator/servoSimuSphere.cpp +++ b/demo/wireframe-simulator/servoSimuSphere.cpp @@ -65,6 +65,9 @@ #include #include #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif #define GETOPTARGS "dhp" diff --git a/example/calibration/calibrate-camera.cpp b/example/calibration/calibrate-camera.cpp index dc6059fa6f..05b430b132 100644 --- a/example/calibration/calibrate-camera.cpp +++ b/example/calibration/calibrate-camera.cpp @@ -36,6 +36,9 @@ #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif #if (VISP_HAVE_OPENCV_VERSION >= 0x030000) && defined(HAVE_OPENCV_CALIB3D) && defined(HAVE_OPENCV_HIGHGUI) && \ defined(HAVE_OPENCV_IMGPROC) && defined(VISP_HAVE_PUGIXML) @@ -683,5 +686,5 @@ int main() std::cout << "pugixml built-in 3rdparty is requested to run the calibration." << std::endl; #endif return EXIT_SUCCESS; - } +} #endif diff --git a/example/device/display/displayOpenCV.cpp b/example/device/display/displayOpenCV.cpp index ec965e745c..57a9517963 100644 --- a/example/device/display/displayOpenCV.cpp +++ b/example/device/display/displayOpenCV.cpp @@ -46,6 +46,9 @@ #include #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif #if defined(HAVE_OPENCV_HIGHGUI) #include @@ -463,5 +466,5 @@ int main() std::cout << "Tip:" << std::endl; std::cout << "- Install OpenCV, configure again ViSP using cmake and build again this example" << std::endl; return EXIT_SUCCESS; - } +} #endif diff --git a/example/tracking/mbtEdgeKltTracking.cpp b/example/tracking/mbtEdgeKltTracking.cpp index d12073dc3a..d5f4608c44 100644 --- a/example/tracking/mbtEdgeKltTracking.cpp +++ b/example/tracking/mbtEdgeKltTracking.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,8 +29,7 @@ * * Description: * Example of Hybrid Tracking of MBT and MBT KTL. - * -*****************************************************************************/ + */ /*! \example mbtEdgeKltTracking.cpp diff --git a/modules/ar/include/visp3/ar/vpPanda3DBaseRenderer.h b/modules/ar/include/visp3/ar/vpPanda3DBaseRenderer.h index d0844a4625..81612dcfec 100644 --- a/modules/ar/include/visp3/ar/vpPanda3DBaseRenderer.h +++ b/modules/ar/include/visp3/ar/vpPanda3DBaseRenderer.h @@ -31,15 +31,26 @@ #ifndef VP_PANDA3D_BASE_RENDERER_H #define VP_PANDA3D_BASE_RENDERER_H -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) -#include -#include -#include -#include -#include +#include // for string, basic_string +#include // for vector +#include // for shared_ptr, __shared... + +#include // for Camera +#include // for GraphicsEngine +#include // for GraphicsOutput +#include // for NodePath +#include // for PandaFramework +#include // for PointerTo +#include // for WindowFramework + +#include // for vpColVector +#include // for vpHomogeneousMatrix +#include // for vpPanda3DRenderParam... + BEGIN_VISP_NAMESPACE /** diff --git a/modules/ar/include/visp3/ar/vpPanda3DCommonFilters.h b/modules/ar/include/visp3/ar/vpPanda3DCommonFilters.h index 8bee8df17b..4082dbb7ce 100644 --- a/modules/ar/include/visp3/ar/vpPanda3DCommonFilters.h +++ b/modules/ar/include/visp3/ar/vpPanda3DCommonFilters.h @@ -31,14 +31,21 @@ #ifndef VP_PANDA3D_COMMON_FILTERS_H #define VP_PANDA3D_COMMON_FILTERS_H -#include +#include // for VP_OVERRIDE, VISP_E... #if defined(VISP_HAVE_PANDA3D) -#include +#include // for shared_ptr +#include // for string + +#include // for vpPanda3DPostProces... BEGIN_VISP_NAMESPACE + +class vpPanda3DBaseRenderer; class vpPanda3DRGBRenderer; +class vpRGBf; +template class vpImage; /** * \ingroup group_ar_renderer_panda3d_filters diff --git a/modules/ar/include/visp3/ar/vpPanda3DPostProcessFilter.h b/modules/ar/include/visp3/ar/vpPanda3DPostProcessFilter.h index c4743ddf00..db5a656974 100644 --- a/modules/ar/include/visp3/ar/vpPanda3DPostProcessFilter.h +++ b/modules/ar/include/visp3/ar/vpPanda3DPostProcessFilter.h @@ -31,16 +31,20 @@ #ifndef VP_PANDA3D_POST_PROCESS_FILTER_H #define VP_PANDA3D_POST_PROCESS_FILTER_H -#include +#include // for VP_OVERRIDE, BEGIN_VISP_... #if defined(VISP_HAVE_PANDA3D) -#include +#include // for basic_string, string +#include // for shared_ptr, __shared_ptr... -#include +#include // for FrameBufferProperties +#include // for GraphicsOutput +#include // for PointerTo +#include // for Shader +#include // for Texture -#include "cardMaker.h" -#include "orthographicLens.h" +#include // for vpPanda3DBaseRenderer BEGIN_VISP_NAMESPACE diff --git a/modules/ar/include/visp3/ar/vpPanda3DRGBRenderer.h b/modules/ar/include/visp3/ar/vpPanda3DRGBRenderer.h index cadb5c021e..b09a25301e 100644 --- a/modules/ar/include/visp3/ar/vpPanda3DRGBRenderer.h +++ b/modules/ar/include/visp3/ar/vpPanda3DRGBRenderer.h @@ -31,17 +31,26 @@ #ifndef VP_PANDA3D_RGB_RENDERER_H #define VP_PANDA3D_RGB_RENDERER_H -#include +#include // for VP_OVERRIDE, BEGIN_VISP_... #if defined(VISP_HAVE_PANDA3D) -#include -#include -#include +#include // for basic_string, string -#include "pointerTo.h" +#include // for DisplayRegion +#include // for GraphicsOutput +#include // for NodePath +#include // for Texture +#include // for PointerTo + +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DLightableScene BEGIN_VISP_NAMESPACE + +class vpRGBa; +template class vpImage; + /** * \ingroup group_ar_renderer_panda3d_3d * \brief Implementation of a traditional RGB renderer in Panda3D diff --git a/modules/ar/include/visp3/ar/vpPanda3DRenderParameters.h b/modules/ar/include/visp3/ar/vpPanda3DRenderParameters.h index 3a4cf51584..a0dac309f3 100644 --- a/modules/ar/include/visp3/ar/vpPanda3DRenderParameters.h +++ b/modules/ar/include/visp3/ar/vpPanda3DRenderParameters.h @@ -31,10 +31,14 @@ #ifndef VP_PANDA3D_RENDER_PARAMETERS_H #define VP_PANDA3D_RENDER_PARAMETERS_H -#include +#include // for BEGIN_VISP_NAMESPACE, END... #if defined(VISP_HAVE_PANDA3D) -#include + +#include // for swap + +#include // for vpCameraParameters, vpCam... +#include // for vpException class Camera; diff --git a/modules/ar/include/visp3/ar/vpPanda3DRendererSet.h b/modules/ar/include/visp3/ar/vpPanda3DRendererSet.h index 49098952cf..95c82fc4d6 100644 --- a/modules/ar/include/visp3/ar/vpPanda3DRendererSet.h +++ b/modules/ar/include/visp3/ar/vpPanda3DRendererSet.h @@ -31,16 +31,21 @@ #ifndef VP_PANDA3D_RENDERER_SET_H #define VP_PANDA3D_RENDERER_SET_H -#include +#include // for VP_OVERRIDE, BEGIN_VISP_... #if defined(VISP_HAVE_PANDA3D) -#include +#include // for shared_ptr, __shared_ptr... +#include // for string, basic_string +#include // for vector -#include -#include +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DLightable BEGIN_VISP_NAMESPACE + +class vpPanda3DRenderParameters; + /** * \ingroup group_ar_renderer_panda3d * diff --git a/modules/ar/include/visp3/ar/vpSimulatorException.h b/modules/ar/include/visp3/ar/vpSimulatorException.h index 1f7b52d272..c787ad7b67 100644 --- a/modules/ar/include/visp3/ar/vpSimulatorException.h +++ b/modules/ar/include/visp3/ar/vpSimulatorException.h @@ -39,12 +39,12 @@ #ifndef VP_SIMULATOR_EXCEPTION_H #define VP_SIMULATOR_EXCEPTION_H -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS -#include /* Classe std::ostream. */ -#include /* Classe string. */ + +#include // for vpException +#include // for string BEGIN_VISP_NAMESPACE /*! diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DBaseRenderer.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DBaseRenderer.cpp index 734a00b6b9..4505753e31 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DBaseRenderer.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DBaseRenderer.cpp @@ -28,16 +28,29 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) -#include +#include // for numeric_limits +#include // for shared_ptr, __shared... +#include // for basic_string, string +#include // for vector #include "load_prc_file.h" -#include -#include "boundingSphere.h" -#include "boundingBox.h" + +#include // for BoundingBox +#include // for BoundingSphere + +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DRenderParam... +#include // for vpException +#include // for vpQuaternionVector +#include // for vpRotationMatrix +#include // for vpTranslationVector +#include // for vpColVector +#include // for vpHomogeneousMatrix +#include // for vpMath BEGIN_VISP_NAMESPACE const vpHomogeneousMatrix vpPanda3DBaseRenderer::VISP_T_PANDA({ diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DCommonFilters.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DCommonFilters.cpp index 381ba22121..3a7a0c6f82 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DCommonFilters.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DCommonFilters.cpp @@ -28,12 +28,24 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) +#include // for move +#include // for shared_ptr +#include // for basic_string, string + +#include +#include // for vpPanda3DPostProces... +#include // for vpPanda3DRGBRenderer + BEGIN_VISP_NAMESPACE + +class vpPanda3DBaseRenderer; +class vpRGBf; +template class vpImage; + const std::string vpPanda3DLuminanceFilter::FRAGMENT_SHADER = "#version 330\n" "in vec2 texcoords;\n" diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DGeometryRenderer.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DGeometryRenderer.cpp index 5f8d211f4b..5f801b8781 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DGeometryRenderer.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DGeometryRenderer.cpp @@ -28,11 +28,22 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) -#include +#include // for move +#include // for vector +#include // for max +#include // for basic_string, string + +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DGeometryRen... +#include // for vpPanda3DRenderParam... +#include // for vpException +#include // for vpImage +#include // for vpRGBf +#include // for vpRect BEGIN_VISP_NAMESPACE diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DPostProcessFilter.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DPostProcessFilter.cpp index 15454bfd48..9b00e77511 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DPostProcessFilter.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DPostProcessFilter.cpp @@ -28,16 +28,28 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) -#include -#include +#include // for move +#include // for vector +#include // for __shared_ptr_access +#include // for basic_string + +#include // for LightRampAttrib +#include // for CardMaker +#include // for OrthographicLens -#include +#include +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DRenderParam... +#include // for vpException +#include // for vpImage +#include // for vpRGBf BEGIN_VISP_NAMESPACE + const char *vpPanda3DPostProcessFilter::FILTER_VERTEX_SHADER = R"shader( #version 330 in vec4 p3d_Vertex; diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DRGBRenderer.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DRGBRenderer.cpp index 954a644ceb..9d5b46c217 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DRGBRenderer.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DRGBRenderer.cpp @@ -28,15 +28,29 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) -#include "orthographicLens.h" -#include "cardMaker.h" -#include "texturePool.h" +#include // for vector +#include // for memcpy +#include // for basic_ostream, basic... +#include // for basic_string, string + +#include // for CardMaker +#include // for OrthographicLens + + +#include +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DRenderParam... +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpRGBa BEGIN_VISP_NAMESPACE + const char *vpPanda3DRGBRenderer::COOK_TORRANCE_VERT = "#version 330\n" "in vec3 p3d_Normal;\n" diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DRenderParameters.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DRenderParameters.cpp index 43a4910359..4f20809124 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DRenderParameters.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DRenderParameters.cpp @@ -29,11 +29,17 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include +#include // for BEGIN_VISP_NAMESPACE, END... + #if defined(VISP_HAVE_PANDA3D) -#include -#include +#include // for Camera +#include // for MatrixLens + +#include // for vpCameraParameters +#include // for vpException +#include // for vpPanda3DRenderParameters + BEGIN_VISP_NAMESPACE void vpPanda3DRenderParameters::setupPandaCamera(Camera *camera) diff --git a/modules/ar/src/panda3d-simulator/vpPanda3DRendererSet.cpp b/modules/ar/src/panda3d-simulator/vpPanda3DRendererSet.cpp index 576c9bf5f3..b60d7331b7 100644 --- a/modules/ar/src/panda3d-simulator/vpPanda3DRendererSet.cpp +++ b/modules/ar/src/panda3d-simulator/vpPanda3DRendererSet.cpp @@ -28,11 +28,22 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PANDA3D) -#include "load_prc_file.h" +#include // for basic_string, operat... +#include // for shared_ptr, __shared... +#include // for vector + +#include "load_prc_file.h" // for load_prc_file_data + +#include +#include // for vpPanda3DBaseRenderer +#include // for vpPanda3DLightable +#include // for vpPanda3DRenderParam... +#include // for vpException +#include // for vpHomogeneousMatrix BEGIN_VISP_NAMESPACE vpPanda3DRendererSet::vpPanda3DRendererSet(const vpPanda3DRenderParameters &renderParameters) : vpPanda3DBaseRenderer("set") diff --git a/modules/ar/src/vpSimulatorException.cpp b/modules/ar/src/vpSimulatorException.cpp index 3c70f6d9fb..ae3c96e876 100644 --- a/modules/ar/src/vpSimulatorException.cpp +++ b/modules/ar/src/vpSimulatorException.cpp @@ -35,9 +35,16 @@ \brief error that can be emitted by the vpSimulator class and its derivatives */ -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS + +#include // for string +#include // for va_end, va_list, va_start + +#include // for vpSimulatorException +#include // for vpException + BEGIN_VISP_NAMESPACE vpSimulatorException::vpSimulatorException(int id, const char *format, ...) { diff --git a/modules/core/src/math/matrix/vpMatrix.cpp b/modules/core/src/math/matrix/vpMatrix.cpp index 3169eeb98b..3b15409286 100644 --- a/modules/core/src/math/matrix/vpMatrix.cpp +++ b/modules/core/src/math/matrix/vpMatrix.cpp @@ -58,12 +58,6 @@ #include // for vpArray2D #include // for vpRowVector -class vpForceTwistMatrix; -class vpHomogeneousMatrix; -class vpRotationMatrix; -class vpTranslationVector; -class vpVelocityTwistMatrix; - #ifdef VISP_HAVE_LAPACK #ifdef VISP_HAVE_GSL #include // for gsl_eigen_symmv, gsl_eigen_symmv... @@ -77,6 +71,12 @@ class vpVelocityTwistMatrix; BEGIN_VISP_NAMESPACE +class vpForceTwistMatrix; +class vpHomogeneousMatrix; +class vpRotationMatrix; +class vpTranslationVector; +class vpVelocityTwistMatrix; + #ifdef VISP_HAVE_LAPACK #ifdef VISP_HAVE_GSL #elif defined(VISP_HAVE_MKL) diff --git a/modules/core/src/math/matrix/vpMatrix_mul.cpp b/modules/core/src/math/matrix/vpMatrix_mul.cpp index 790f34f317..18defffb08 100644 --- a/modules/core/src/math/matrix/vpMatrix_mul.cpp +++ b/modules/core/src/math/matrix/vpMatrix_mul.cpp @@ -32,7 +32,6 @@ */ #include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... -#include #ifndef DOXYGEN_SHOULD_SKIP_THIS diff --git a/modules/core/src/math/matrix/vpMatrix_qr.cpp b/modules/core/src/math/matrix/vpMatrix_qr.cpp index 66e8a8713f..95a74ecc32 100644 --- a/modules/core/src/math/matrix/vpMatrix_qr.cpp +++ b/modules/core/src/math/matrix/vpMatrix_qr.cpp @@ -39,7 +39,9 @@ #include // for VISP_HAVE_GSL, VISP_HAVE_LAPACK #include // for vpColVector #include // for vpException +#if !defined(VISP_HAVE_GSL) #include // for vpMatrixException +#endif #include // for vpMatrix #include // for vpArray2D diff --git a/modules/core/src/math/matrix/vpMatrix_svd.cpp b/modules/core/src/math/matrix/vpMatrix_svd.cpp index eecc2bc4fb..916ce2f278 100644 --- a/modules/core/src/math/matrix/vpMatrix_svd.cpp +++ b/modules/core/src/math/matrix/vpMatrix_svd.cpp @@ -40,7 +40,9 @@ #include // for VISP_HA... #include // for vpColVe... #include // for vpMatrix +#if !defined(VISP_HAVE_GSL) #include // for vpMatrixException +#endif #ifdef VISP_HAVE_EIGEN3 #include diff --git a/modules/core/src/math/transformation/vpRotationMatrix.cpp b/modules/core/src/math/transformation/vpRotationMatrix.cpp index 531093960a..2034ca32ab 100644 --- a/modules/core/src/math/transformation/vpRotationMatrix.cpp +++ b/modules/core/src/math/transformation/vpRotationMatrix.cpp @@ -65,9 +65,10 @@ #include // for vpThetaUVector #include // for vpTranslationVector +BEGIN_VISP_NAMESPACE + class vpPoseVector; -BEGIN_VISP_NAMESPACE /*! Initialize the rotation matrix as identity. diff --git a/modules/core/src/math/transformation/vpRxyzVector.cpp b/modules/core/src/math/transformation/vpRxyzVector.cpp index 5365ca9b96..ec59e70d39 100644 --- a/modules/core/src/math/transformation/vpRxyzVector.cpp +++ b/modules/core/src/math/transformation/vpRxyzVector.cpp @@ -55,9 +55,10 @@ #include // for vpRotationMatrix #include // for vpRotationVector +BEGIN_VISP_NAMESPACE + class vpThetaUVector; -BEGIN_VISP_NAMESPACE /*! Default constructor that initialize all the 3 angles to zero. */ vpRxyzVector::vpRxyzVector() : vpRotationVector(3) { } diff --git a/modules/core/src/math/transformation/vpRzyxVector.cpp b/modules/core/src/math/transformation/vpRzyxVector.cpp index e05b15ab23..f415ba49ee 100644 --- a/modules/core/src/math/transformation/vpRzyxVector.cpp +++ b/modules/core/src/math/transformation/vpRzyxVector.cpp @@ -56,9 +56,10 @@ #include // for vpRotationMatrix #include // for vpRotationVector +BEGIN_VISP_NAMESPACE + class vpThetaUVector; -BEGIN_VISP_NAMESPACE /*! Default constructor that initialize all the 3 angles to zero. */ vpRzyxVector::vpRzyxVector() : vpRotationVector(3) { } diff --git a/modules/core/src/math/transformation/vpRzyzVector.cpp b/modules/core/src/math/transformation/vpRzyzVector.cpp index f9def138bd..bdedd89e1c 100644 --- a/modules/core/src/math/transformation/vpRzyzVector.cpp +++ b/modules/core/src/math/transformation/vpRzyzVector.cpp @@ -55,9 +55,10 @@ #include // for vpRotationVector #include // for vpRzyzVector +BEGIN_VISP_NAMESPACE + class vpThetaUVector; -BEGIN_VISP_NAMESPACE /*! Default constructor that initialize all the 3 angles to zero. */ vpRzyzVector::vpRzyzVector() : vpRotationVector(3) { } /*! Copy constructor. */ diff --git a/modules/core/src/math/transformation/vpThetaUVector.cpp b/modules/core/src/math/transformation/vpThetaUVector.cpp index fcf9c8df33..8b111c5d31 100644 --- a/modules/core/src/math/transformation/vpThetaUVector.cpp +++ b/modules/core/src/math/transformation/vpThetaUVector.cpp @@ -57,12 +57,13 @@ #include // for vpRotationMatrix #include // for vpRotationVector +BEGIN_VISP_NAMESPACE + class vpQuaternionVector; class vpRxyzVector; class vpRzyxVector; class vpRzyzVector; -BEGIN_VISP_NAMESPACE const double vpThetaUVector::minimum = 0.0001; /*! Default constructor that initialize all the 3 angles to zero. */ diff --git a/modules/core/src/tools/geometry/vpPolygon3D.cpp b/modules/core/src/tools/geometry/vpPolygon3D.cpp index 5cf1430dbc..6035adab8b 100644 --- a/modules/core/src/tools/geometry/vpPolygon3D.cpp +++ b/modules/core/src/tools/geometry/vpPolygon3D.cpp @@ -52,9 +52,10 @@ #include // for vpPoint #include // for vpRowVector +BEGIN_VISP_NAMESPACE + class vpHomogeneousMatrix; -BEGIN_VISP_NAMESPACE /*! Basic constructor. */ diff --git a/modules/core/src/tracking/moments/vpMoment.cpp b/modules/core/src/tracking/moments/vpMoment.cpp index a0d8c1b75e..7dc7087659 100644 --- a/modules/core/src/tracking/moments/vpMoment.cpp +++ b/modules/core/src/tracking/moments/vpMoment.cpp @@ -43,15 +43,17 @@ #include // for vpMoment, operator<< #include // for vpMomentDatabase #include // for BEGIN_VISP_NAMESPACE, END_V... -class vpMomentObject; BEGIN_VISP_NAMESPACE + +class vpMomentObject; + /*! * Prints the moment contents to a stream * \param os : a std::stream. * \param m : a moment instance. */ - VISP_EXPORT std::ostream &operator<<(std::ostream &os, const vpMoment &m) +VISP_EXPORT std::ostream &operator<<(std::ostream &os, const vpMoment &m) { for (std::vector::const_iterator i = m.values.begin(); i != m.values.end(); ++i) os << *i << ","; diff --git a/modules/core/test/camera/catchJsonCamera.cpp b/modules/core/test/camera/catchJsonCamera.cpp index 63a06542b9..e3e163222a 100644 --- a/modules/core/test/camera/catchJsonCamera.cpp +++ b/modules/core/test/camera/catchJsonCamera.cpp @@ -37,20 +37,27 @@ Test saving and parsing JSON configuration for vpCameraParameters. */ -#include -#include +#include // for VP_OVERRIDE, ENABLE_VISP_... #if defined(VISP_HAVE_NLOHMANN_JSON) && defined(VISP_HAVE_CATCH2) #include VISP_NLOHMANN_JSON(json.hpp) +#include VISP_NLOHMANN_JSON(json_fwd.hpp) using json = nlohmann::json; //! json namespace shortcut -#include +#include // for SourceLineInfo, Section #ifdef ENABLE_VISP_NAMESPACE using namespace VISP_NAMESPACE_NAME; #endif -#include +#include // for vpCameraParameters, opera... +#include // for vpException + +#include // for isnan +#include // for operator== +#include // for uniform_real_distribution +#include // for vector + namespace { // This class shows how to implement a simple generator for Catch tests diff --git a/modules/core/test/camera/testCameraParametersConversion.cpp b/modules/core/test/camera/testCameraParametersConversion.cpp index a60814cbda..2a943c66b0 100644 --- a/modules/core/test/camera/testCameraParametersConversion.cpp +++ b/modules/core/test/camera/testCameraParametersConversion.cpp @@ -39,10 +39,8 @@ vpPixelMeterConversion class. */ -#include #include #include -#include #include #include #include diff --git a/modules/core/test/camera/testXmlParserCamera.cpp b/modules/core/test/camera/testXmlParserCamera.cpp index d217f19181..c997230ca5 100644 --- a/modules/core/test/camera/testXmlParserCamera.cpp +++ b/modules/core/test/camera/testXmlParserCamera.cpp @@ -37,8 +37,15 @@ Test vpXmlParserCamera parse / save. */ -#include -#include +#include // for EXIT_FAILURE, EXIT_SUCCESS +#include // for basic_ostream, operator<< +#include // for char_traits, basic_string +#include // for vector + +#include // for vpIoTools +#include // for vpXmlParserCamera +#include // for vpCameraParameters, opera... +#include // for ENABLE_VISP_NAMESPACE int main() { diff --git a/modules/core/test/image-with-dataset/catchColorConversion.cpp b/modules/core/test/image-with-dataset/catchColorConversion.cpp index 32434c77be..0187878cfa 100644 --- a/modules/core/test/image-with-dataset/catchColorConversion.cpp +++ b/modules/core/test/image-with-dataset/catchColorConversion.cpp @@ -45,7 +45,9 @@ #include #include #include +#ifdef VISP_BIG_ENDIAN #include +#endif #include #ifdef ENABLE_VISP_NAMESPACE diff --git a/modules/core/test/image-with-dataset/common.hpp b/modules/core/test/image-with-dataset/common.hpp index 9a059f8d4d..2bd2034fcc 100644 --- a/modules/core/test/image-with-dataset/common.hpp +++ b/modules/core/test/image-with-dataset/common.hpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,11 +29,10 @@ * * Description: * Common functions for color conversion and image resize tests. - * -*****************************************************************************/ + */ -#ifndef common_HPP -#define common_HPP +#ifndef COMMON_HPP +#define COMMON_HPP #include #include diff --git a/modules/core/test/image-with-dataset/perfColorConversion.cpp b/modules/core/test/image-with-dataset/perfColorConversion.cpp index da1f2ce2df..9f866b9260 100644 --- a/modules/core/test/image-with-dataset/perfColorConversion.cpp +++ b/modules/core/test/image-with-dataset/perfColorConversion.cpp @@ -47,7 +47,6 @@ #if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGCODECS) && defined(HAVE_OPENCV_IMGPROC) #include -#include #endif #ifdef ENABLE_VISP_NAMESPACE diff --git a/modules/core/test/image-with-dataset/perfGaussianFilter.cpp b/modules/core/test/image-with-dataset/perfGaussianFilter.cpp index ff6f7c7d5b..70e1b91f49 100644 --- a/modules/core/test/image-with-dataset/perfGaussianFilter.cpp +++ b/modules/core/test/image-with-dataset/perfGaussianFilter.cpp @@ -46,9 +46,12 @@ #include #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGCODECS, HAVE... +#endif + #if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGCODECS) && defined(HAVE_OPENCV_IMGPROC) #include -#include #endif #ifdef ENABLE_VISP_NAMESPACE diff --git a/modules/core/test/image/common.hpp b/modules/core/test/image/common.hpp index 4ae826cf2e..64fec13c46 100644 --- a/modules/core/test/image/common.hpp +++ b/modules/core/test/image/common.hpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,11 +29,10 @@ * * Description: * Common functions for color conversion and image resize tests. - * -*****************************************************************************/ + */ -#ifndef common_HPP -#define common_HPP +#ifndef COMMON_HPP +#define COMMON_HPP #include #include diff --git a/modules/gui/include/visp3/gui/vpColorBlindFriendlyPalette.h b/modules/gui/include/visp3/gui/vpColorBlindFriendlyPalette.h index 4ef1d6b19a..04d46a91f9 100644 --- a/modules/gui/include/visp3/gui/vpColorBlindFriendlyPalette.h +++ b/modules/gui/include/visp3/gui/vpColorBlindFriendlyPalette.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,16 +30,17 @@ * Description: * Palette of colors that is said to be color-blind people friendly. * This palette has been found on https://jfly.uni-koeln.de/color/#see - * -*****************************************************************************/ + */ -#ifndef _vpColorBlindFliendlyPalette_h_ -#define _vpColorBlindFliendlyPalette_h_ +#ifndef VP_COLOR_BLIND_FRIENDLY_PALETTE_H +#define VP_COLOR_BLIND_FRIENDLY_PALETTE_H -#include +#include // for istream, ostream +#include // for basic_string, string +#include // for vector -#include -#include +#include // for vpColor +#include // for VISP_NAMESPACE_ADDRESSING, BEGIN_VI... #if (VISP_CXX_STANDARD > VISP_CXX_STANDARD_98) /** @@ -197,4 +197,4 @@ END_VISP_NAMESPACE std::istream &operator>>(std::istream &is, VISP_NAMESPACE_ADDRESSING vpColorBlindFriendlyPalette &color); #endif -#endif // _vpColorBlindFliendlyPalette_h_ +#endif diff --git a/modules/gui/include/visp3/gui/vpDisplayPCL.h b/modules/gui/include/visp3/gui/vpDisplayPCL.h index 734f6cdc87..39b861fb55 100644 --- a/modules/gui/include/visp3/gui/vpDisplayPCL.h +++ b/modules/gui/include/visp3/gui/vpDisplayPCL.h @@ -31,8 +31,8 @@ * Display a point cloud using PCL library. */ -#ifndef _vpDisplayPCL_h_ -#define _vpDisplayPCL_h_ +#ifndef VP_DISPLAY_PCL_H +#define VP_DISPLAY_PCL_H #include @@ -42,8 +42,11 @@ #include #include -#include -#include +#include // for PointCloud +#include // for PointXYZRGB +#include // for RenderingP... +#include // for PCLVisualizer +#include // for PCLVisuali... BEGIN_VISP_NAMESPACE /*! diff --git a/modules/gui/include/visp3/gui/vpPclViewer.h b/modules/gui/include/visp3/gui/vpPclViewer.h index 6122d9a005..80e721bdd8 100644 --- a/modules/gui/include/visp3/gui/vpPclViewer.h +++ b/modules/gui/include/visp3/gui/vpPclViewer.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,23 +28,21 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * Description: * Real-time 3D point clouds plotter based on the PCL library. - * -*****************************************************************************/ + */ -#ifndef _vpPclViewer_h_ -#define _vpPclViewer_h_ +#ifndef VP_PCL_VIEWER_H +#define VP_PCL_VIEWER_H #include #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_VISUALIZATION) && defined(VISP_HAVE_THREADS) -// System + #include #include +#include -// ViSP #include -// PCL #include BEGIN_VISP_NAMESPACE diff --git a/modules/gui/src/display/vpDisplayOpenCV.cpp b/modules/gui/src/display/vpDisplayOpenCV.cpp index 653de7caf2..c4a3906326 100644 --- a/modules/gui/src/display/vpDisplayOpenCV.cpp +++ b/modules/gui/src/display/vpDisplayOpenCV.cpp @@ -29,46 +29,60 @@ * * Description: * Image display. - * -*****************************************************************************/ + */ /*! \file vpDisplayOpenCV.cpp \brief Define the OpenCV console to display images. */ -#include - -#if defined(HAVE_OPENCV_HIGHGUI) +#include // for VISP_HAVE_OPENCV_VERSION -#include // std::fabs -#include -#include // numeric_limits -#include -#include - -// Display stuff -#include -#include -#include -#include -#include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_HIGHGUI, HAVE... +#endif -// debug / exception -#include +#if defined(HAVE_OPENCV_HIGHGUI) -#include // for CV_FILLED versus cv::FILLED +#include // for size_t +#include // for basic_ostringstream, basi... +#include // for basic_string, allocator +#include // for swap +#include // for vector +#include // for min, max +#include // for ceil, fabs, sqrt +#include // for function +#include // for numeric_limits + +#include // for addWeighted +#include // for CV_8U, CV_MAKETYPE +#include // for Mat, _InputOutputArray +#include // for _InputOutputArray::_Input... +#include // for Point, Scalar, Size +#include // for waitKey, MouseEventTypes #if defined(HAVE_OPENCV_IMGPROC) -#include +#include // for CV_RGB, rectangle, line #endif #ifndef CV_RGB #define CV_RGB(r, g, b) cv::Scalar((b), (g), (r), 0) #endif +#include // for vpDisplay +#include // for vpDisplayException +#include // for vpMath +#include // for vpDisplayOpenCV +#include // for vpColor, vpColor::id_unknown +#include // for vpImage +#include // for vpImageConvert +#include // for vpImagePoint +#include // for vpMouseButton, vpMouseBut... +#include // for vpRGBa +#include // for vpRect + #ifdef VISP_HAVE_X11 -#include // to get screen resolution +#include // for vpDisplayX #elif defined(_WIN32) #include #endif @@ -79,7 +93,6 @@ std::vector vpDisplayOpenCV::m_listTitles = std::vector &I, vpScaleType scaleType) : vpDisplay(), @@ -112,7 +124,6 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, vpScaleType scaleTyp } /*! - Constructor. Initialize a display to visualize a gray level image (8 bits). @@ -123,16 +134,15 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, vpScaleType scaleTyp - vpDisplay::SCALE_AUTO, the display size is adapted to ensure the image is fully displayed in the screen; - vpDisplay::SCALE_DEFAULT or vpDisplay::SCALE_1, the display size is the - same than the image size. + same than the image size. - vpDisplay::SCALE_2, the display size is down scaled by 2 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_3, the display size is down scaled by 3 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_4, the display size is down scaled by 4 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_5, the display size is down scaled by 5 along the lines - and the columns. - + and the columns. */ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, int x, int y, const std::string &title, vpScaleType scaleType) @@ -155,15 +165,15 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, int x, int y, const - vpDisplay::SCALE_AUTO, the display size is adapted to ensure the image is fully displayed in the screen; - vpDisplay::SCALE_DEFAULT or vpDisplay::SCALE_1, the display size is the - same than the image size. + same than the image size. - vpDisplay::SCALE_2, the display size is down scaled by 2 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_3, the display size is down scaled by 3 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_4, the display size is down scaled by 4 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_5, the display size is down scaled by 5 along the lines - and the columns. + and the columns. */ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, vpScaleType scaleType) : @@ -187,15 +197,15 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, vpScaleType scaleType) - vpDisplay::SCALE_AUTO, the display size is adapted to ensure the image is fully displayed in the screen; - vpDisplay::SCALE_DEFAULT or vpDisplay::SCALE_1, the display size is the - same than the image size. + same than the image size. - vpDisplay::SCALE_2, the display size is down scaled by 2 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_3, the display size is down scaled by 3 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_4, the display size is down scaled by 4 along the lines - and the columns. + and the columns. - vpDisplay::SCALE_5, the display size is down scaled by 5 along the lines - and the columns. + and the columns. */ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, int x, int y, const std::string &title, vpScaleType scaleType) : @@ -210,7 +220,6 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage &I, int x, int y, const std::st } /*! - Constructor that just initialize the display position in the screen and the display title. diff --git a/modules/gui/src/display/vpDisplayX.cpp b/modules/gui/src/display/vpDisplayX.cpp index e425b0fbfa..e308110e6d 100644 --- a/modules/gui/src/display/vpDisplayX.cpp +++ b/modules/gui/src/display/vpDisplayX.cpp @@ -36,29 +36,32 @@ \brief Define the X11 console to display images. */ -#include -#ifdef VISP_HAVE_X11 - -#include // std::fabs -#include -#include // numeric_limits -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END... -// Display stuff -#include -#include - -// debug / exception -#include +#ifdef VISP_HAVE_X11 -// math -#include +#include // for max, min +#include // for ceil, fabs, sqrt +#include // for numeric_limits +#include // for basic_string, string +#include // for free, malloc, size_t + +#include // for vpDisplay +#include // for vpDisplayException +#include // for vpMath +#include // for vpColor, vpColor::id_unknown +#include // for vpImage +#include // for vpImagePoint +#include // for vpMouseButton, vpMouseBut... +#include // for vpRGBa +#include // for vpRect +#include // for vpDisplayX #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include -#include +#include // for Window, ButtonPressMask +#include // for XAllocColor, XStoreColor +#include // for XLookupString, XDestroyImage BEGIN_VISP_NAMESPACE diff --git a/modules/gui/src/forward-projection/vpProjectionDisplay.cpp b/modules/gui/src/forward-projection/vpProjectionDisplay.cpp index 58d0ebee34..e39162f7fe 100644 --- a/modules/gui/src/forward-projection/vpProjectionDisplay.cpp +++ b/modules/gui/src/forward-projection/vpProjectionDisplay.cpp @@ -29,35 +29,35 @@ * * Description: * Interface with the image for feature display. - * -*****************************************************************************/ + */ /*! \file vpProjectionDisplay.cpp \brief interface with the image for feature display */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_DISPLAY) -// Meter/pixel conversion -#include -#include -#include -#include - -// Color / image / display -#include -#include - -#include - -#include - -//#include +#include // for list, operator!=, _Li... + +#include // for vpColor +#include // for vpDisplay +#include // for vpImage +#include // for vpMeterPixelConversion +#include // for vpPoint +#include // for vpProjectionDisplay +#include // for vpArray2D +#include // for vpColVector +#include // for vpForwardProjection +#include // for vpHomogeneousMatrix +#include // for vpImagePoint +#include // for vpMatrix BEGIN_VISP_NAMESPACE +class vpCameraParameters; + void vpProjectionDisplay::insert(vpForwardProjection &fp) { // vpForwardProjection *f ; diff --git a/modules/gui/src/plot/vpPlot.cpp b/modules/gui/src/plot/vpPlot.cpp index 428f0770d1..c8d160191b 100644 --- a/modules/gui/src/plot/vpPlot.cpp +++ b/modules/gui/src/plot/vpPlot.cpp @@ -29,24 +29,37 @@ * * Description: * Plot curves. - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_DISPLAY) -#include -#include -#include -#include -#include -#include + +#include // for basic_ostream, char_traits +#include // for list, _List_const_iterator +#include // for basic_string, string +#include // for vector + +#include // for vpDisplayX #include #include #include #include -#include -#include +#include // for vpPlot +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpImage +#include // for vpImagePoint +#include // for vpMouseButton, vpMouseBu... +#include // for vpPoseVector +#include // for vpRotationVector +#include // for vpRowVector +#include // for sleepMs +#include // for vpTranslationVector +#include // for vpPlotCurve +#include // for vpPlotGraph BEGIN_VISP_NAMESPACE diff --git a/modules/gui/src/plot/vpPlotCurve.cpp b/modules/gui/src/plot/vpPlotCurve.cpp index 38ce375e08..f5c08b1237 100644 --- a/modules/gui/src/plot/vpPlotCurve.cpp +++ b/modules/gui/src/plot/vpPlotCurve.cpp @@ -29,23 +29,26 @@ * * Description: * Define a curve for the vpPlot class. - * -*****************************************************************************/ -#include + */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS +#include // for VISP_HAVE_DISPLAY, BEGIN_VISP_N... -#include -#include -#include -#include -#include -#include +#ifndef DOXYGEN_SHOULD_SKIP_THIS #if defined(VISP_HAVE_DISPLAY) +#include // for list, _List_const_iterator + +#include // for vpPlotCurve, vpPlotCurve::point +#include // for vpColor +#include // for vpDisplay +#include // for vpImagePoint +#include // for vpRect + BEGIN_VISP_NAMESPACE +template class vpImage; + vpPlotCurve::vpPlotCurve() : color(vpColor::red), curveStyle(point), thickness(1), nbPoint(0), lastPoint(), pointListx(), pointListy(), pointListz(), legend(), xmin(0), xmax(0), ymin(0), ymax(0) diff --git a/modules/gui/src/plot/vpPlotGraph.cpp b/modules/gui/src/plot/vpPlotGraph.cpp index 16cf7ad820..c7fd9e73ac 100644 --- a/modules/gui/src/plot/vpPlotGraph.cpp +++ b/modules/gui/src/plot/vpPlotGraph.cpp @@ -29,30 +29,38 @@ * * Description: * Define a graph for the vpPlot class. - * -*****************************************************************************/ + */ #define FLUSH_ON_PLOT -#include +#include // for VISP_HAVE_X11, BEGIN_... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include // std::fabs -#include // numeric_limits -#include - #if defined(VISP_HAVE_DISPLAY) +#include // for fabs, pow +#include // for numeric_limits +#include // for list, _List_const_ite... +#include // for basic_stringstream +#include // for basic_string, allocator +#include // for size_t + +#include // for vpMath +#include // for vpMeterPixelConversion +#include // for vpPixelMeterConversion +#include // for vpPlotGraph +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColor +#include // for vpDisplay +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImagePoint, operator+ +#include // for vpMouseButton, vpMous... +#include // for vpPoint +#include // for vpRect +#include // for sleepMs +#include // for vpPlotCurve, vpPlotCu... + BEGIN_VISP_NAMESPACE int laFonctionSansNom(double delta); diff --git a/modules/gui/src/pointcloud/vpColorBlindFriendlyPalette.cpp b/modules/gui/src/pointcloud/vpColorBlindFriendlyPalette.cpp index b21575b4cc..daa973dcff 100644 --- a/modules/gui/src/pointcloud/vpColorBlindFriendlyPalette.cpp +++ b/modules/gui/src/pointcloud/vpColorBlindFriendlyPalette.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,11 +28,11 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * Description: * Real-time 3D point clouds plotter based on the PCL library. - * -*****************************************************************************/ + */ #include -#include +#include // for vpColor +#include // for VISP_NAMESPACE_ADDRESSING, BEGIN_VI... #if (VISP_CXX_STANDARD > VISP_CXX_STANDARD_98) diff --git a/modules/gui/src/pointcloud/vpDisplayPCL.cpp b/modules/gui/src/pointcloud/vpDisplayPCL.cpp index 1dca89965f..6417ced9b3 100644 --- a/modules/gui/src/pointcloud/vpDisplayPCL.cpp +++ b/modules/gui/src/pointcloud/vpDisplayPCL.cpp @@ -31,18 +31,36 @@ * Display a point cloud using PCL library. */ -#include +#include // for BEGIN_VISP... #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_VISUALIZATION) && defined(VISP_HAVE_THREADS) -#include +#include // for find_if, copy +#include // for isfinite +#include // for ref +#include // for basic_ostream +#include // for __shared_p... +#include // for mutex, loc... +#include // for basic_string +#include // for thread + +#include // for for_each_type +#include // for PointCloud +#include // for RenderingP... +#include // for PCLVisualizer +#include // for PointCloud... +#include // for getFieldIndex +#include // for PointXYZRGB +#include // for PCLVisuali... + +#include // for vpDisplayPCL BEGIN_VISP_NAMESPACE /*! * Default constructor. * By default, viewer size is set to 640 x 480. */ -vpDisplayPCL::vpDisplayPCL(int posx, int posy, const std::string &window_name) + vpDisplayPCL::vpDisplayPCL(int posx, int posy, const std::string &window_name) : m_stop(false), m_verbose(false), m_width(640), m_height(480), m_posx(posx), m_posy(posy), m_window_name(window_name), m_viewer(nullptr) { } diff --git a/modules/gui/src/pointcloud/vpPclViewer.cpp b/modules/gui/src/pointcloud/vpPclViewer.cpp index d1a8a67091..9bb80f9772 100644 --- a/modules/gui/src/pointcloud/vpPclViewer.cpp +++ b/modules/gui/src/pointcloud/vpPclViewer.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,20 +28,35 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * Description: * Real-time 3D point clouds plotter based on the PCL library. - * -*****************************************************************************/ + */ #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include +#include // for BEGIN_VISP_NAME... + #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_IO) && defined(VISP_HAVE_THREADS) -// ViSP -#include -#include -#include -// PCL -#include +#include // for basic_ostream +#include // for basic_string +#include // for thread +#include // for vector +#include // for memcpy +#include // for copy +#include // for __shared_ptr_ac... +#include // for mutex + +#include // for getFields, copy... +#include // for for_each_type +#include // for savePCDFile +#include // for PointCloud +#include // for PCLVisualizer +#include // for PointXYZRGB + +#include // for vpIoTools +#include // for vpColorBlindFri... +#include // for vpPclViewer +#include // for vpColVector +#include // for vpException BEGIN_VISP_NAMESPACE const std::vector gcolor = { vpColorBlindFriendlyPalette::Palette::Green, vpColorBlindFriendlyPalette::Palette::Vermillon,vpColorBlindFriendlyPalette::Palette::Blue, diff --git a/modules/imgproc/src/vpConnectedComponents.cpp b/modules/imgproc/src/vpConnectedComponents.cpp index b8e8a96523..ebae5fc22a 100644 --- a/modules/imgproc/src/vpConnectedComponents.cpp +++ b/modules/imgproc/src/vpConnectedComponents.cpp @@ -36,9 +36,15 @@ \brief Basic connected components. */ -#include -#include +#include // for VISP_NAMESPACE_NAME +#include // for connectedComponents +#include // for vpImage +#include // for vpImageMorphology, vpImage... +#include // for vpImagePoint + +#include // for queue +#include // for memcpy, memset namespace VISP_NAMESPACE_NAME { diff --git a/modules/imgproc/src/vpContours.cpp b/modules/imgproc/src/vpContours.cpp index 3db6c0767b..849b2f9918 100644 --- a/modules/imgproc/src/vpContours.cpp +++ b/modules/imgproc/src/vpContours.cpp @@ -31,6 +31,7 @@ * Basic contours extraction based on the original work of * Sina Samangooei (ss@ecs.soton.ac.uk). */ + /** * Copyright (c) 2011, The University of Southampton and the individual * contributors. All rights reserved. @@ -67,8 +68,20 @@ \brief Basic contours extraction. */ -#include -#include +#include // for vpColor +#include // for VISP_NAMESPACE_NAME, ENABLE_VI... +#include // for vpException +#include // for vpImage +#include // for vpImagePoint, operator== +#include // for vpRGBa +#include // for vpContour, vpDirection, CONTOU... + +#include // for abs, size_t +#include // for memset +#include // for fabs, abs +#include // for numeric_limits +#include // for map +#include // for vector namespace VISP_NAMESPACE_NAME { diff --git a/modules/imgproc/src/vpFloodFill.cpp b/modules/imgproc/src/vpFloodFill.cpp index 689f349f85..9a9dd0b80c 100644 --- a/modules/imgproc/src/vpFloodFill.cpp +++ b/modules/imgproc/src/vpFloodFill.cpp @@ -30,6 +30,7 @@ * Description: * Flood fill algorithm. */ + /* * Copyright (c) 2004-2007, Lode Vandevenne * @@ -63,9 +64,13 @@ \brief Flood fill algorithm. */ -#include -#include +#include // for floodFill +#include // for VISP_NAMESPACE_NAME +#include // for vpImage +#include // for vpImageMorphology, vpImage... +#include // for vpImagePoint +#include // for queue namespace VISP_NAMESPACE_NAME { diff --git a/modules/imgproc/src/vpImgproc.cpp b/modules/imgproc/src/vpImgproc.cpp index 8e74f2ca23..58e6ddd906 100644 --- a/modules/imgproc/src/vpImgproc.cpp +++ b/modules/imgproc/src/vpImgproc.cpp @@ -30,6 +30,7 @@ * Description: * Convert image types. */ + /* Autostretch HSV 0.10 --- image filter plug-in for GIMP * * Copyright (C) 1997 Scott Goehring @@ -56,14 +57,26 @@ \brief Basic image processing functions. */ -#include -#include -#include -#include -#include -#include -#include - +#include // for vpGaussianFilter +#include // for vpHistogram +#include // for vpImageConvert +#include // for vpImageFilter +#include // for vpImageTools +#include // for vpMath, M_PI_FLOAT +#include // for vpGammaMethod, vpGammaColo... +#include // for VISP_HAVE_SIMDLIB, VISP_NA... +#include // for vpException +#include // for vpImage +#include // for vpImage::getMinMaxValue +#include // for vpImage<>::performLut +#include // for vpImage::operator= +#include // for vpRGBa + +#include // for max, min +#include // for pow, log, cos, sin, exp, log2 +#include // for basic_stringstream, basic_... +#include // for basic_string, char_traits +#include // for vector namespace VISP_NAMESPACE_NAME { #if defined(VISP_BUILD_DEPRECATED_FUNCTIONS) && defined(ENABLE_VISP_NAMESPACE) diff --git a/modules/imgproc/src/vpMorph.cpp b/modules/imgproc/src/vpMorph.cpp index 1745d2c7db..cafef23aa9 100644 --- a/modules/imgproc/src/vpMorph.cpp +++ b/modules/imgproc/src/vpMorph.cpp @@ -36,8 +36,17 @@ \brief Additional image morphology functions. */ -#include -#include +#include // for vpImageTools +#include // for USE_OLD_FILL_HOLE, floodFill +#include // for VISP_NAMESPACE_NAME +#include // for vpImage +#include // for vpImageMorphology +#include // for vpImagePoint +#include // for vpImage::operator=, vpImag... + +#include // for memcpy +#include // for min +#include // for basic_ostream, char_traits namespace VISP_NAMESPACE_NAME { diff --git a/modules/imgproc/src/vpRetinex.cpp b/modules/imgproc/src/vpRetinex.cpp index 5ef60f418a..e0779129b1 100644 --- a/modules/imgproc/src/vpRetinex.cpp +++ b/modules/imgproc/src/vpRetinex.cpp @@ -30,6 +30,7 @@ * Description: * Convert image types. */ + /* Retinex_.java Using ImageJ Gaussian Filter * Retinex filter algorithm based on the plugin for GIMP. * @@ -81,12 +82,21 @@ \brief Retinex algorithm */ -#include -#include - -#include -#include -#include +#include // for vpImageFilter +#include // for vpMath +#include // for VISP_CXX_STANDARD, VISP_CX... +#include // for vpImage +#include // for vpImage::operator= +#include // for vpRGBa + +#include // for size_t +#include // for RETINEX_LEVEL, retinex +#include // for min, transform +#include // for log, pow, sqrt +#include // for minus, bind, _1 +#include // for basic_ostream, char_traits +#include // for accumulate, inner_product +#include // for vector #define MAX_RETINEX_SCALES 8 namespace VISP_NAMESPACE_NAME diff --git a/modules/imgproc/src/vpThreshold.cpp b/modules/imgproc/src/vpThreshold.cpp index 7b47c060a9..2054403f41 100644 --- a/modules/imgproc/src/vpThreshold.cpp +++ b/modules/imgproc/src/vpThreshold.cpp @@ -36,9 +36,19 @@ \brief Automatic thresholding functions. */ -#include -#include -#include +#include // for vpHistogram +#include // for vpImageTools +#include // for AUTO_THRESHOLD_HUANG, AUTO_THRE... +#include // for VISP_NAMESPACE_NAME +#include // for vpImage +#include // for vpMath + +#include // for max +#include // for floor, log, abs +#include // for char_traits, basic_ostream, ope... +#include // for numeric_limits +#include // for vector +#include // for size_t, abs namespace VISP_NAMESPACE_NAME { diff --git a/modules/robot/include/visp3/robot/vpRobotCamera.h b/modules/robot/include/visp3/robot/vpRobotCamera.h index 3605b88358..de743e3fd2 100644 --- a/modules/robot/include/visp3/robot/vpRobotCamera.h +++ b/modules/robot/include/visp3/robot/vpRobotCamera.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,27 +29,28 @@ * * Description: * Defines the simplest robot : a free flying camera. - * -*****************************************************************************/ + */ /*! \file vpRobotCamera.h \brief class that defines the simplest robot : a free flying camera */ -#ifndef vpRobotCamera_H -#define vpRobotCamera_H +#ifndef VP_ROBOT_CAMERA_H +#define VP_ROBOT_CAMERA_H -#include +#include // for VP_OVERRIDE, BEGIN_VISP_... #if defined(VISP_BUILD_DEPRECATED_FUNCTIONS) -#include -#include -#include -#include +#include // for vpHomogeneousMatrix +#include // for vpRobotSimulator +#include // for vpRobot BEGIN_VISP_NAMESPACE + +class vpVelocityTwistMatrix; + /*! \class vpRobotCamera \ingroup group_robot_simu_camera diff --git a/modules/robot/include/visp3/robot/vpSimulatorViper850.h b/modules/robot/include/visp3/robot/vpSimulatorViper850.h index 6f993dec83..84a9bdca7b 100644 --- a/modules/robot/include/visp3/robot/vpSimulatorViper850.h +++ b/modules/robot/include/visp3/robot/vpSimulatorViper850.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,18 +36,32 @@ * \brief Class which provides a simulator for the robot Viper850.. */ -#ifndef vpSimulatorViper850_HH -#define vpSimulatorViper850_HH +#ifndef VP_SIMULATOR_VIPER850_H +#define VP_SIMULATOR_VIPER850_H + +#include // for VP_OVERRIDE, BEGI... +#include // for VISP_HAVE_MODULE_GUI -#include -#include #if defined(VISP_HAVE_MODULE_GUI) && defined(VISP_HAVE_THREADS) -#include +#include // for mutex +#include // for string, basic_string -#include +#include // for vpRobotWireFrameS... +#include // for vpViper850 +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpHomogeneousMatrix +#include // for vpRobot BEGIN_VISP_NAMESPACE + +class vpMatrix; +class vpPoseVector; +class vpRGBa; +class vpVelocityTwistMatrix; +class vpVelocityTwistMatrix; + /*! * \class vpSimulatorViper850 * diff --git a/modules/robot/src/haptic-device/qbdevice/vpQbDevice.cpp b/modules/robot/src/haptic-device/qbdevice/vpQbDevice.cpp index abc7b3e4ec..b7124958b6 100644 --- a/modules/robot/src/haptic-device/qbdevice/vpQbDevice.cpp +++ b/modules/robot/src/haptic-device/qbdevice/vpQbDevice.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,18 +29,32 @@ * * Description: * Interface for the qb robotics devices. - * -*****************************************************************************/ + */ #include #if defined(VISP_HAVE_QBDEVICE) && defined(VISP_HAVE_THREADS) -#include - -#include +#include // for errno +#include // for strerror +#include // for copy, max +#include // for array +#include // for size_t, atof +#include // for basic_ostream, operator<<, basic... +#include // for map, _Rb_tree_iterator, operator!= +#include // for unique_ptr, allocator, shared_ptr +#include // for unique_lock, mutex, lock_guard +#include // for regex_match, regex +#include // for basic_string, char_traits, opera... +#include // for pair, make_pair +#include // for vector + +#include // for qbDeviceAPI + +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpIoTools +#include // for vpQbDevice +#include // for comm_settings, INVALID_HANDLE_VALUE -#include -#include BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS diff --git a/modules/robot/src/haptic-device/qbdevice/vpQbSoftHand.cpp b/modules/robot/src/haptic-device/qbdevice/vpQbSoftHand.cpp index 07dd0943fd..ce0f980e04 100644 --- a/modules/robot/src/haptic-device/qbdevice/vpQbSoftHand.cpp +++ b/modules/robot/src/haptic-device/qbdevice/vpQbSoftHand.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,28 +29,34 @@ * * Description: * Interface for the qb robotics devices. - * -*****************************************************************************/ + */ #include #if defined(VISP_HAVE_QBDEVICE) && defined(VISP_HAVE_THREADS) -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP... +#include // for vpQbSoftHand +#include // for vpColVector +#include // for vpException +#include // for vpMath +#include // for measureTimeMs, wait +#include // for vpQbDevice -#include +#include // for fabs +#include // for vector BEGIN_VISP_NAMESPACE /*! * Default constructor that does nothing. * To connect to a device call init(). */ -vpQbSoftHand::vpQbSoftHand() : vpQbDevice() { } + vpQbSoftHand::vpQbSoftHand() : vpQbDevice() { } -/** - * Retrieve the motor currents of the given device. - * \param id The ID of the device of interest, in range [\p 1, \p 128]. - * \param[out] current The one-element device motor current vector, expressed in \em mA. - */ + /** + * Retrieve the motor currents of the given device. + * \param id The ID of the device of interest, in range [\p 1, \p 128]. + * \param[out] current The one-element device motor current vector, expressed in \em mA. + */ void vpQbSoftHand::getCurrent(vpColVector ¤t, const int &id) { if (!m_init_done) { diff --git a/modules/robot/src/haptic-device/reflex-takktile/vpReflexTakktile2.cpp b/modules/robot/src/haptic-device/reflex-takktile/vpReflexTakktile2.cpp index 2f36fb5667..9d820a7977 100644 --- a/modules/robot/src/haptic-device/reflex-takktile/vpReflexTakktile2.cpp +++ b/modules/robot/src/haptic-device/reflex-takktile/vpReflexTakktile2.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,17 +29,25 @@ * * Description: * Interface for the Reflex Takktile 2 hand from Right Hand Robotics. - * -*****************************************************************************/ + */ #include #ifdef VISP_HAVE_TAKKTILE2 -#include - -#include -#include +#include // for ReflexDriver +#include // for size_t +#include // for BEGIN_VISP_NAMESPACE, END... +#include // for bind +#include // for basic_ostream, operator<< +#include // for basic_string, char_traits +#include // for vector +#include // for NUM_SERVOS, HandInfo, NUM... + +#include // for vpMath +#include // for vpReflexTakktile2, operat... +#include // for vpColVector +#include // for vpException BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS diff --git a/modules/robot/src/image-simulator/vpImageSimulator.cpp b/modules/robot/src/image-simulator/vpImageSimulator.cpp index a56b50d338..f0472a4a10 100644 --- a/modules/robot/src/image-simulator/vpImageSimulator.cpp +++ b/modules/robot/src/image-simulator/vpImageSimulator.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,22 +29,46 @@ * * Description: Class which enables to project an image in the 3D space * and get the view of a virtual camera. - * -*****************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include + */ + +#include // for BEGIN_VISP_NAMESPACE +#include // for VISP_HAVE_MODULE_IO + +#include // for vpImageConvert +#include // for vpMatrixException +#include // for vpMeterPixelConversion +#include // for vpPixelMeterConversion +#include // for vpPolygon3D, vpPolygo... +#include // for vpRotationMatrix +#include // for vpImageSimulator, vpI... +#include // for vpArray2D +#include // for vpColVector +#include // for vpColor +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImagePoint +#include // for vpImage<>::getValue +#include // for vpImage::operator= +#include // for vpMatrix +#include // for vpPoint +#include // for vpRGBa +#include // for vpRect +#include // for vpTriangle #ifdef VISP_HAVE_MODULE_IO -#include +#include // for vpImageIo #endif +#include // for list, operator!=, _Li... +#include // for basic_ostream, operat... +#include // for basic_string +#include // for vector + BEGIN_VISP_NAMESPACE + +class vpCameraParameters; + /*! Basic constructor. diff --git a/modules/robot/src/light/vpRingLight.cpp b/modules/robot/src/light/vpRingLight.cpp index 68c0612e63..4309460aff 100644 --- a/modules/robot/src/light/vpRingLight.cpp +++ b/modules/robot/src/light/vpRingLight.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,8 +29,7 @@ * * Description: * Ring light management. - * -*****************************************************************************/ + */ /*! \file vpRingLight.cpp @@ -45,13 +43,14 @@ #include #include #include -#include +#include // for timeval, gettimeofday #include #include -#include -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_... +#include // for vpRingLight +#include // for vpParallelPort +#include // for VISP_HAVE_MODULE_IO BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/real-robot/afma4/vpAfma4.cpp b/modules/robot/src/real-robot/afma4/vpAfma4.cpp index 2777d73310..5244bb92a6 100644 --- a/modules/robot/src/real-robot/afma4/vpAfma4.cpp +++ b/modules/robot/src/real-robot/afma4/vpAfma4.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,8 +29,7 @@ * * Description: * Interface for the Irisa's Afma4 robot. - * -*****************************************************************************/ + */ /*! @@ -41,14 +39,21 @@ */ -#include -#include -#include -#include -#include -#include -#include -#include +#include // for vpRotationMatrix +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpVelocityTwistMatrix +#include // for vpAfma4, operator<< +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpHomogeneousMatrix +#include // for vpMath +#include // for vpMatrix +#include // for vpRotationVector + +#include // for basic_ostream, char_tr... +#include // for cos, sin, M_PI BEGIN_VISP_NAMESPACE /* ----------------------------------------------------------------------- */ diff --git a/modules/robot/src/real-robot/afma4/vpServolens.cpp b/modules/robot/src/real-robot/afma4/vpServolens.cpp index 67a13acc20..bbfe5a28bc 100644 --- a/modules/robot/src/real-robot/afma4/vpServolens.cpp +++ b/modules/robot/src/real-robot/afma4/vpServolens.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -31,8 +30,7 @@ * Description: * Interface for the Servolens lens attached to the camera fixed on the * Afma4 robot. - * -*****************************************************************************/ + */ /*! @@ -54,10 +52,13 @@ #include #include -#include -#include -#include -#include +#include // for vpERROR_TRACE +#include // for wait +#include // for vpRobotException +#include // for vpServolens, vpServolens:... +#include // for vpCameraParameters +#include // for BEGIN_VISP_NAMESPACE, END... +#include // for vpImage BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/real-robot/afma6/vpAfma6.cpp b/modules/robot/src/real-robot/afma6/vpAfma6.cpp index a2340c1059..a622895ad3 100644 --- a/modules/robot/src/real-robot/afma6/vpAfma6.cpp +++ b/modules/robot/src/real-robot/afma6/vpAfma6.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,35 +29,46 @@ * * Description: * Interface for the Irisa's Afma6 robot. - * -*****************************************************************************/ + */ /*! - \file vpAfma6.cpp Control of Irisa's gantry robot named Afma6. - */ -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include // for vpCameraParameters +#include // for vpTRACE, vpERROR_TRACE +#include // for vpRotationMatrix +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpVelocityTwistMatrix +#include // for vpAfma6, vpAfma6::TOOL... +#include // for vpRobotException +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpMath +#include // for vpMatrix +#include // for vpRotationVector + +#include // for basic_ifstream +#include // for basic_ostream, char_tr... +#include // for basic_istringstream +#include // for basic_string, string +#include // for cos, sin, atan2, M_PI /* ----------------------------------------------------------------------- */ /* --- STATIC ------------------------------------------------------------ */ /* ---------------------------------------------------------------------- */ BEGIN_VISP_NAMESPACE + +class vpRGBa; + static const char *opt_Afma6[] = { "JOINT_MAX", "JOINT_MIN", "LONG_56", "COUPL_56", "CAMERA", "eMc_ROT_XYZ", "eMc_TRANS_XYZ", nullptr }; diff --git a/modules/robot/src/real-robot/biclops/vpBiclops.cpp b/modules/robot/src/real-robot/biclops/vpBiclops.cpp index 60b5e81a47..294bf0c218 100644 --- a/modules/robot/src/real-robot/biclops/vpBiclops.cpp +++ b/modules/robot/src/real-robot/biclops/vpBiclops.cpp @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,11 +31,19 @@ * Interface for the Biclops robot. */ -#include -#include -#include -#include -#include +#include // for cos, sin, M_PI +#include // for basic_ostream, char_tr... + +#include // for vpCDEBUG +#include // for vpBiclops, vpBiclops::DH1 +#include // for vpArray2D, operator<< +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpMatrix +#include // for vpPoseVector +#include // for vpVelocityTwistMatrix BEGIN_VISP_NAMESPACE const unsigned int vpBiclops::ndof = 2; diff --git a/modules/robot/src/real-robot/pololu-maestro/vpPololu.cpp b/modules/robot/src/real-robot/pololu-maestro/vpPololu.cpp index 97c795ae2d..d22c631e3a 100644 --- a/modules/robot/src/real-robot/pololu-maestro/vpPololu.cpp +++ b/modules/robot/src/real-robot/pololu-maestro/vpPololu.cpp @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,19 +31,23 @@ * Common features for Pololu Maestro Servo Motor. */ -#include - +#include // for BEGIN_VISP_NAMESPACE, END_... #if defined(VISP_HAVE_POLOLU) && defined(VISP_HAVE_THREADS) -#include -#include - -#include - -#include -#include -#include +#include // for RPMSerialInterface +#include // for vpPololu +#include // for vpRobotException +#include // for vpException + +#include // for abs +#include // for milliseconds, operator* +#include // for fabs, abs +#include // for basic_ostream, operator<< +#include // for mutex +#include // for ratio +#include // for char_traits, basic_string +#include // for sleep_for, thread std::chrono::milliseconds millis(1); diff --git a/modules/robot/src/real-robot/pololu-maestro/vpRobotPololuPtu.cpp b/modules/robot/src/real-robot/pololu-maestro/vpRobotPololuPtu.cpp index c34d830113..e2c4ccdc14 100644 --- a/modules/robot/src/real-robot/pololu-maestro/vpRobotPololuPtu.cpp +++ b/modules/robot/src/real-robot/pololu-maestro/vpRobotPololuPtu.cpp @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,14 +31,25 @@ * Common features for Pololu Maestro PanTiltUnit. */ -#include +#include // for BEGIN_VISP_NAMESPACE, END_... #if defined(VISP_HAVE_POLOLU) && defined(VISP_HAVE_THREADS) -#include -#include -#include -#include +#include // for vpERROR_TRACE +#include // for vpRobot, vpRobot::JOINT_STATE +#include // for vpRobotException +#include // for vpRobotPololuPtu +#include // for vpArray2D, operator<< +#include // for vpColVector +#include // for vpException +#include // for vpMath +#include // for vpMatrix +#include // for vpRowVector +#include // for vpPololu + +#include // for cos, fabs, sin +#include // for basic_ostream, operator<< +#include // for char_traits, string BEGIN_VISP_NAMESPACE vpRobotPololuPtu::vpRobotPololuPtu(const std::string &device, int baudrate, bool verbose) diff --git a/modules/robot/src/real-robot/ptu46/vpPtu46.cpp b/modules/robot/src/real-robot/ptu46/vpPtu46.cpp index 9ab81dbd78..391f1c65d9 100644 --- a/modules/robot/src/real-robot/ptu46/vpPtu46.cpp +++ b/modules/robot/src/real-robot/ptu46/vpPtu46.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,20 +29,22 @@ * * Description: * Interface for the ptu-46 robot. - * -*****************************************************************************/ - -/* ----------------------------------------------------------------------- */ -/* --- INCLUDE ----------------------------------------------------------- */ -/* ----------------------------------------------------------------------- */ - -#include -#include -#include - -/* Inclusion des fichiers standards. */ -#include -#include + */ + + +#include // for cos, sin +#include // for basic_ostream, char_tr... + +#include // for vpERROR_TRACE, vpCDEBUG +#include // for vpPtu46, operator<< +#include // for vpArray2D, operator<< +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpMatrix +#include // for vpPoseVector +#include // for vpVelocityTwistMatrix BEGIN_VISP_NAMESPACE /* ------------------------------------------------------------------------ */ diff --git a/modules/robot/src/real-robot/viper/vpViper.cpp b/modules/robot/src/real-robot/viper/vpViper.cpp index 0b21b34817..0b5f5fa3e9 100644 --- a/modules/robot/src/real-robot/viper/vpViper.cpp +++ b/modules/robot/src/real-robot/viper/vpViper.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,27 +29,31 @@ * * Description: * Interface for a generic ADEPT Viper (either 650 or 850) robot. - * -*****************************************************************************/ + */ /*! - \file vpViper.cpp Modelization of the ADEPT Viper 650 or 850 robot. - */ -#include // std::fabs -#include // numeric_limits -#include -#include -#include -#include -#include -#include -#include -#include +#include // for cos, sin, atan2, fabs +#include // for basic_ostream, char_tr... +#include // for numeric_limits + +#include // for vpRotationMatrix +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpVelocityTwistMatrix +#include // for vpViper, operator<< +#include // for vpArray2D, operator<< +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpHomogeneousMatrix +#include // for vpMath +#include // for vpMatrix +#include // for vpRotationVector +#include // for vpRowVector BEGIN_VISP_NAMESPACE const unsigned int vpViper::njoint = 6; diff --git a/modules/robot/src/real-robot/viper/vpViper650.cpp b/modules/robot/src/real-robot/viper/vpViper650.cpp index ce58802d97..db98d7d411 100644 --- a/modules/robot/src/real-robot/viper/vpViper650.cpp +++ b/modules/robot/src/real-robot/viper/vpViper650.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,8 +29,7 @@ * * Description: * Interface for the ADEPT Viper 650 robot. - * -*****************************************************************************/ + */ /*! @@ -41,14 +39,33 @@ */ -#include -#include -#include -#include +#include // for M_PI +#include // for basic_ostream, basic_ist... +#include // for cout +#include // for basic_istringstream +#include // for char_traits, basic_string + +#include // for vpTRACE +#include // for vpMath +#include // for vpViper650, vpViper650::... +#include // for vpCameraParameters, vpCa... +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpRobotException static const char *opt_viper650[] = { "CAMERA", "eMc_ROT_XYZ", "eMc_TRANS_XYZ", nullptr }; BEGIN_VISP_NAMESPACE + +class vpRGBa; + #ifdef VISP_HAVE_VIPER650_DATA const std::string vpViper650::CONST_EMC_MARLIN_F033C_WITHOUT_DISTORTION_FILENAME = std::string(VISP_VIPER650_DATA_PATH) + diff --git a/modules/robot/src/real-robot/viper/vpViper850.cpp b/modules/robot/src/real-robot/viper/vpViper850.cpp index a50b85c6c2..dc5b6f69aa 100644 --- a/modules/robot/src/real-robot/viper/vpViper850.cpp +++ b/modules/robot/src/real-robot/viper/vpViper850.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,25 +29,42 @@ * * Description: * Interface for the ADEPT Viper 850 robot. - * -*****************************************************************************/ + */ /*! - \file vpViper850.cpp Modelization of the ADEPT Viper 850 robot. - */ -#include -#include -#include -#include + +#include // for M_PI +#include // for basic_ostream, basic_ist... +#include // for cout +#include // for basic_istringstream +#include // for char_traits, basic_string + +#include // for vpTRACE, vpERROR_TRACE +#include // for vpMath +#include // for vpViper850, vpViper850::... +#include // for vpCameraParameters, vpCa... +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpRobotException static const char *opt_viper850[] = { "CAMERA", "eMc_ROT_XYZ", "eMc_TRANS_XYZ", nullptr }; BEGIN_VISP_NAMESPACE + +class vpRGBa; + #ifdef VISP_HAVE_VIPER850_DATA const std::string vpViper850::CONST_EMC_MARLIN_F033C_WITHOUT_DISTORTION_FILENAME = std::string(VISP_VIPER850_DATA_PATH) + diff --git a/modules/robot/src/robot-simulator/vpRobotCamera.cpp b/modules/robot/src/robot-simulator/vpRobotCamera.cpp index 179722d98a..38c1c7b027 100644 --- a/modules/robot/src/robot-simulator/vpRobotCamera.cpp +++ b/modules/robot/src/robot-simulator/vpRobotCamera.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,22 +29,31 @@ * * Description: * Defines the simplest robot : a free flying camera. - * -*****************************************************************************/ + */ /*! \file vpRobotCamera.cpp \brief class that defines the simplest robot : a free flying camera */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_BUILD_DEPRECATED_FUNCTIONS) -#include -#include -#include -#include +#include // for basic_ostream, char_tr... + +#include +#include // for vpExponentialMap +#include // for vpHomogeneousMatrix +#include // for vpRobotException +#include // for vpArray2D +#include // for vpColVector +#include // for vpMath +#include // for vpMatrix +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRxyzVector +#include // for vpVelocityTwistMatrix BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/robot-simulator/vpRobotSimulator.cpp b/modules/robot/src/robot-simulator/vpRobotSimulator.cpp index 0815e7010d..fb9b638e60 100644 --- a/modules/robot/src/robot-simulator/vpRobotSimulator.cpp +++ b/modules/robot/src/robot-simulator/vpRobotSimulator.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,12 +29,12 @@ * * Description: * Basic class used to make robot simulators. - * -*****************************************************************************/ + */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_... +#include // for vpRobotSimulator +#include // for vpRobot BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/robot-simulator/vpRobotWireFrameSimulator.cpp b/modules/robot/src/robot-simulator/vpRobotWireFrameSimulator.cpp index cda9d9b0e1..e737df4a3e 100644 --- a/modules/robot/src/robot-simulator/vpRobotWireFrameSimulator.cpp +++ b/modules/robot/src/robot-simulator/vpRobotWireFrameSimulator.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,18 +29,36 @@ * * Description: * Basic class used to make robot simulators. - * -*****************************************************************************/ + */ -#include +#include // for VISP_HAVE_DISPLAY +#include // for VISP_HAVE_MODULE_GUI #if defined(VISP_HAVE_MODULE_GUI) && defined(VISP_HAVE_THREADS) -#include -#include -#include "../wireframe-simulator/vpBound.h" -#include "../wireframe-simulator/vpScene.h" -#include "../wireframe-simulator/vpVwstack.h" +#include // for fabs +#include // for numeric_limits +#include // for mutex +#include // for basic_string + +#include "../wireframe-simulator/vpBound.h" // for free_Bound_scene +#include "../wireframe-simulator/vpScene.h" // for vp2jlc_matrix +#include "../wireframe-simulator/vpVwstack.h" // for add_vwstack +#include "../wireframe-simulator/vpArit.h" // for IDENTITY_MATRIX + +#include // for vpColVector +#include // for vpColor +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImage::operator= +#include // for vpMath +#include // for vpRGBa +#include // for wait +#include // for vpDisplayX +#include // for vpRobotSimulator +#include // for vpWireFrameSimulator +#include // for Matrix +#include // for vpRobotWireFrameS... BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/robot-simulator/vpSimulatorAfma6.cpp b/modules/robot/src/robot-simulator/vpSimulatorAfma6.cpp index c3f07c17d1..06f3526d19 100644 --- a/modules/robot/src/robot-simulator/vpSimulatorAfma6.cpp +++ b/modules/robot/src/robot-simulator/vpSimulatorAfma6.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,27 +29,63 @@ * * Description: * Class which provides a simulator for the robot Afma6. - * -*****************************************************************************/ + */ + +#include // for BEGIN_VISP_NAMESPACE +#include // for VISP_HAVE_MODULE_GUI -#include #if defined(VISP_HAVE_MODULE_GUI) && defined(VISP_HAVE_THREADS) -#include // std::fabs -#include // numeric_limits -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "../wireframe-simulator/vpBound.h" -#include "../wireframe-simulator/vpRfstack.h" -#include "../wireframe-simulator/vpScene.h" -#include "../wireframe-simulator/vpVwstack.h" + +#include // for fabs, cos, sin, M_PI +#include // for basic_ostream +#include // for ref +#include // for cout +#include // for numeric_limits +#include // for mutex +#include // for basic_istringstream +#include // for basic_string, cha... +#include // for thread +#include // for vector +#include // for FILENAME_MAX, fpr... +#include // for strcat, strcpy + +#include "../wireframe-simulator/vpBound.h" // for free_Bound_scene +#include "../wireframe-simulator/vpRfstack.h" // for add_rfstack +#include "../wireframe-simulator/vpScene.h" // for set_scene, vp2jlc... +#include "../wireframe-simulator/vpVwstack.h" // for add_vwstack +#include "../wireframe-simulator/vpView.h" // for IS_BACK, PERSPECTIVE + +#include // for vpERROR_TRACE +#include // for vpImagePoint +#include // for vpIoTools +#include // for vpMeterPixelConve... +#include // for vpPoint +#include // for wait, measureTimeMs +#include // for vpArray2D, operat... +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpMath +#include // for vpMatrix +#include // for vpPoseVector +#include // for vpRGBa +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRowVector +#include // for vpRxyzVector +#include // for vpThetaUVector +#include // for vpTranslationVector +#include // for vpVelocityTwistMa... +#include // for vpAfma6, vpAfma6:... +#include // for vpRobot, vpRobot:... +#include // for vpRobotWireFrameS... +#include // for Bound_scene +#include // for vpRobotException +#include // for vpSimulatorAfma6 BEGIN_VISP_NAMESPACE const double vpSimulatorAfma6::defaultPositioningVelocity = 25.0; diff --git a/modules/robot/src/robot-simulator/vpSimulatorCamera.cpp b/modules/robot/src/robot-simulator/vpSimulatorCamera.cpp index 8f70187ad2..3d3effdd81 100644 --- a/modules/robot/src/robot-simulator/vpSimulatorCamera.cpp +++ b/modules/robot/src/robot-simulator/vpSimulatorCamera.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,19 +29,29 @@ * * Description: * Defines the simplest robot : a free flying camera. - * -*****************************************************************************/ + */ /*! \file vpSimulatorCamera.cpp \brief class that defines the simplest robot : a free flying camera */ -#include -#include -#include -#include -#include +#include // for basic_ostream, char_tr... + +#include // for vpExponentialMap +#include // for vpHomogeneousMatrix +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpMath +#include // for vpMatrix +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRxyzVector +#include // for vpVelocityTwistMatrix +#include // for vpRobot, vpRobot::ARTI... +#include // for vpRobotException +#include // for vpSimulatorCamera BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/robot-simulator/vpSimulatorPioneer.cpp b/modules/robot/src/robot-simulator/vpSimulatorPioneer.cpp index 0e12d2f89b..733ebb2bc3 100644 --- a/modules/robot/src/robot-simulator/vpSimulatorPioneer.cpp +++ b/modules/robot/src/robot-simulator/vpSimulatorPioneer.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,8 +29,7 @@ * * Description: * Pioneer mobile robot simulator without display. - * -*****************************************************************************/ + */ /*! \file vpSimulatorPioneer.cpp @@ -40,11 +38,24 @@ */ -#include -#include -#include -#include -#include + +#include // for cos, sin +#include // for basic_ostream, char_traits + +#include // for vpERROR_TRACE +#include // for vpHomogeneousMatrix +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpMatrix +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpRobot, vpRobot::ARTICU... +#include // for vpUnicycle +#include // for vpRobotException +#include // for vpSimulatorPioneer BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/robot-simulator/vpSimulatorPioneerPan.cpp b/modules/robot/src/robot-simulator/vpSimulatorPioneerPan.cpp index 90a4bdf9d1..408a1ec280 100644 --- a/modules/robot/src/robot-simulator/vpSimulatorPioneerPan.cpp +++ b/modules/robot/src/robot-simulator/vpSimulatorPioneerPan.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,8 +29,7 @@ * * Description: * Pioneer mobile robot equipped with a pan head simulator without display. - * -*****************************************************************************/ + */ /*! \file vpSimulatorPioneerPan.cpp @@ -39,11 +37,23 @@ with a camera able to move in pan. */ -#include -#include -#include -#include -#include +#include // for cos, sin +#include // for basic_ostream, char_t... + +#include // for vpERROR_TRACE +#include // for vpHomogeneousMatrix +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpMatrix +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRxyzVector +#include // for vpTranslationVector +#include // for vpRobot, vpRobot::ART... +#include // for vpUnicycle +#include // for vpRobotException +#include // for vpSimulatorPioneerPan BEGIN_VISP_NAMESPACE /*! diff --git a/modules/robot/src/robot-simulator/vpSimulatorViper850.cpp b/modules/robot/src/robot-simulator/vpSimulatorViper850.cpp index 9856c60fd4..27e8f6ca72 100644 --- a/modules/robot/src/robot-simulator/vpSimulatorViper850.cpp +++ b/modules/robot/src/robot-simulator/vpSimulatorViper850.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,27 +29,59 @@ * * Description: * Class which provides a simulator for the robot Viper850. - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for VISP_HAVE_MODULE_GUI #if defined(VISP_HAVE_MODULE_GUI) && defined(VISP_HAVE_THREADS) -#include // std::fabs -#include // numeric_limits -#include -#include -#include -#include -#include -#include -#include - -#include "../wireframe-simulator/vpBound.h" -#include "../wireframe-simulator/vpRfstack.h" -#include "../wireframe-simulator/vpScene.h" -#include "../wireframe-simulator/vpVwstack.h" +#include "../wireframe-simulator/vpBound.h" // for free_Bound_scene +#include "../wireframe-simulator/vpRfstack.h" // for add_rfstack +#include "../wireframe-simulator/vpScene.h" // for vp2jlc_matrix +#include "../wireframe-simulator/vpVwstack.h" // for add_vwstack +#include "../wireframe-simulator/vpView.h" // for IS_BACK, PERSPECTIVE + +#include // for fabs, cos, sin, M_PI +#include // for basic_ostream +#include // for ref +#include // for cout +#include // for numeric_limits +#include // for basic_istringstream +#include // for basic_string, cha... +#include // for thread +#include // for vector +#include // for FILENAME_MAX, fpr... +#include // for strcat, strcpy + +#include // for vpERROR_TRACE +#include // for vpImagePoint +#include // for vpIoTools +#include // for vpMeterPixelConve... +#include // for vpPoint +#include // for measureTimeSecond +#include // for vpArray2D, operat... +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpImage +#include // for vpMath +#include // for vpMatrix +#include // for vpPoseVector +#include // for vpRGBa +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpRowVector +#include // for vpRxyzVector +#include // for vpThetaUVector +#include // for vpTranslationVector +#include // for vpVelocityTwistMa... +#include // for vpRobotException +#include // for vpRobotWireFrameS... +#include // for vpViper +#include // for vpViper850, vpVip... +#include // for Bound_scene +#include BEGIN_VISP_NAMESPACE const double vpSimulatorViper850::defaultPositioningVelocity = 25.0; diff --git a/modules/robot/src/vpRobot.cpp b/modules/robot/src/vpRobot.cpp index 4d432361a2..47d3688953 100644 --- a/modules/robot/src/vpRobot.cpp +++ b/modules/robot/src/vpRobot.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,12 +29,17 @@ * * Description: * Generic virtual robot. - * -*****************************************************************************/ + */ + + +#include // for fabs +#include // for basic_ostream, char_traits -#include -#include -#include +#include // for vpRobot, vpRobot::CAMERA_F... +#include // for vpRobotException +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_... +#include // for vpMatrix BEGIN_VISP_NAMESPACE const double vpRobot::maxTranslationVelocityDefault = 0.2; diff --git a/modules/robot/src/vpRobotTemplate.cpp b/modules/robot/src/vpRobotTemplate.cpp index b13498e2b5..658cd8b88b 100644 --- a/modules/robot/src/vpRobotTemplate.cpp +++ b/modules/robot/src/vpRobotTemplate.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,26 +29,30 @@ * * Description: * Defines a robot just to show which function you must implement. - * -*****************************************************************************/ - -#include - -#include + */ /*! \file vpRobotTemplate.cpp Defines a robot just to show which function you must implement. */ -#include -#include + +#include // for size_t +#include // for basic_ostream, operator<< + +#include // for BEGIN_VISP_NAMESPACE +#include // for vpRobotException +#include // for vpRobotTemplate +#include // for vpColVector +#include // for vpException +#include // for vpVelocityTwistMatrix +#include // for vpRobot, vpRobot::JOIN... BEGIN_VISP_NAMESPACE /*! Basic initialization. */ -void vpRobotTemplate::init() + void vpRobotTemplate::init() { // If you want to control the robot in Cartesian in a tool frame, set the corresponding transformation in m_eMc // that is set to identity by default in the constructor. diff --git a/modules/robot/src/wireframe-simulator/vpArit.cpp b/modules/robot/src/wireframe-simulator/vpArit.cpp index 9412a88db0..54bc4ac4b9 100644 --- a/modules/robot/src/wireframe-simulator/vpArit.cpp +++ b/modules/robot/src/wireframe-simulator/vpArit.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,18 +29,15 @@ * * Description: * Le module "arit.c" contient les procedures arithmetiques. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ +#include // for cos, sin, M_PI, sqrt +#include // for fprintf, stderr +#include // for memmove +#include // for BEGIN_VISP_NAMESPACE +#include // for Matrix, Point3f +#include "vpMy.h" // for M_EPSILON, FABS #include "vpArit.h" -#include "vpMy.h" -#include -#include -#include -#include #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE @@ -51,7 +47,7 @@ BEGIN_VISP_NAMESPACE * fp Fichier en sortie. * m Matrice a ecrire. */ -void fprintf_matrix(FILE *fp, Matrix m) + void fprintf_matrix(FILE *fp, Matrix m) { int i; diff --git a/modules/robot/src/wireframe-simulator/vpAritio.cpp b/modules/robot/src/wireframe-simulator/vpAritio.cpp index db1771c16b..cc5d418c39 100644 --- a/modules/robot/src/wireframe-simulator/vpAritio.cpp +++ b/modules/robot/src/wireframe-simulator/vpAritio.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -34,21 +33,18 @@ * Les entrees non specifiees sont effectuees * sur le fichier "source" du module "lex.c". * Pour les mots cles des "fprintf_..." voir "token.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpLex.h" -#include "vpMy.h" -#include "vpToken.h" -#include +#include // for NULL, fprintf, FILE +#include "vpArit.h" // for AritPosition, Vector +#include "vpLex.h" // for lex, lexerr, popu... +#include "vpToken.h" // for T_INT, T_FLOAT + +#include // for Point3f BEGIN_VISP_NAMESPACE /* @@ -57,7 +53,7 @@ BEGIN_VISP_NAMESPACE * f Fichier en sortie. * pp Positionnement a ecrite. */ -void fprintf_Position(FILE *f, AritPosition *pp) + void fprintf_Position(FILE *f, AritPosition *pp) { fprintf(f, "%.3f\t%.3f\t%.3f\n%.3f\t%.3f\t%.3f\n%.3f\t%.3f\t%.3f\n", pp->rotate.x, pp->rotate.y, pp->rotate.z, pp->scale.x, pp->scale.y, pp->scale.z, pp->translate.x, pp->translate.y, pp->translate.z); diff --git a/modules/robot/src/wireframe-simulator/vpBound.cpp b/modules/robot/src/wireframe-simulator/vpBound.cpp index 02de188dbc..fb7604eb30 100644 --- a/modules/robot/src/wireframe-simulator/vpBound.cpp +++ b/modules/robot/src/wireframe-simulator/vpBound.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,25 +29,23 @@ * * Description: * Le fichier "bound.c" contient les procedures de gestion des scenes de - *modele geometrique surfacique. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + * modele geometrique surfacique. + */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" + +#include // for NULL, perror +#include // for free, malloc, exit +#include // for strcpy, strlen + #include "vpBound.h" -#include "vpMy.h" -#include -#include -#include -#include -#include +#include "vpMy.h" // for TRUE, FALSE + +#include // for vpException +#include // for Bound, Index, Face + BEGIN_VISP_NAMESPACE /* @@ -57,7 +54,7 @@ BEGIN_VISP_NAMESPACE * Entree : * bp Surface a liberer. */ -void free_Bound(Bound *bp) + void free_Bound(Bound *bp) { Face *fp = bp->face.ptr; Face *fend = fp + bp->face.nbr; diff --git a/modules/robot/src/wireframe-simulator/vpBound.h b/modules/robot/src/wireframe-simulator/vpBound.h index d40004790f..e0b5e10d92 100644 --- a/modules/robot/src/wireframe-simulator/vpBound.h +++ b/modules/robot/src/wireframe-simulator/vpBound.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -34,19 +33,16 @@ * * Authors: * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpBound_H -#define vpBound_H +#ifndef VP_BOUND_H +#define VP_BOUND_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpMy.h" -#include +#include // for Bound, Index, Bou... #define START_ARG 0 #define NEXT_ARG 1 diff --git a/modules/robot/src/wireframe-simulator/vpBoundio.cpp b/modules/robot/src/wireframe-simulator/vpBoundio.cpp index 09d5ecb3bb..ba3c8e06c2 100644 --- a/modules/robot/src/wireframe-simulator/vpBoundio.cpp +++ b/modules/robot/src/wireframe-simulator/vpBoundio.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -34,26 +33,21 @@ * Les entrees non specifiees sont effectuees * sur le fichier "source" de "lex.c". * Pour les mots cles des "fprintf_..." voir "token.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" + +#include // for NULL, perror +#include // for malloc + #include "vpBoundio.h" -#include "vpLex.h" -#include "vpMy.h" -#include "vpSkipio.h" -#include "vpToken.h" +#include "vpLex.h" // for lex, lexerr, poperr, pusherr +#include "vpSkipio.h" // for skip_keyword +#include "vpToken.h" // for T_INT, myint, T_FLOAT, myfloat +#include // for vpException -#include -#include -#include BEGIN_VISP_NAMESPACE /* @@ -61,7 +55,7 @@ BEGIN_VISP_NAMESPACE * Entree : * bp Surface a lire. */ -void fscanf_Bound(Bound *bp) + void fscanf_Bound(Bound *bp) { /* Lecture du type polygonale de la surface. */ diff --git a/modules/robot/src/wireframe-simulator/vpBoundio.h b/modules/robot/src/wireframe-simulator/vpBoundio.h index 2b39dd91cb..6925964f52 100644 --- a/modules/robot/src/wireframe-simulator/vpBoundio.h +++ b/modules/robot/src/wireframe-simulator/vpBoundio.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -34,20 +33,16 @@ * Les entrees non specifiees sont effectuees * sur le fichier "source" de "lex.c". * Pour les mots cles des "fprintf_..." voir "token.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpBoundio_h -#define vpBoundio_h +#ifndef VP_BOUND_IO_H +#define VP_BOUND_IO_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpBound.h" +#include // for Bound, Face_list BEGIN_VISP_NAMESPACE void fscanf_Bound(Bound *bp); diff --git a/modules/robot/src/wireframe-simulator/vpClipping.cpp b/modules/robot/src/wireframe-simulator/vpClipping.cpp index a07f2cbd19..267bfb9f90 100644 --- a/modules/robot/src/wireframe-simulator/vpClipping.cpp +++ b/modules/robot/src/wireframe-simulator/vpClipping.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -36,23 +35,23 @@ * "Reentrant Polygon Clipping". * Communications of the ACM, * Junary 1974, Volume 17, Number 1, pp 32-44. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_V... #ifndef DOXYGEN_SHOULD_SKIP_THIS + +#include "vpView.h" // for IS_INSIDE, IS_ABOVE, IS_BACK #include "vpClipping.h" -#include "vpView.h" +#include "../wireframe-simulator/vpArit.h" // for Point4f, PAR_COORD3, point_... +#include "../wireframe-simulator/vpBound.h" // for POINT_NBR, free_huge_Bound +#include "../wireframe-simulator/vpMy.h" // for Byte, M_EPSILON -#include -#include -#include -#include +#include // for NULL, perror +#include // for free, malloc +#include // for vpException +#include // for fabs +#include // for numeric_limits BEGIN_VISP_NAMESPACE static void inter(Byte mask, Index v0, Index v1); @@ -378,18 +377,18 @@ static void inter(Byte mask, Index v0, Index v1) SET_COORD3(*n, (n1->x - n0->x) * t + n0->x, (n1->y - n0->y) * t + n0->y, (n1->z - n0->z) * t + n0->z); } #endif /* face_normal */ -} + } -/* - * La procedure "point_4D_3D" transforme les points homogenes 4D visibles - * en points 3D par projection. - * Note : On marque un point 3D invisible par une profondeur negative. - * Entree : - * p4 Tableau de points 4D a transformer. - * size Taille du tableau "p4". - * cp Tableau de code indiquant la visibilite des points 4D. - * p3 Tableau de points 3D issus de la transformation. - */ + /* + * La procedure "point_4D_3D" transforme les points homogenes 4D visibles + * en points 3D par projection. + * Note : On marque un point 3D invisible par une profondeur negative. + * Entree : + * p4 Tableau de points 4D a transformer. + * size Taille du tableau "p4". + * cp Tableau de code indiquant la visibilite des points 4D. + * p3 Tableau de points 3D issus de la transformation. + */ static void point_4D_3D(Point4f *p4, int size, Byte *cp, Point3f *p3) { Point4f *pend = p4 + size; /* borne de p4 */ diff --git a/modules/robot/src/wireframe-simulator/vpClipping.h b/modules/robot/src/wireframe-simulator/vpClipping.h index 9475f873af..ca84f54378 100644 --- a/modules/robot/src/wireframe-simulator/vpClipping.h +++ b/modules/robot/src/wireframe-simulator/vpClipping.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -36,22 +35,19 @@ * "Reentrant Polygon Clipping". * Communications of the ACM, * Junary 1974, Volume 17, Number 1, pp 32-44. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpClipping_h -#define vpClipping_h +#ifndef VP_CLIPPING_H +#define VP_CLIPPING_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpBound.h" -#include "vpMy.h" +#include // for Bound, Matrix +#include "vpArit.h" // for Point4f +#include "vpMy.h" // for Byte + BEGIN_VISP_NAMESPACE void open_clipping(void); diff --git a/modules/robot/src/wireframe-simulator/vpCoreDisplay.cpp b/modules/robot/src/wireframe-simulator/vpCoreDisplay.cpp index 7ba34aa3f6..f8bad8ada8 100644 --- a/modules/robot/src/wireframe-simulator/vpCoreDisplay.cpp +++ b/modules/robot/src/wireframe-simulator/vpCoreDisplay.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,25 +30,23 @@ * Description: * Le module "display.c" contient les procedures de d'affichage * des scenes de modele geometrique surfacique. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_V... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include -#include +#include // for NULL, perror, printf +#include // for free, malloc + +#include "vpMy.h" // for Byte, TRUE +#include "vpView.h" // for IS_ABOVE, IS_BACK, IS_BELOW #include "vpCoreDisplay.h" -#include "vpImstack.h" -#include "vpMy.h" -#include "vpRfstack.h" -#include "vpView.h" -#include "vpVwstack.h" + +#include // for vpException +#include // for Point2i, SET_COORD2 +#include // for POINT_NBR + BEGIN_VISP_NAMESPACE /* @@ -60,7 +57,7 @@ BEGIN_VISP_NAMESPACE * Tableau de renommage des sommets ou tableau de compteurs associes aux * points. */ -Point2i *point2i = (Point2i *)NULL; + Point2i *point2i = (Point2i *)NULL; Point2i *listpoint2i = (Point2i *)NULL; static int *rename_jlc = (int *)NULL; diff --git a/modules/robot/src/wireframe-simulator/vpCoreDisplay.h b/modules/robot/src/wireframe-simulator/vpCoreDisplay.h index a38a46f86e..1d8c9a9644 100644 --- a/modules/robot/src/wireframe-simulator/vpCoreDisplay.h +++ b/modules/robot/src/wireframe-simulator/vpCoreDisplay.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -31,21 +30,19 @@ * Description: * Le module "display.c" contient les procedures de d'affichage * des scenes de modele geometrique surfacique. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpCoreDisplay_h -#define vpCoreDisplay_h +#ifndef VP_CORE_DISPLAY_H +#define VP_CORE_DISPLAY_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpBound.h" +#include "vpArit.h" // for Point2i + +#include // for Bound, Face, Index +#include // for Byte BEGIN_VISP_NAMESPACE void open_display(void); diff --git a/modules/robot/src/wireframe-simulator/vpKeyword.h b/modules/robot/src/wireframe-simulator/vpKeyword.h index 7dc3b6dbee..a5592c8164 100644 --- a/modules/robot/src/wireframe-simulator/vpKeyword.h +++ b/modules/robot/src/wireframe-simulator/vpKeyword.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -31,18 +30,15 @@ * Description: * Le module "keyword.c" contient les procedures de gestion * des mots cles retournes par l'analyseur lexical "lex". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ + +#ifndef VP_KEYWORD_H +#define VP_KEYWORD_H -#ifndef vpKeyword_H -#define vpKeyword_H +#include // for BEGIN_VISP_NAMESPACE +#include // for Index +#include "vpToken.h" // for Keyword -#include "vpMy.h" -#include "vpToken.h" -#include #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE diff --git a/modules/robot/src/wireframe-simulator/vpLex.cpp b/modules/robot/src/wireframe-simulator/vpLex.cpp index 72aa61dcaf..b4c9771e0f 100644 --- a/modules/robot/src/wireframe-simulator/vpLex.cpp +++ b/modules/robot/src/wireframe-simulator/vpLex.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -33,26 +32,21 @@ * de l'analyse lexicale de l'analyseur lexicale "lex" * d'un fichier source dont la grammaire possede * les symboles terminaux suivants (ecrit en "LEX", UNIX) : - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ - -#include -#include - -#include "vpKeyword.h" -#include "vpMy.h" -#include "vpToken.h" - -#include -#include -#include -#include -#include -#include -#include + */ + +#include // for isalpha, isdigit, isspace +#include // for va_arg, va_end, va_list, va_start +#include // for fwrite, fprintf, NULL, stderr +#include // for free, malloc, atof +#include // for strcpy, strlen + +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpException + +#include "vpKeyword.h" // for get_symbol +#include "vpMy.h" // for Byte +#include "vpToken.h" // for T_FLOAT, T_EOF, T_INT, T_STRING + #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE diff --git a/modules/robot/src/wireframe-simulator/vpMyio.cpp b/modules/robot/src/wireframe-simulator/vpMyio.cpp index b58bac7b60..c7f62b9122 100644 --- a/modules/robot/src/wireframe-simulator/vpMyio.cpp +++ b/modules/robot/src/wireframe-simulator/vpMyio.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -34,19 +33,17 @@ * Les entrees non specifiees sont effectuees * sur le fichier "source" du module "lex.c". * Pour les mots cles des "fprintf_..." voir "token.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include "vpMyio.h" -#include "vpLex.h" -#include "vpToken.h" +#include // for NULL, size_t, printf +#include // for malloc, realloc +#include // for strncpy -#include -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... + +#include "vpMyio.h" +#include "vpLex.h" // for lex, lexerr +#include "vpToken.h" // for T_INT, myint, mylength, T_FLOAT #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -58,7 +55,7 @@ BEGIN_VISP_NAMESPACE * Entree : * fp Nombre flottant a lire. */ -void fscanf_float(float *fp) + void fscanf_float(float *fp) { int t; diff --git a/modules/robot/src/wireframe-simulator/vpMyio.h b/modules/robot/src/wireframe-simulator/vpMyio.h index 9a18b05f01..60efc792ba 100644 --- a/modules/robot/src/wireframe-simulator/vpMyio.h +++ b/modules/robot/src/wireframe-simulator/vpMyio.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,20 +33,16 @@ * Les entrees non specifiees sont effectuees * sur le fichier "source" du module "lex.c". * Pour les mots cles des "fprintf_..." voir "token.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpMyio_h -#define vpMyio_h +#ifndef VP_MY_IO_H +#define VP_MY_IO_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpMy.h" +#include // for Index, Type BEGIN_VISP_NAMESPACE void fscanf_float(float *fp); diff --git a/modules/robot/src/wireframe-simulator/vpParser.cpp b/modules/robot/src/wireframe-simulator/vpParser.cpp index 5ae238dc33..2e0b91ef46 100644 --- a/modules/robot/src/wireframe-simulator/vpParser.cpp +++ b/modules/robot/src/wireframe-simulator/vpParser.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,28 +31,28 @@ * Le module "parser.c" contient les procedures de gestion * de l'analyse syntaxique d'un fichier source dont la grammaire * possede les symboles terminaux de "lex.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include "vpParser.h" -#include "vpBoundio.h" -#include "vpLex.h" -#include "vpSkipio.h" -#include "vpToken.h" +#include // for BEGIN_VISP_NAMESPACE, END_V... -#include #ifndef DOXYGEN_SHOULD_SKIP_THIS +#include "vpParser.h" +#include "vpBoundio.h" // for fscanf_Bound +#include "vpLex.h" // for lex, lexerr, unlex +#include "vpSkipio.h" // for skip_cmd +#include "vpToken.h" // for T_BOUND, T_EOF, T_EXIT, T_I... + +#include // for NULL, fprintf, stderr +#include // for BOUND_NBR + BEGIN_VISP_NAMESPACE /* * La procedure "parser" fait l'analyse syntaxique du fichier source. * Entree/Sortie : * bsp Scene surfacique polygonale a lire. */ -void parser(Bound_scene *bsp) + void parser(Bound_scene *bsp) { int token; diff --git a/modules/robot/src/wireframe-simulator/vpParser.h b/modules/robot/src/wireframe-simulator/vpParser.h index 465ca78f3b..61b82dbd5b 100644 --- a/modules/robot/src/wireframe-simulator/vpParser.h +++ b/modules/robot/src/wireframe-simulator/vpParser.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -32,20 +31,16 @@ * Le module "parser.c" contient les procedures de gestion * de l'analyse syntaxique d'un fichier source dont la grammaire * possede les symboles terminaux de "lex.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpParser_h -#define vpParser_h +#ifndef VP_PARSER_H +#define VP_PARSER_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpBound.h" +#include // for Bound_scene BEGIN_VISP_NAMESPACE void parser(Bound_scene *bsp); diff --git a/modules/robot/src/wireframe-simulator/vpProjection.cpp b/modules/robot/src/wireframe-simulator/vpProjection.cpp index 740d97ab3a..a24650f07e 100644 --- a/modules/robot/src/wireframe-simulator/vpProjection.cpp +++ b/modules/robot/src/wireframe-simulator/vpProjection.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,18 +30,18 @@ * Description: * Le module "projection.c" contient les procedures de calcul * des matrices de projection perspective et parallele. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE, END_VI... #ifndef DOXYGEN_SHOULD_SKIP_THIS + +#include // for fprintf, stderr + #include "vpProjection.h" -#include -#include + +#include // for postmult_matrix, SET_COORD3 +#include // for View_parameters, PARALLEL BEGIN_VISP_NAMESPACE /* @@ -52,7 +51,7 @@ BEGIN_VISP_NAMESPACE * vp Parametres de la prise de vue. * m Matrice homogene a construire. */ -void View_to_Matrix(View_parameters *vp, Matrix m) + void View_to_Matrix(View_parameters *vp, Matrix m) { static char proc_name[] = "View_to_Matrix"; diff --git a/modules/robot/src/wireframe-simulator/vpProjection.h b/modules/robot/src/wireframe-simulator/vpProjection.h index 7f2d81cbf0..71dd481bab 100644 --- a/modules/robot/src/wireframe-simulator/vpProjection.h +++ b/modules/robot/src/wireframe-simulator/vpProjection.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,21 +30,18 @@ * Description: * Le module "projection.c" contient les procedures de calcul * des matrices de projection perspective et parallele. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpProjection_h -#define vpProjection_h +#ifndef VP_PROJECTION_H +#define VP_PROJECTION_H -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpView.h" +#include // for Matrix + +#include "vpView.h" // for View_parameters BEGIN_VISP_NAMESPACE void View_to_Matrix(View_parameters *vp, Matrix m); diff --git a/modules/robot/src/wireframe-simulator/vpRfstack.cpp b/modules/robot/src/wireframe-simulator/vpRfstack.cpp index 2b0073ee54..6bb2e1ab58 100644 --- a/modules/robot/src/wireframe-simulator/vpRfstack.cpp +++ b/modules/robot/src/wireframe-simulator/vpRfstack.cpp @@ -37,15 +37,15 @@ * *****************************************************************************/ -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpMy.h" + #include "vpRfstack.h" -#include "vpView.h" -#include -#include +#include "vpView.h" // for IS_ABOVE, IS_BACK, IS_BELOW, IS_FRONT + +#include // for fprintf, stderr, FILE + #define STACKSIZE 32 static int stack[STACKSIZE] = { vpDEFAULT_REMOVE }; /* pile */ @@ -58,7 +58,7 @@ BEGIN_VISP_NAMESPACE * Entree : * fp Fichier en sortie. */ -void fprintf_rfstack(FILE *fp) + void fprintf_rfstack(FILE *fp) { int flg; flg = 0; /* nul si element unique */ diff --git a/modules/robot/src/wireframe-simulator/vpScene.cpp b/modules/robot/src/wireframe-simulator/vpScene.cpp index 27d8619b73..26fd272eef 100644 --- a/modules/robot/src/wireframe-simulator/vpScene.cpp +++ b/modules/robot/src/wireframe-simulator/vpScene.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -29,11 +28,7 @@ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * Description: - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ #include @@ -161,7 +156,7 @@ void set_scene_wrl(const char *str, Bound_scene *sc, float factor) for (int i = 0; i < nbShapes; i++) { child = sceneGraphVRML2->getChild(i); if (child->getTypeId() == SoVRMLShape::getClassTypeId()) { - int nbFaces = 0; + //int nbFaces = 0; std::list ifs_list; SoChildList *child2list = child->getChildren(); for (int j = 0; j < child2list->getLength(); j++) { @@ -171,7 +166,7 @@ void set_scene_wrl(const char *str, Bound_scene *sc, float factor) face_set = (SoVRMLIndexedFaceSet *)child2list->get(j); extractFaces(face_set, ifs); ifs_list.push_back(ifs); - nbFaces++; + //nbFaces++; } // if (((SoNode*)child2list->get(j))->getTypeId() == // SoVRMLIndexedLineSet::getClassTypeId()) diff --git a/modules/robot/src/wireframe-simulator/vpScene.h b/modules/robot/src/wireframe-simulator/vpScene.h index d059e68eca..0ad1c35252 100644 --- a/modules/robot/src/wireframe-simulator/vpScene.h +++ b/modules/robot/src/wireframe-simulator/vpScene.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,16 +26,10 @@ * * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - * - * Description: - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#ifndef vpScene_h -#define vpScene_h +#ifndef VP_SCENE_H +#define VP_SCENE_H #include diff --git a/modules/robot/src/wireframe-simulator/vpSkipio.cpp b/modules/robot/src/wireframe-simulator/vpSkipio.cpp index 069bcce599..ecc3f978c4 100644 --- a/modules/robot/src/wireframe-simulator/vpSkipio.cpp +++ b/modules/robot/src/wireframe-simulator/vpSkipio.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,20 +31,17 @@ * Le module "skipio.c" contient les procedures d'analyse * syntaxique du fichier "source" qui permettent de traiter * les commandes inconnues. - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpLex.h" -#include "vpMy.h" + +#include // for stderr, NULL, fprintf, fwrite, size_t + #include "vpSkipio.h" -#include "vpToken.h" -#include +#include "vpLex.h" // for lex, lexerr, lexecho, unlex +#include "vpToken.h" // for T_EOF, T_IDENT, mylength, mytext BEGIN_VISP_NAMESPACE /* @@ -54,7 +50,7 @@ BEGIN_VISP_NAMESPACE * Entree : * f Fichier en sortie. */ -void skip_cmd(void) + void skip_cmd(void) { int token; diff --git a/modules/robot/src/wireframe-simulator/vpTmstack.cpp b/modules/robot/src/wireframe-simulator/vpTmstack.cpp index 6a11ef1b80..02d9622b44 100644 --- a/modules/robot/src/wireframe-simulator/vpTmstack.cpp +++ b/modules/robot/src/wireframe-simulator/vpTmstack.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -32,22 +31,18 @@ * Le module "tmstack.c" contient les procedures de gestion * de la pile de matrices de transformation (Transformation * Matrix STACK). - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include "vpTmstack.h" -#include "vpArit.h" -#include "vpMy.h" -#include -#include -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... #ifndef DOXYGEN_SHOULD_SKIP_THIS +#include // for fprintf, stderr +#include // for memmove + +#include "vpTmstack.h" +#include "vpArit.h" // for Vector, Rotate_to_Matrix, postmult3... + #define STACKSIZE 32 BEGIN_VISP_NAMESPACE diff --git a/modules/robot/src/wireframe-simulator/vpTmstack.h b/modules/robot/src/wireframe-simulator/vpTmstack.h index 87e3ec6431..387aaac1ab 100644 --- a/modules/robot/src/wireframe-simulator/vpTmstack.h +++ b/modules/robot/src/wireframe-simulator/vpTmstack.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,20 +31,17 @@ * Le module "tmstack.h" contient les macros, les types et * les specifications des procedures de gestion de la pile * de matrices de transformation (Transformation Matrix STACK). - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ + +#ifndef VP_TM_STACK_H +#define VP_TM_STACK_H -#ifndef vpTmstack_h -#define vpTmstack_h -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpArit.h" -#include "vpMy.h" +#include // for Matrix +#include "vpArit.h" // for Vector BEGIN_VISP_NAMESPACE Matrix *get_tmstack(void); diff --git a/modules/robot/src/wireframe-simulator/vpToken.cpp b/modules/robot/src/wireframe-simulator/vpToken.cpp index 9ef9466a53..d7dd39a1da 100644 --- a/modules/robot/src/wireframe-simulator/vpToken.cpp +++ b/modules/robot/src/wireframe-simulator/vpToken.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,19 +30,15 @@ * Description: * Le module "token.c" contient la declaration des mots cles. * de l'analyseur lexical "lex". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include "vpToken.h" -#include "vpMy.h" - -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... #ifndef DOXYGEN_SHOULD_SKIP_THIS +#include "vpToken.h" +#include // for NULL + BEGIN_VISP_NAMESPACE Keyword keyword_tbl[] = {/* tableau des mots cles termine par NULL*/ {"above", T_ABOVE}, diff --git a/modules/robot/src/wireframe-simulator/vpViewio.cpp b/modules/robot/src/wireframe-simulator/vpViewio.cpp index 27064e3bc3..95f1047099 100644 --- a/modules/robot/src/wireframe-simulator/vpViewio.cpp +++ b/modules/robot/src/wireframe-simulator/vpViewio.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -34,24 +33,21 @@ * Les entrees non specifiees sont effectuees * sur le fichier source de "lex.c". * Pour les mots cles des "fprintf_..." voir "token.c". - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE, END_VI... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include - -#include "vpArit.h" -#include "vpLex.h" -#include "vpMyio.h" -#include "vpSkipio.h" -#include "vpToken.h" #include "vpViewio.h" +#include "vpArit.h" // for fscanf_Point3f, fscanf_Vector +#include "vpLex.h" // for poperr, pusherr, popuperr, lex +#include "vpMyio.h" // for fscanf_float +#include "vpSkipio.h" // for skip_keyword +#include "vpToken.h" // for T_ABOVE, T_BACK, T_BELOW, T_COP +#include "../wireframe-simulator/vpMy.h" // for Byte +#include "../wireframe-simulator/vpView.h" // for IS_ABOVE, IS_BACK, IS_BELOW + BEGIN_VISP_NAMESPACE /* @@ -60,7 +56,7 @@ BEGIN_VISP_NAMESPACE * Entree : * bp Parametres a lire. */ -void fscanf_Remove(Byte *bp) + void fscanf_Remove(Byte *bp) { switch (lex()) { case T_NONE: diff --git a/modules/robot/src/wireframe-simulator/vpVwstack.cpp b/modules/robot/src/wireframe-simulator/vpVwstack.cpp index 0dbe98cb07..f7eeaac710 100644 --- a/modules/robot/src/wireframe-simulator/vpVwstack.cpp +++ b/modules/robot/src/wireframe-simulator/vpVwstack.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,26 +30,24 @@ * Description: * Le module "vwstack.c" contient les procedures de gestion * de la pile des points de vue (VieW STACK). - * - * Authors: - * Jean-Luc CORRE - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include // std::fabs() -#include -#include -#include -#include +#include // for va_arg, va_end +#include // for fprintf, NULL +#include // for strcmp +#include // for fabs +#include // for numeric_limits + +#include // for Type -#include "vpArit.h" -#include "vpMy.h" -#include "vpView.h" #include "vpVwstack.h" +#include "vpArit.h" // for SET_COORD3 +#include "vpMy.h" // for SWAP +#include "vpView.h" // for View_parameters #define STACKSIZE 4 diff --git a/modules/robot/src/wireframe-simulator/vpVwstack.h b/modules/robot/src/wireframe-simulator/vpVwstack.h index 0d572109ab..9194483758 100644 --- a/modules/robot/src/wireframe-simulator/vpVwstack.h +++ b/modules/robot/src/wireframe-simulator/vpVwstack.h @@ -38,14 +38,15 @@ * *****************************************************************************/ -#ifndef vpVwstack_H -#define vpVwstack_H +#ifndef VP_VW_STACK_H +#define VP_VW_STACK_H -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... #ifndef DOXYGEN_SHOULD_SKIP_THIS -#include "vpView.h" +#include // for FILE +#include "vpView.h" // for View_parameters BEGIN_VISP_NAMESPACE void fprintf_vwstack(FILE *fp, char *argv); diff --git a/modules/robot/src/wireframe-simulator/vpWireFrameSimulator.cpp b/modules/robot/src/wireframe-simulator/vpWireFrameSimulator.cpp index 3954cae702..83f180064d 100644 --- a/modules/robot/src/wireframe-simulator/vpWireFrameSimulator.cpp +++ b/modules/robot/src/wireframe-simulator/vpWireFrameSimulator.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,42 +29,52 @@ * * Description: * Wire frame simulator - * -*****************************************************************************/ + */ /*! \file vpWireFrameSimulator.cpp \brief Implementation of a wire frame simulator. */ -#include -#include -#include -#include -#include - -#include "vpArit.h" -#include "vpBound.h" -#include "vpClipping.h" -#include "vpCoreDisplay.h" -#include "vpKeyword.h" -#include "vpLex.h" -#include "vpMy.h" -#include "vpParser.h" -#include "vpProjection.h" -#include "vpRfstack.h" -#include "vpScene.h" -#include "vpTmstack.h" -#include "vpToken.h" -#include "vpView.h" -#include "vpVwstack.h" - -#include -#include -#include -#include -#include -#include +#include // for FILENAME_MAX, NULL +#include // for strcat, strcpy +#include // for fabs +#include // for basic_ostream +#include // for numeric_limits +#include // for list, operator!= +#include // for basic_string, cha... +#include // for vector + +#include // for BEGIN_VISP_NAMESPACE +#include // for vpERROR_TRACE +#include // for vpException +#include // for vpIoTools +#include // for vpMeterPixelConve... +#include // for vpPoint +#include // for vpWireFrameSimulator +#include // for vpArray2D +#include // for vpColor +#include // for vpDisplay +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImagePoint, ope... +#include // for vpImage::operator= +#include // for vpMath +#include // for vpMouseButton +#include // for vpRGBa +#include // for vpImageSimulator +#include // for Matrix, Bound, Face +#include "vpArit.h" // for Point2i, postmult... +#include "vpBound.h" // for free_Bound_scene +#include "vpClipping.h" // for clipping_Bound +#include "vpCoreDisplay.h" // for point_3D_2D, set_... +#include "vpMy.h" // for Byte +#include "vpProjection.h" // for View_to_Matrix +#include "vpRfstack.h" // for add_rfstack, get_... +#include "vpScene.h" // for vp2jlc_matrix +#include "vpTmstack.h" // for get_tmstack +#include "vpView.h" // for PERSPECTIVE, IS_BACK +#include "vpVwstack.h" // for add_vwstack, get_... BEGIN_VISP_NAMESPACE extern Point2i *point2i; diff --git a/modules/sensor/src/framegrabber/v4l2/vpV4l2Grabber.cpp b/modules/sensor/src/framegrabber/v4l2/vpV4l2Grabber.cpp index ed2657017f..6f2651a846 100644 --- a/modules/sensor/src/framegrabber/v4l2/vpV4l2Grabber.cpp +++ b/modules/sensor/src/framegrabber/v4l2/vpV4l2Grabber.cpp @@ -52,12 +52,16 @@ #include #include -#include -#include -#include -//#include -#include -#include + +#include // for BEGIN_VISP_NAMESPACE +#include // for vpERROR_TRACE +#include // for vpFrameGrabberException +#include // for vpImageConvert +#include // for vpImageTools +#include // for vpV4l2Grabber, vpV4l... +#include // for vpImage +#include // for vpRGBa +#include // for vpRect BEGIN_VISP_NAMESPACE const unsigned int vpV4l2Grabber::DEFAULT_INPUT = 2; diff --git a/modules/sensor/src/laserscanner/sick/vpSickLDMRS.cpp b/modules/sensor/src/laserscanner/sick/vpSickLDMRS.cpp index 419ee1cab1..83b1189236 100644 --- a/modules/sensor/src/laserscanner/sick/vpSickLDMRS.cpp +++ b/modules/sensor/src/laserscanner/sick/vpSickLDMRS.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,8 +29,7 @@ * * Description: * Sick LD-MRS laser driver on UNIX platform. - * -*****************************************************************************/ + */ /*! @@ -49,16 +47,20 @@ #include #include #include -#include -#include -#include -#include -//#include #include #include #include #include +#include // for vpMath +#include // for measureTimeSecond +#include // for vpSickLDMRS +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VISP... +#include // for vpException +#include // for vpLaserScan +#include // for vpScanPoint + BEGIN_VISP_NAMESPACE /*! diff --git a/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPose.h b/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPose.h index fbfb9c1138..3e476211df 100644 --- a/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPose.h +++ b/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPose.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,10 +29,10 @@ * * Description: * MegaPose wrapper. - * -*****************************************************************************/ -#ifndef _vpMegaPose_h_ -#define _vpMegaPose_h_ + */ + +#ifndef VP_MEGAPOSE_H +#define VP_MEGAPOSE_H #include #if defined(VISP_HAVE_NLOHMANN_JSON) && defined(VISP_HAVE_THREADS) diff --git a/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPoseTracker.h b/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPoseTracker.h index 155b1f2392..82cebc54ab 100644 --- a/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPoseTracker.h +++ b/modules/tracker/dnn/include/visp3/dnn_tracker/vpMegaPoseTracker.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,11 +29,10 @@ * * Description: * Tracker based on MegaPose. - * -*****************************************************************************/ + */ -#ifndef _vpMegaPoseTracker_h_ -#define _vpMegaPoseTracker_h_ +#ifndef VP_MEGAPOSE_TRACKER_H +#define VP_MEGAPOSE_TRACKER_H #include #if defined(VISP_HAVE_NLOHMANN_JSON) && defined(VISP_HAVE_THREADS) diff --git a/modules/tracker/dnn/src/vpMegaPose.cpp b/modules/tracker/dnn/src/vpMegaPose.cpp index be446638e8..70ebca2d6e 100644 --- a/modules/tracker/dnn/src/vpMegaPose.cpp +++ b/modules/tracker/dnn/src/vpMegaPose.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,31 +29,48 @@ * * Description: * MegaPose wrapper. - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_NLOHMANN_JSON) && defined(VISP_HAVE_THREADS) -#include +#include // for vpCameraParameters +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpRGBa +#include // for vpRect +#include // for vpMegaPose, to_megapose_... #if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) // UNIX -#include -#include -#include -#include -#include +#include // for htonl, ntohl, htons, ine... +#include // for sockaddr_in +#include // for send, AF_INET, connect +#include // for read, close #else #include #include #include // for inet_pton() #endif -#include -#include -#include +#include // for mutex, lock_guard + +#include VISP_NLOHMANN_JSON(json.hpp) // for basic_json +#include VISP_NLOHMANN_JSON(json_fwd.hpp) // for json + using json = nlohmann::json; //! json namespace shortcut +#include // for assert +#include // for uint8_t, uint32_t, uint16_t +#include // for memcpy, size_t +#include // for isnan +#include // for operator== +#include // for basic_string, allocator +#include // for tie, tuple +#include // for unordered_map, _Node_con... +#include // for pair, make_pair +#include // for vector + BEGIN_VISP_NAMESPACE //// Network message utils @@ -394,7 +410,7 @@ vpMegaPose::vpMegaPose(const std::string &host, int port, const vpCameraParamete throw vpException(vpException::ioError, "Could not connect to server at " + host + ":" + std::to_string(port)); } setIntrinsics(cam, height, width); -} + } vpMegaPose::~vpMegaPose() { diff --git a/modules/tracker/dnn/src/vpMegaPoseTracker.cpp b/modules/tracker/dnn/src/vpMegaPoseTracker.cpp index 968eea70fb..8e0d14ace0 100644 --- a/modules/tracker/dnn/src/vpMegaPoseTracker.cpp +++ b/modules/tracker/dnn/src/vpMegaPoseTracker.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,17 +29,28 @@ * * Description: * Tracker based on MegaPose. - * -*****************************************************************************/ + */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_NLOHMANN_JSON) && defined(VISP_HAVE_THREADS) -#include -#include +#include // for vpMegaPoseTracker +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpRect +#include // for vpMegaPoseEstimate + +#include // for async, launch, future +#include // for __shared_ptr_access +#include // for basic_string +#include // for vector BEGIN_VISP_NAMESPACE + +class vpRGBa; +template class vpImage; + std::future vpMegaPoseTracker::init(const vpImage &I, const vpRect &bb) { return std::async(std::launch::async, [&I, &bb, this]() -> vpMegaPoseEstimate { diff --git a/modules/tracker/klt/include/visp3/klt/vpKltOpencv.h b/modules/tracker/klt/include/visp3/klt/vpKltOpencv.h index 98bb462da4..8f17b76c2e 100644 --- a/modules/tracker/klt/include/visp3/klt/vpKltOpencv.h +++ b/modules/tracker/klt/include/visp3/klt/vpKltOpencv.h @@ -39,18 +39,21 @@ implemented with opencv. */ -#ifndef _vpKltOpencv_h_ -#define _vpKltOpencv_h_ +#ifndef VP_KLT_OPENCV_H +#define VP_KLT_OPENCV_H #include #include #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_HIGHGUI, HAV... +#endif + #if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_HIGHGUI) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) -#include -#include -#include +#include // for Mat, _OutputArray, _Inpu... +#include // for Point2f, Point_, TermCri... BEGIN_VISP_NAMESPACE /*! @@ -150,8 +153,8 @@ class VISP_EXPORT vpKltOpencv * \param thickness : Thickness of the points */ static void display(const vpImage &I, const std::vector &features, - const std::vector &featuresid, const vpColor &color = vpColor::green, - unsigned int thickness = 1); + const std::vector &featuresid, const vpColor &color = vpColor::green, + unsigned int thickness = 1); /*! * Display features list with ids. * diff --git a/modules/tracker/klt/src/vpKltOpencv.cpp b/modules/tracker/klt/src/vpKltOpencv.cpp index 66a4e4de3d..1f26bbbd56 100644 --- a/modules/tracker/klt/src/vpKltOpencv.cpp +++ b/modules/tracker/klt/src/vpKltOpencv.cpp @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,17 +39,42 @@ implemented with opencv. */ -#include +#include // for BEGIN_VISP_NAMESPACE + +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_HIGHGUI, HAV... +#endif #if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_HIGHGUI) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) -#include +#include // for basic_ostringstream, bas... +#include // for allocator, basic_string +#include // for vector, swap +#include // for size_t + +#include // for swap +#include // for uchar +#include // for Mat, _OutputArray, _Inpu... +#include // for _OutputArray::_OutputArray +#include // for Depth<>::value, Type<>::... +#include // for Point2f, Point_, TermCri... +#include // for cornerSubPix, goodFeatur... +#include // for calcOpticalFlowPyrLK + +#include // for vpDisplay +#include // for vpTrackingException +#include // for vpKltOpencv +#include // for vpException +#include // for vpImagePoint +#include // for vpMath -#include -#include -#include BEGIN_VISP_NAMESPACE + +class vpColor; +class vpRGBa; +template class vpImage; + vpKltOpencv::vpKltOpencv() : m_gray(), m_prevGray(), m_points_id(), m_maxCount(500), m_termcrit(), m_winSize(10), m_qualityLevel(0.01), m_minDistance(15), m_minEigThreshold(1e-4), m_harris_k(0.04), m_blockSize(3), m_useHarrisDetector(1), diff --git a/modules/tracker/mbt/include/visp3/mbt/vpMbEdgeKltTracker.h b/modules/tracker/mbt/include/visp3/mbt/vpMbEdgeKltTracker.h index 4b9093665e..c4fde25b44 100644 --- a/modules/tracker/mbt/include/visp3/mbt/vpMbEdgeKltTracker.h +++ b/modules/tracker/mbt/include/visp3/mbt/vpMbEdgeKltTracker.h @@ -36,11 +36,15 @@ * \brief Hybrid tracker based on edges (vpMbt) and points of interests (KLT) */ -#ifndef _vpMbEdgeKltTracker_h_ -#define _vpMbEdgeKltTracker_h_ +#ifndef VP_MB_EDGE_KLT_TRACKER_H +#define VP_MB_EDGE_KLT_TRACKER_H #include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif + #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) #include diff --git a/modules/tracker/mbt/include/visp3/mbt/vpMbGenericTracker.h b/modules/tracker/mbt/include/visp3/mbt/vpMbGenericTracker.h index 6983bc0c33..70d7834e63 100644 --- a/modules/tracker/mbt/include/visp3/mbt/vpMbGenericTracker.h +++ b/modules/tracker/mbt/include/visp3/mbt/vpMbGenericTracker.h @@ -39,14 +39,67 @@ #ifndef VP_MB_GENERIC_TRACKER_H #define VP_MB_GENERIC_TRACKER_H -#include -#include -#include -#include -#include -#include +#include // for isnan +#include // for list +#include // for map, operator==, opera... +#include // for string, basic_string +#include // for vector + +#include // for VP_OVERRIDE, VISP_HAVE... +#include // for flagsToJSON, flagsFrom... +#include // for vpMbDepthDenseTracker +#include // for vpMbDepthNormalTracker +#include // for vpMbEdgeTracker +#include // for vpMbKltTracker + +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif + +#if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) +#include // for Point2f +#endif + +#include // for vpCameraParameters (pt... +#include // for vpColVector +#include // for vpHomogeneousMatrix +#include // for vpImage (ptr only), swap +#include // for vpImagePoint +#include // for vpImage::operator= +#include // for vpMath +#include // for vpMatrix +#include // for clippingFlagsToJSON +#include // for vpKltOpencv +#include // for vpMbHiddenFaces +#include // for vpMbScanLine +#include // for vpMbTracker +#include // for vpMbtFaceDepthNormal +#include // for vpMbtPolygon +#include // for from_json, to_json, vpMe +#include // for VISP_HAVE_MODULE_KLT + +#ifdef VISP_HAVE_NLOHMANN_JSON +#include VISP_NLOHMANN_JSON(json.hpp) +#endif + +#if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_COMMON) +namespace pcl { struct PointXYZ; } +#include // for PointCloud +#endif BEGIN_VISP_NAMESPACE + +class vpColor; +class vpMbtDistanceCircle; +class vpMbtDistanceCylinder; +class vpMbtDistanceKltCylinder; +class vpMbtDistanceKltPoints; +class vpMbtDistanceLine; +class vpPoint; +class vpPolygon; +class vpRGBa; +class vpVelocityTwistMatrix; + /*! * \class vpMbGenericTracker * \ingroup group_mbt_trackers @@ -512,8 +565,8 @@ class VISP_EXPORT vpMbGenericTracker : public vpMbTracker virtual void setGoodMovingEdgesRatioThreshold(double threshold); #ifdef VISP_HAVE_OGRE - virtual void setGoodNbRayCastingAttemptsRatio(const double &ratio); - virtual void setNbRayCastingAttemptsForVisibility(const unsigned int &attempts); + virtual void setGoodNbRayCastingAttemptsRatio(const double &ratio) VP_OVERRIDE;; + virtual void setNbRayCastingAttemptsForVisibility(const unsigned int &attempts) VP_OVERRIDE;; #endif #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) diff --git a/modules/tracker/mbt/include/visp3/mbt/vpMbtMeEllipse.h b/modules/tracker/mbt/include/visp3/mbt/vpMbtMeEllipse.h index edb1be5939..1ca28ac671 100644 --- a/modules/tracker/mbt/include/visp3/mbt/vpMbtMeEllipse.h +++ b/modules/tracker/mbt/include/visp3/mbt/vpMbtMeEllipse.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,17 +36,20 @@ * \brief Moving edges on an ellipse */ -#ifndef vpMbtMeEllipse_HH -#define vpMbtMeEllipse_HH +#ifndef VP_MBT_ME_ELLIPSE_H +#define VP_MBT_ME_ELLIPSE_H -#include -#include - -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAM... +#include // for vpMeEllipse +#include // for vpMeTracker #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE + +class vpImagePoint; +class vpMatrix; +template class vpImage; + /*! * \class vpMbtMeEllipse * \ingroup group_mbt_features diff --git a/modules/tracker/mbt/src/depth/vpMbDepthDenseTracker.cpp b/modules/tracker/mbt/src/depth/vpMbDepthDenseTracker.cpp index eca0f50f93..814ec41605 100644 --- a/modules/tracker/mbt/src/depth/vpMbDepthDenseTracker.cpp +++ b/modules/tracker/mbt/src/depth/vpMbDepthDenseTracker.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,28 +29,54 @@ * * Description: * Model-based tracker using depth dense features. - * -*****************************************************************************/ + */ -#include +#include // for size_t +#include // for fabs, sqrt +#include // for basic_ostream, char_tr... +#include // for __shared_ptr_access +#include // for basic_string, string +#include // for vector -#include +#include // for VISP_HAVE_PCL, VISP_HA... #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_COMMON) -#include +#include // for PointCloud +namespace pcl { struct PointXYZ; } #endif -#include -#include -#include -#include -#include +#include // for vpDisplay +#include // for vpExponentialMap +#include // for vpMbDepthDenseTracker +#include // for vpMbtXmlGenericParser +#include // for vpAROgre +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for swap, vpImage +#include // for vpImageConvert +#include // for vpImagePoint +#include // for vpImage::operator= +#include // for vpMath +#include // for vpMatrix +#include // for vpPlane, vpPlane::obje... +#include // for vpPoint +#include // for vpPolygon3D, vpPolygon... +#include // for vpVelocityTwistMatrix +#include // for vpMbHiddenFaces +#include // for vpMbTracker, vpMbTrack... +#include // for vpMbtFaceDepthDense +#include // for vpMbtPolygon +#include // for vpMbtTukeyEstimator #if DEBUG_DISPLAY_DEPTH_DENSE #include #include #endif + BEGIN_VISP_NAMESPACE vpMbDepthDenseTracker::vpMbDepthDenseTracker() : m_depthDenseHiddenFacesDisplay(), m_depthDenseListOfActiveFaces(), m_denseDepthNbFeatures(0), m_depthDenseFaces(), diff --git a/modules/tracker/mbt/src/depth/vpMbDepthNormalTracker.cpp b/modules/tracker/mbt/src/depth/vpMbDepthNormalTracker.cpp index 24fba54627..eb70dad64d 100644 --- a/modules/tracker/mbt/src/depth/vpMbDepthNormalTracker.cpp +++ b/modules/tracker/mbt/src/depth/vpMbDepthNormalTracker.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,28 +29,56 @@ * * Description: * Model-based tracker using depth normal features. - * -*****************************************************************************/ + */ -#include +#include // for size_t +#include // for fabs, sqrt +#include // for basic_ostream, char_tr... +#include // for __shared_ptr_access +#include // for basic_string, string +#include // for vector -#include + +#include // for VISP_HAVE_PCL, VISP_HA... #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_COMMON) -#include +#include // for PointCloud +namespace pcl { struct PointXYZ; } #endif -#include -#include -#include -#include -#include +#include // for vpDisplay +#include // for vpExponentialMap +#include // for vpAROgre +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for vpException +#include // for vpHomogeneousMatrix +#include // for vpImage, swap +#include // for vpImageConvert +#include // for vpImagePoint +#include // for vpImage::operator= +#include // for vpMath +#include // for vpMatrix +#include // for vpPlane, vpPlane::obje... +#include // for vpPoint +#include // for vpPolygon3D, vpPolygon... +#include // for vpRobust +#include // for vpVelocityTwistMatrix +#include // for vpMbHiddenFaces +#include // for vpMbTracker, vpMbTrack... +#include // for vpMbDepthNormalTracker +#include // for vpMbtXmlGenericParser +#include // for vpMbtFaceDepthNormal +#include // for vpMbtPolygon #if DEBUG_DISPLAY_DEPTH_NORMAL #include #include #endif + BEGIN_VISP_NAMESPACE vpMbDepthNormalTracker::vpMbDepthNormalTracker() : m_depthNormalFeatureEstimationMethod(vpMbtFaceDepthNormal::ROBUST_FEATURE_ESTIMATION), diff --git a/modules/tracker/mbt/src/depth/vpMbtFaceDepthDense.cpp b/modules/tracker/mbt/src/depth/vpMbtFaceDepthDense.cpp index 40d50572a1..78f5f939a9 100644 --- a/modules/tracker/mbt/src/depth/vpMbtFaceDepthDense.cpp +++ b/modules/tracker/mbt/src/depth/vpMbtFaceDepthDense.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,14 +29,45 @@ * * Description: * Manage depth dense features for a particular face. - * -*****************************************************************************/ - -#include -#include + */ + +#include // for size_t +#include // for max, min +#include // for fabs, sqrt, isfinite +#include // for numeric_limits +#include // for list, operator!=, _Li... +#include // for __shared_ptr_access +#include // for basic_string, string +#include // for pair +#include // for vector + +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for VISP_HAVE_OPENCV_VERSION +#include // for checkNeon, checkSSE2 +#include // for vpDisplay +#include // for vpImage +#include // for vpImagePoint +#include // for vpMatrix +#include // for vpMeterPixelConversion +#include // for vpPlane +#include // for vpPoint +#include // for vpPolygon +#include // for vpPolygon3D, vpPolygo... +#include // for vpRect +#include // for vpRowVector +#include // for vpMbHiddenFaces +#include // for vpMbScanLine +#include // for vpMbtDistanceLine +#include // for vpMbtPolygon +#include // for vpMbtFaceDepthDense +#include // for vpMeTracker #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_COMMON) -#include +#include // for isFinite +#include // for PointCloud +#include // for PointXYZ #endif #if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2) @@ -76,8 +106,7 @@ #if (VISP_HAVE_OPENCV_VERSION >= 0x040101 || (VISP_HAVE_OPENCV_VERSION < 0x040000 && VISP_HAVE_OPENCV_VERSION >= 0x030407)) && USE_SIMD_CODE #define USE_OPENCV_HAL 1 -#include -#include +#include // for v_float64x2, operator* #endif #if !USE_OPENCV_HAL && (USE_SSE || USE_NEON) @@ -158,6 +187,12 @@ inline float64x2_t v_fma(const float64x2_t &a, const float64x2_t &b, const float #endif // !USE_OPENCV_HAL && (USE_SSE || USE_NEON) BEGIN_VISP_NAMESPACE + +class vpColor; +class vpHomogeneousMatrix; +class vpRGBa; +class vpUniRand; + vpMbtFaceDepthDense::vpMbtFaceDepthDense() : m_cam(), m_clippingFlag(vpPolygon3D::NO_CLIPPING), m_distFarClip(100), m_distNearClip(0.001), m_hiddenFace(nullptr), m_planeObject(), m_polygon(nullptr), m_useScanLine(false), diff --git a/modules/tracker/mbt/src/depth/vpMbtFaceDepthNormal.cpp b/modules/tracker/mbt/src/depth/vpMbtFaceDepthNormal.cpp index 9be38b48b4..4161568084 100644 --- a/modules/tracker/mbt/src/depth/vpMbtFaceDepthNormal.cpp +++ b/modules/tracker/mbt/src/depth/vpMbtFaceDepthNormal.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,19 +29,65 @@ * * Description: * Manage depth normal features for a particular face. - * -*****************************************************************************/ + */ -#include -#include -#include +#include // for VISP_HAVE_PCL #if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_SEGMENTATION) && defined(VISP_HAVE_PCL_FILTERS) && defined(VISP_HAVE_PCL_COMMON) -#include -#include -#include +#include // for ModelCoefficients +#include // for PointIndices +#include // for isFinite +#include // for PCLException +#include // for ExtractIndices +#include // for PCL_VERSION_COM... +#include // for PointCloud +#include // for SacModel +#include // for SACSegmentation +#include // for computeCentroid +#include // for PointXYZ #endif +#include // for checkSSE2 +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpHomogeneousMa... +#include // for vpImage +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpMeterPixelCon... +#include // for vpPixelMeterCon... +#include // for vpPlane +#include // for vpPoint +#include // for vpPolygon +#include // for vpPolygon3D +#include // for vpRect +#include // for vpTranslationVe... +#include // for vpMbHiddenFaces +#include // for vpMbScanLine +#include // for vpMbtDistanceLine +#include // for vpMbtPolygon +#include // for vpMbtFaceDepthN... +#include // for vpMbtTukeyEstim... +#include // for vpMeTracker + + +#include // for size_t +#include // for max, min, fill_n +#include // for fabs, acos, sqrt +#include // for basic_ostream +#include // for pair +#include // for numeric_limits +#include // for list, operator!= +#include // for __shared_ptr_ac... +#include // for char_traits +#include // for pair +#include // for vector + #if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2) #include #define VISP_HAVE_SSE2 1 @@ -56,6 +101,10 @@ #endif BEGIN_VISP_NAMESPACE + +class vpRGBa; +class vpUniRand; + vpMbtFaceDepthNormal::vpMbtFaceDepthNormal() : m_cam(), m_clippingFlag(vpPolygon3D::NO_CLIPPING), m_distFarClip(100), m_distNearClip(0.001), m_hiddenFace(nullptr), m_planeObject(), m_polygon(nullptr), m_useScanLine(false), m_faceActivated(false), diff --git a/modules/tracker/mbt/src/edge/vpMbEdgeTracker.cpp b/modules/tracker/mbt/src/edge/vpMbEdgeTracker.cpp index 412de6bee0..bc41e41da7 100644 --- a/modules/tracker/mbt/src/edge/vpMbEdgeTracker.cpp +++ b/modules/tracker/mbt/src/edge/vpMbEdgeTracker.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,35 +29,60 @@ * * Description: * Make the complete tracking of an object by using its CAD model - * -*****************************************************************************/ + */ /*! \file vpMbEdgeTracker.cpp \brief Make the complete tracking of an object by using its CAD model. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include +#include // for size_t +#include // for fabs, pow, sqrt +#include // for cerr, cout +#include // for numeric_limits +#include // for list, operator!=, _Lis... +#include // for basic_ostream, basic_o... +#include // for basic_string, char_traits +#include // for vector + +#include // for vpERROR_TRACE, vpTRACE +#include // for vpException +#include // for vpExponentialMap +#include // for vpMath +#include // for vpPolygon3D, vpPolygon... +#include // for vpTrackingException +#include // for vpVelocityTwistMatrix +#include // for vpAROgre +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for VISP_HAVE_OGRE, BEGIN_... +#include // for vpDisplay +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImageConvert +#include // for vpImagePoint +#include // for vpMatrix, operator* +#include // for vpPoint +#include // for vpRobust, vpRobust::TUKEY +#include // for vpMbHiddenFaces +#include // for vpMbTracker, vpMbTrack... +#include // for vpMbtDistanceCircle +#include // for vpMbtDistanceCylinder +#include // for vpMbtMeEllipse +#include // for vpMbtMeLine +#include // for vpMbtPolygon +#include // for vpMbEdgeTracker +#include // for vpMbtDistanceLine +#include // for vpMbtXmlGenericParser +#include // for vpMe +#include // for vpMeSite, vpMeSite::NO... BEGIN_VISP_NAMESPACE + +class vpRGBa; + /*! Basic constructor */ diff --git a/modules/tracker/mbt/src/edge/vpMbtDistanceCircle.cpp b/modules/tracker/mbt/src/edge/vpMbtDistanceCircle.cpp index 8ef70deb48..c3167981c3 100644 --- a/modules/tracker/mbt/src/edge/vpMbtDistanceCircle.cpp +++ b/modules/tracker/mbt/src/edge/vpMbtDistanceCircle.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,28 +30,46 @@ * Description: * Make the complete tracking of an object by using its CAD model. Circle * tracking. - * -*****************************************************************************/ - -#include + */ /*! \file vpMbtDistanceCircle.cpp \brief Make the complete tracking of an object by using its CAD model. */ -#include -#include - -#include -#include -#include -#include -#include -#include -#include +#include // for basic_ostream +#include // for list, operator!= +#include // for vector + +#include // for BEGIN_VISP_NAMES... +#include // for vpMeterPixelConv... +#include // for vpPixelMeterConv... +#include // for vpPlane, vpPlane... +#include // for vpArray2D +#include // for vpCircle +#include // for vpColVector +#include // for vpDEBUG_ENABLE +#include // for vpDisplay +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpPoint +#include // for vpRowVector +#include // for vpMbtMeEllipse +#include // for vpMbtDistanceCircle +#include // for vpMe +#include // for vpMeSite +#include // for vpFeatureBuilder +#include // for vpFeatureEllipse BEGIN_VISP_NAMESPACE + +class vpCameraParameters; +class vpColor; +class vpHomogeneousMatrix; +class vpRGBa; +template class vpImage; + /*! Basic constructor */ diff --git a/modules/tracker/mbt/src/edge/vpMbtDistanceCylinder.cpp b/modules/tracker/mbt/src/edge/vpMbtDistanceCylinder.cpp index 359b8f3560..01530482af 100644 --- a/modules/tracker/mbt/src/edge/vpMbtDistanceCylinder.cpp +++ b/modules/tracker/mbt/src/edge/vpMbtDistanceCylinder.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -31,32 +30,44 @@ * Description: * Make the complete tracking of an object by using its CAD model. Cylinder * tracking. - * - * Authors: - * Romain Tallonneau - * Bertrand Delabarre - * -*****************************************************************************/ - -#include + */ /*! \file vpMbtDistanceCylinder.cpp \brief Make the complete tracking of an object by using its CAD model. */ -#include -#include -#include -#include -#include -#include -#include -#include - -#include +#include // for M_PI, cos, sin +#include // for size_t +#include // for basic_ostream +#include // for list, _List_cons... +#include // for vector + +#include // for VISP_CXX_STANDARD +#include // for vpMeterPixelConv... +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpCircle +#include // for vpColVector +#include // for vpColor +#include // for vpCylinder, vpCy... +#include // for vpDisplay +#include // for vpImage +#include // for vpImagePoint +#include // for vpMatrix +#include // for vpPoint +#include // for vpMbtMeLine +#include // for vpMbtDistanceCyl... +#include // for vpMeSite +#include // for vpFeatureLine +#include // for vpFeatureBuilder BEGIN_VISP_NAMESPACE + +class vpHomogeneousMatrix; +class vpMe; +class vpRGBa; + /*! Basic constructor */ diff --git a/modules/tracker/mbt/src/edge/vpMbtDistanceLine.cpp b/modules/tracker/mbt/src/edge/vpMbtDistanceLine.cpp index 167a725265..a014d3478a 100644 --- a/modules/tracker/mbt/src/edge/vpMbtDistanceLine.cpp +++ b/modules/tracker/mbt/src/edge/vpMbtDistanceLine.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,25 +29,50 @@ * * Description: * Make the complete tracking of an object by using its CAD model - * - * Authors: - * Romain Tallonneau - * -*****************************************************************************/ -#include + */ /*! \file vpMbtDistanceLine.cpp \brief Make the complete tracking of an object by using its CAD model. */ -#include -#include -#include -#include -#include +#include // for size_t +#include // for M_PI, cos, fabs +#include // for numeric_limits +#include // for list, operator!= +#include // for basic_string +#include // for pair, make_pair +#include // for vector + +#include // for VISP_CXX_STANDARD +#include // for vpMeterPixelConv... +#include // for vpPlane +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpDisplay +#include // for vpImage +#include // for vpImagePoint +#include // for vpLine +#include // for vpMatrix +#include // for vpPoint +#include // for vpPolygon3D, vpP... +#include // for vpUniRand +#include // for vpMbtDistanceLine +#include // for vpMbHiddenFaces +#include // for vpMbtMeLine +#include // for vpMbtPolygon +#include // for vpMeSite +#include // for vpFeatureLine +#include // for vpFeatureBuilder BEGIN_VISP_NAMESPACE + +class vpColor; +class vpHomogeneousMatrix; +class vpMe; +class vpRGBa; + void buildPlane(vpPoint &P, vpPoint &Q, vpPoint &R, vpPlane &plane); void buildLine(vpPoint &P1, vpPoint &P2, vpPoint &P3, vpPoint &P4, vpLine &L); diff --git a/modules/tracker/mbt/src/edge/vpMbtMeEllipse.cpp b/modules/tracker/mbt/src/edge/vpMbtMeEllipse.cpp index ffe8b37113..bb96167c91 100644 --- a/modules/tracker/mbt/src/edge/vpMbtMeEllipse.cpp +++ b/modules/tracker/mbt/src/edge/vpMbtMeEllipse.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,22 +29,34 @@ * * Description: * Moving edges. - * -*****************************************************************************/ + */ + +#include // for BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS +#include // for vpDERROR_TRACE +#include // for vpImagePoint +#include // for vpTrackingException +#include // for vpArray2D +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpImage +#include // for vpMath +#include // for vpMatrix +#include // for vpMe +#include // for vpMeEllipse +#include // for vpMeSite, vpMeSite::NO_S... +#include // for vpMeTracker #include -#include -#include -#include -#include -#include - -#include // (std::min) -#include // std::fabs -#include // numeric_limits +#include // for min +#include // for cos, sin, M_PI, acos, fabs +#include // for basic_ostream, operator<< +#include // for numeric_limits +#include // for _List_iterator, list BEGIN_VISP_NAMESPACE /*! diff --git a/modules/tracker/mbt/src/edge/vpMbtMeLine.cpp b/modules/tracker/mbt/src/edge/vpMbtMeLine.cpp index bf99e47adf..9a3c6b883d 100644 --- a/modules/tracker/mbt/src/edge/vpMbtMeLine.cpp +++ b/modules/tracker/mbt/src/edge/vpMbtMeLine.cpp @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,21 +31,36 @@ * Make the complete tracking of an object by using its CAD model */ -#include +#include // for BEGIN_VISP_NAMESPACE + #ifndef DOXYGEN_SHOULD_SKIP_THIS /*! \file vpMbtMeLine.cpp \brief Make the complete tracking of an object by using its CAD model. */ -#include // (std::min) -#include // std::fabs -#include // numeric_limits - -#include -#include -#include -#include + +#include // for vpCDEBUG, vpDEBUG_ENABLE +#include // for vpTrackingException +#include // for vpArray2D +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpImage +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpMe +#include // for vpMeSite, vpMeSite::NO_S... +#include // for vpMeTracker +#include // for vpMbtMeLine + +#include // for size_t +#include // for min +#include // for fabs, cos, sin, M_PI, sqrt +#include // for numeric_limits +#include // for list, _List_const_iterator +#include // for basic_ostream, char_traits BEGIN_VISP_NAMESPACE //! Normalize an angle between -Pi and Pi diff --git a/modules/tracker/mbt/src/hybrid/vpMbEdgeKltTracker.cpp b/modules/tracker/mbt/src/hybrid/vpMbEdgeKltTracker.cpp index a90d858afa..83e42d6774 100644 --- a/modules/tracker/mbt/src/hybrid/vpMbEdgeKltTracker.cpp +++ b/modules/tracker/mbt/src/hybrid/vpMbEdgeKltTracker.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,20 +29,73 @@ * * Description: * Hybrid tracker based on edges (vpMbt) and points of interests (KLT) - * -*****************************************************************************/ + */ //#define VP_DEBUG_MODE 1 // Activate debug level 1 -#include -#include -#include -#include -#include +#include // for VISP_HAVE_OGRE, BEGI... +#include // for VISP_HAVE_MODULE_KLT + +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) +#include // for vpERROR_TRACE +#include // for vpTrackingException +#include // for vpVelocityTwistMatrix +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpExponentialMap +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImageConvert +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpPolygon3D, vpPolyg... +#include // for vpRobust, vpRobust::... +#include // for vpSubColVector +#include // for vpSubMatrix +#include // for vpKltOpencv +#include // for vpMbEdgeTracker +#include // for vpMbHiddenFaces +#include // for vpMbKltTracker +#include // for vpMbScanLine +#include // for vpMbTracker +#include // for vpMbtDistanceCircle +#include // for vpMbtDistanceCylinder +#include // for vpMbtDistanceKltCyli... +#include // for vpMbtDistanceKltPoints +#include // for vpMbtDistanceLine +#include // for vpMbtMeEllipse +#include // for vpMbtMeLine +#include // for vpMbtPolygon +#include // for vpMbEdgeKltTracker +#include // for vpMbtXmlGenericParser + +#include // for vpAROgre +#include // for vpMe +#include // for vpMeSite, vpMeSite::... +#include // for vpHomography + +#include // for fabs, sqrt +#include // for size_t +#include // for basic_ostream, basic... +#include // for list, operator!= +#include // for basic_stringstream +#include // for allocator, basic_string +#include // for vector + BEGIN_VISP_NAMESPACE + +class vpRGBa; + vpMbEdgeKltTracker::vpMbEdgeKltTracker() : m_thresholdKLT(2.), m_thresholdMBT(2.), m_maxIterKlt(30), m_w_mbt(), m_w_klt(), m_error_hybrid(), m_w_hybrid() { diff --git a/modules/tracker/mbt/src/klt/vpMbKltTracker.cpp b/modules/tracker/mbt/src/klt/vpMbKltTracker.cpp index 92b0bc55e9..4087c70192 100644 --- a/modules/tracker/mbt/src/klt/vpMbKltTracker.cpp +++ b/modules/tracker/mbt/src/klt/vpMbKltTracker.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,24 +29,82 @@ * * Description: * Model based tracker using only KLT - * -*****************************************************************************/ + */ + +#include // for VISP_HAVE_OGRE, BEGI... +#include // for VISP_HAVE_MODULE_KLT -#include -#include -#include -#include -#include -#include +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) +#include // for fabs +#include // for size_t +#include // for find +#include // for basic_ostream, opera... +#include // for numeric_limits +#include // for list, operator!= +#include // for map, _Rb_tree_const_... +#include // for basic_stringstream +#include // for basic_string, allocator +#include // for pair +#include // for vector + #if defined(__APPLE__) && defined(__MACH__) // Apple OSX and iOS (Darwin) #include // To detect OSX or IOS using TARGET_OS_IPHONE or TARGET_OS_IOS macro #endif +#include // for CV_8UC1 +#include // for Mat +#include // for Point2f, Scalar + +#include // for vpERROR_TRACE +#include // for vpImageConvert +#include // for vpTrackingException +#include // for vpVelocityTwistMatrix +#include // for vpAROgre +#include // for vpArray2D +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpExponentialMap +#include // for vpGEMM, VP_GEMM_B_T +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpPlane +#include // for vpPoint +#include // for vpPolygon3D, vpPolyg... +#include // for vpRobust +#include // for vpRotationMatrix +#include // for vpSubColVector +#include // for vpSubMatrix +#include // for vpTranslationVector + +#include // for vpKltOpencv + +#include // for vpMbHiddenFaces +#include // for vpMbScanLine +#include // for vpMbTracker, vpMbTra... +#include // for vpMbtDistanceCircle +#include // for vpMbtDistanceKltCyli... +#include // for vpMbtDistanceKltPoints +#include // for vpMbtPolygon +#include // for vpMbKltTracker +#include // for vpMbtXmlGenericParser + +#include // for vpHomography + BEGIN_VISP_NAMESPACE +class vpRGBa; + #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace { diff --git a/modules/tracker/mbt/src/klt/vpMbtDistanceKltCylinder.cpp b/modules/tracker/mbt/src/klt/vpMbtDistanceKltCylinder.cpp index ef241eaf67..837c1983f8 100644 --- a/modules/tracker/mbt/src/klt/vpMbtDistanceKltCylinder.cpp +++ b/modules/tracker/mbt/src/klt/vpMbtDistanceKltCylinder.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,24 +29,65 @@ * * Description: * Klt cylinder, containing points of interest. - * -*****************************************************************************/ + */ -#include -#include -#include +#include // for VISP_HAVE_CLIPPER +#include // for VISP_HAVE_MODULE_KLT + +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) #if defined(VISP_HAVE_CLIPPER) -#include // clipper private library +#include // for IntPoint, ClipperOffset #endif #if defined(__APPLE__) && defined(__MACH__) // Apple OSX and iOS (Darwin) #include // To detect OSX or IOS using TARGET_OS_IPHONE or TARGET_OS_IOS macro #endif +#include // for uchar +#include // for Mat +#include // for Mat::ptr + +#include // for vpPolygon +#include // for vpArray2D +#include // for vpCircle +#include // for vpColVector +#include // for vpColor +#include // for vpCylinder +#include // for vpDisplay +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpMeterPixelConversion +#include // for vpPixelMeterConversion +#include // for vpPoint +#include // for vpPolygon3D +#include // for vpKltOpencv +#include // for vpMbHiddenFaces +#include // for vpMbScanLine +#include // for vpMbtPolygon +#include // for vpMbtDistanceKltCyli... + +#include // for size_t +#include // for basic_ostream, basic... +#include // for numeric_limits +#include // for map, _Rb_tree_const_... +#include // for basic_stringstream +#include // for allocator, basic_string +#include // for pair +#include // for vector + BEGIN_VISP_NAMESPACE + +class vpCameraParameters; +class vpRGBa; + /*! Basic constructor. diff --git a/modules/tracker/mbt/src/klt/vpMbtDistanceKltPoints.cpp b/modules/tracker/mbt/src/klt/vpMbtDistanceKltPoints.cpp index 4d01a2dee6..c659d565a9 100644 --- a/modules/tracker/mbt/src/klt/vpMbtDistanceKltPoints.cpp +++ b/modules/tracker/mbt/src/klt/vpMbtDistanceKltPoints.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,27 +29,74 @@ * * Description: * Klt polygon, containing points of interest. - * -*****************************************************************************/ + */ + -#include -#include -#include +#include // for VISP_HAVE_CLIPPER +#include // for VISP_HAVE_MODULE_KLT + +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO) #if defined(VISP_HAVE_CLIPPER) -#include // clipper private library +#include // for IntPoint, ClipperOffset #endif #if defined(__APPLE__) && defined(__MACH__) // Apple OSX and iOS (Darwin) #include // To detect OSX or IOS using TARGET_OS_IPHONE or TARGET_OS_IOS macro #endif +#include // for uchar +#include // for Mat +#include // for Mat::ptr + +#include // for vpPolygon +#include // for vpArray2D +#include // for vpColVector +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpGEMM, VP_GEMM_B_T +#include // for vpHomogeneousMatrix +#include // for vpImage +#include // for vpImagePoint +#include // for vpMath +#include // for vpMatrix +#include // for vpMeterPixelConversion +#include // for vpPixelMeterConversion +#include // for vpPlane +#include // for vpPoint +#include // for vpPolygon3D, vpPolygo... +#include // for vpRotationMatrix +#include // for vpTranslationVector +#include // for vpKltOpencv +#include // for vpMbHiddenFaces +#include // for vpMbScanLine +#include // for vpMbtPolygon +#include // for vpMbtDistanceKltPoints +#include // for vpMeTracker +#include // for vpHomography + +#include // for fabs +#include // for size_t +#include // for map, _Rb_tree_const_i... +#include // for numeric_limits +#include // for basic_stringstream +#include // for allocator, basic_string +#include // for pair, make_pair +#include // for vector +#include // for pair + BEGIN_VISP_NAMESPACE + +class vpCameraParameters; +class vpRGBa; + /*! Basic constructor. - */ vpMbtDistanceKltPoints::vpMbtDistanceKltPoints() : H(), N(), N_cur(), invd0(1.), cRc0_0n(), initPoints(std::map()), diff --git a/modules/tracker/mbt/src/vpMbGenericTracker.cpp b/modules/tracker/mbt/src/vpMbGenericTracker.cpp index 7f7726ef70..dda2d99e12 100644 --- a/modules/tracker/mbt/src/vpMbGenericTracker.cpp +++ b/modules/tracker/mbt/src/vpMbGenericTracker.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,23 +29,85 @@ * * Description: * Generic model-based tracker. - * -*****************************************************************************/ - + */ + +#include // for vpDisplay +#include // for vpExponenti... +#include // for vpIoTools +#include // for vpTrackingE... +#include // for vpAROgre +#include // for vpArray2D +#include // for vpCameraPar... +#include // for vpColor +#include // for VISP_HAVE_O... +#include // for vpException +#include // for vpImageConvert +#include // for vpPoint +#include // for vpPolygon +#include // for vpVelocityT...sp3/core/vpCameraParameters.h> // for vpCameraPar... +#include // for vpColVector +#include // for vpHomogeneo... +#include // for vpImage, swap +#include // for vpImagePoint +#include // for vpImage::op... +#include // for vpMath +#include // for vpMatrix +#include // for vpPolygon3D #include - -#include -#include -#include -#include -#include +#include // for vpMbDepthDe... +#include // for vpMbDepthNo... +#include // for vpMbEdgeTra... +#include // for vpMbKltTracker +#include // for vpMbtDistan... +#include // for vpMbtDistan... +#include // for vpMbtDistan... +#include // for vpMbtDistan... +#include // for vpMbtDistan... +#include // for vpMbtFaceDe... +#include // for vpMbtXmlGen... +#include // for vpMbHiddenF... +#include // for vpMbScanLine +#include // for vpMbTracker +#include // for vpMbtFaceDe... +#include // for vpMbtPolygon +#include // for vpMe +#include // for vpMeSite#include // for vpKltOpencv +#include // for VISP_HAVE_M... + +#include // for size_t +#include // for basic_ostream +#include // for cerr, cout +#include // for basic_strin... +#include // for pair +#include // for isnan, fabs +#include // for list, opera... +#include // for map, operat... +#include // for allocator +#include // for basic_string +#include // for vector #ifdef VISP_HAVE_NLOHMANN_JSON +#include // for remove + #include VISP_NLOHMANN_JSON(json.hpp) using json = nlohmann::json; //! json namespace shortcut #endif +#if defined(VISP_HAVE_PCL) && defined(VISP_HAVE_PCL_COMMON) +#include // for PointCloud +namespace pcl { struct PointXYZ; } +#endif + +#if defined(VISP_HAVE_OPENCV) +#include // for Point2f +#include // for HAVE_OPENCV... +#endif + BEGIN_VISP_NAMESPACE + +class vpRGBa; + vpMbGenericTracker::vpMbGenericTracker() : m_error(), m_L(), m_mapOfCameraTransformationMatrix(), m_mapOfFeatureFactors(), m_mapOfTrackers(), m_percentageGdPt(0.4), m_referenceCameraName("Camera"), m_thresholdOutlier(0.5), m_w(), m_weightedError(), @@ -1698,11 +1759,10 @@ vpMbtPolygon *vpMbGenericTracker::getPolygon(const std::string &cameraName, unsi possibility to order by distance to the camera or to use the visibility check to consider if the polygon face must be retrieved or not. - \param orderPolygons : If true, the resulting list is ordered from the - nearest polygon faces to the farther. \param useVisibility : If true, only - visible faces will be retrieved. \param clipPolygon : If true, the polygons - will be clipped according to the clipping flags set in vpMbTracker. \return - A pair object containing the list of vpPolygon and the list of face corners. + \param orderPolygons : If true, the resulting list is ordered from the nearest polygon faces to the farther. + \param useVisibility : If true, only visible faces will be retrieved. + \param clipPolygon : If true, the polygons will be clipped according to the clipping flags set in vpMbTracker. + \return A pair object containing the list of vpPolygon and the list of face corners. \note This function will return the 2D polygons faces and 3D face points only for the reference camera. @@ -2912,11 +2972,11 @@ void vpMbGenericTracker::loadConfigFileXML(const std::string &configFile, bool v #ifdef VISP_HAVE_NLOHMANN_JSON /*! -Load tracker settings from a JSON configuration file. -A single JSON settings file is a more complete description of the tracker than what is provided by XML loading. -It may contain the full information regarding the different cameras and trackers that are used. -Additionally, the user may supply path to the 3D model (.cao) to be loaded at the same time as the other tracker settings. -\throw vpException::ioError if the file cannot be read, or if JSON parsiing fails. + Load tracker settings from a JSON configuration file. + A single JSON settings file is a more complete description of the tracker than what is provided by XML loading. + It may contain the full information regarding the different cameras and trackers that are used. + Additionally, the user may supply path to the 3D model (.cao) to be loaded at the same time as the other tracker settings. + \throw vpException::ioError if the file cannot be read, or if JSON parsing fails. */ void vpMbGenericTracker::loadConfigFileJSON(const std::string &settingsFile, bool verbose) @@ -2993,7 +3053,7 @@ void vpMbGenericTracker::loadConfigFileJSON(const std::string &settingsFile, boo throw vpException(vpException::badValue, "Reference camera not found in trackers"); } - // All camerasthat were defined in the tracker but not in the config file are removed + // All cameras that were defined in the tracker but not in the config file are removed for (const std::string &oldCameraName : unusedCameraNames) { m_mapOfCameraTransformationMatrix.erase(oldCameraName); TrackerWrapper *tw = m_mapOfTrackers[oldCameraName]; diff --git a/modules/tracker/mbt/src/vpMbScanLine.cpp b/modules/tracker/mbt/src/vpMbScanLine.cpp index 5975284ceb..21f92c5531 100644 --- a/modules/tracker/mbt/src/vpMbScanLine.cpp +++ b/modules/tracker/mbt/src/vpMbScanLine.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,32 +29,36 @@ * * Description: * Make the complete tracking of an object by using its CAD model - * - * Authors: - * Aurelien Yol - * -*****************************************************************************/ + */ -#include +#include // for VISP_HAVE_X11, BEGIN_VISP... #if defined _MSC_VER && _MSC_VER >= 1200 #define NOMINMAX #endif -#include -#include -#include -#include -#include - -#include -#include - #if defined(DEBUG_DISP) #include #include #endif +#include // for vpMbScanLine, vpMbScanLin... +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpImage +#include // for vpMath +#include // for vpPoint + +#include // for max, min, sort +#include // for ceil, fabs, sqrt +#include // for size_t +#include // for pair +#include // for numeric_limits +#include // for map, operator!=, _Rb_tree... +#include // for set +#include // for pair, swap, make_pair +#include // for vector + #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE vpMbScanLine::vpMbScanLine() diff --git a/modules/tracker/mbt/src/vpMbTracker.cpp b/modules/tracker/mbt/src/vpMbTracker.cpp index bd173a948a..07db5abd97 100644 --- a/modules/tracker/mbt/src/vpMbTracker.cpp +++ b/modules/tracker/mbt/src/vpMbTracker.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,73 +29,123 @@ * * Description: * Generic model based tracker - * -*****************************************************************************/ + */ /*! \file vpMbTracker.cpp \brief Generic model based tracker */ -#include -#include -#include -#include +#include // for VISP_HAVE_THREADS +#include // for VISP_HAVE_MODUL... -#include #if defined(VISP_HAVE_SIMDLIB) -#include +#include // for SimdComputeJtR +#endif + +#if defined(VISP_HAVE_THREADS) +#include // for mutex, lock_guard #endif -#include -#include -#include -#include -#include -#include -#include +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpColor +#include // for vpTRACE, vpERRO... +#include // for vpDisplay +#include // for vpException +#include // for vpImageFilter +#include // for vpIoTools +#include // for vpMath +#include // for vpMatrix, opera... +#include // for vpMatrixException +#include // for vpPixelMeterCon... +#include // for vpPoint +#include // for vpTrackingExcep... +#include // for vpArray2D, oper... +#include // for vpHomogeneousMa... +#include // for vpImage +#include // for vpImageConvert +#include // for vpImagePoint +#include // for vpMouseButton +#include // for vpPlane, vpPlan... +#include // for vpPolygon +#include // for vpPolygon3D +#include // for vpPoseVector +#include // for vpQuaternionVector +#include // for vpRGBa +#include // for vpRobust, vpRob... +#include // for vpRotationMatrix +#include // for vpRotationVector +#include // for vpThetaUVector +#include // for vpTranslationVe... +#include // for vpVelocityTwist... + #ifdef VISP_HAVE_MODULE_GUI #include #include -#include +#include // for vpDisplayX #endif -#include -#include -#include -#include -#include + #ifdef VISP_HAVE_MODULE_IO -#include +#include // for vpImageIo #endif -#include -#include -#include -#include -#include - -#include -#include #ifdef VISP_HAVE_COIN3D // Inventor includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include // for COIN_MAJOR_VERSION +#include // for SbName +#include // for SbRotation +#include // for SbVec3f +#include // for SoDB +#include // for SoInput +#include // for SoType +#include // for SoVRMLCoordinate +#include // for SoVRMLGroup +#include // for SoVRMLIndexedFa... +#include // for SoVRMLIndexedLi... +#include // for SoVRMLShape +#include // for SoVRMLTransform +#include // for SoToVRML2Action +#include // for SoMFInt32 +#include // for SoMFVec3f +#include // for SoSFNode +#include // for SoSFRotation +#include // for SoSFVec3f +#include // for SoChildList +#include // for SoNode +#include // for SoSeparator #endif -#if defined(VISP_HAVE_THREADS) -#include -#endif +#include // for vpMe + +#include // for vpMbHiddenFaces +#include // for vpMbtDistanceCi... +#include // for vpMbtDistanceCy... +#include // for vpMbtDistanceLine +#include // for vpMbtMeEllipse +#include // for vpMbtMeLine +#include // for vpMbtPolygon +#include // for vpMbTracker +#include // for vpMbtXmlGeneric... + +#include // for vpPose, vpPose:... +#include // for vpAROgre + +#include // for find, sort +#include // for fabs, sqrt +#include // for atof, size_t +#include // for exception +#include // for basic_ifstream +#include // for basic_ostream +#include // for numeric_limits +#include // for list, operator!= +#include // for map, operator!= +#include // for basic_stringstream +#include // for basic_string +#include // for pair +#include // for vector +#include // for strncmp +#include // for pair BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS diff --git a/modules/tracker/mbt/src/vpMbtPolygon.cpp b/modules/tracker/mbt/src/vpMbtPolygon.cpp index 3628e6ecac..4c53cd5b1d 100644 --- a/modules/tracker/mbt/src/vpMbtPolygon.cpp +++ b/modules/tracker/mbt/src/vpMbtPolygon.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,25 +29,31 @@ * * Description: * Make the complete tracking of an object by using its CAD model - * - * Authors: - * Romain Tallonneau - * Aurelien Yol - * -*****************************************************************************/ - -#include + */ -#include /*! \file vpMbtPolygon.cpp \brief Implements a polygon of the model used by the model-based tracker. */ -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END... +#include // for vpPolygon +#include // for vpCameraParameters +#include // for vpColVector +#include // for vpImagePoint +#include // for vpMath +#include // for vpPoint +#include // for vpPolygon3D +#include // for vpMbtPolygon + +#include // for acos, sqrt, M_PI +#include // for basic_string +#include // for vector BEGIN_VISP_NAMESPACE + +class vpHomogeneousMatrix; + /*! Basic constructor. */ diff --git a/modules/tracker/mbt/src/vpMbtXmlGenericParser.cpp b/modules/tracker/mbt/src/vpMbtXmlGenericParser.cpp index c3c83b9efa..be2a1dfba5 100644 --- a/modules/tracker/mbt/src/vpMbtXmlGenericParser.cpp +++ b/modules/tracker/mbt/src/vpMbtXmlGenericParser.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,18 +29,25 @@ * * Description: * Load XML Parameter for Model Based Tracker. - * -*****************************************************************************/ -#include - -#include -#include -#include + */ -#include +#include // for BEGIN_VISP_NAMESPACE #if defined(VISP_HAVE_PUGIXML) -#include + +#include // for setlocale, LC_ALL +#include // for basic_ostream, char_traits +#include // for map, operator!=, _Rb_tr... +#include // for basic_string, operator< +#include // for pair + +#include // for xml_node, xml_text, xml... + +#include // for vpMbtXmlGenericParser +#include // for vpCameraParameters +#include // for vpException +#include // for vpMbtFaceDepthNormal +#include // for vpMe BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTracker.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTracker.h index 49c70500cb..ccd1ad9848 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTracker.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTracker.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,29 +29,35 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ /*! \file vpTemplateTracker.h \brief */ -#ifndef vpTemplateTracker_hh -#define vpTemplateTracker_hh +#ifndef VP_TEMPLATE_TRACKER_H +#define VP_TEMPLATE_TRACKER_H -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpImageFilter +#include // for vpTemplateTrackerZone +#include // for vpColVector +#include // for vpColor +#include // for vpImage +#include // for vpMatrix -#include -#include -#include -#include -#include +#include // for basic_ostream, char_traits +#include // for vector BEGIN_VISP_NAMESPACE + +class vpImagePoint; +class vpRGBa; +class vpTemplateTrackerWarp; +struct vpTemplateTrackerPoint; +struct vpTemplateTrackerPointCompo; +struct vpTemplateTrackerPointSuppMIInv; + /*! \class vpTemplateTracker \ingroup group_tt_tracker diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerBSpline.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerBSpline.h index 6e979fb440..5794ba1ead 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerBSpline.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerBSpline.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,26 +29,22 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ /*! \file vpTemplateTrackerBSpline.h \brief */ -#ifndef vpTemplateTrackerBSpline_hh -#define vpTemplateTrackerBSpline_hh +#ifndef VP_TEMPLATE_TRACKER_BSPLINE_H +#define VP_TEMPLATE_TRACKER_BSPLINE_H -#include -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE + +template class vpImage; + class VISP_EXPORT vpTemplateTrackerBSpline { public: diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSD.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSD.h index 701d4996d4..da53dee41e 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSD.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSD.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,33 +29,25 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ /*! \file vpTemplateTrackerSSD.h \brief */ -#ifndef vpTemplateTrackerSSD_hh -#define vpTemplateTrackerSSD_hh +#ifndef VP_TEMPLATE_TRACKER_SSD_H +#define VP_TEMPLATE_TRACKER_SSD_H -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VI... +#include // for vpTemplateTracker +#include // for vpColVector +#include // for vpRowVector BEGIN_VISP_NAMESPACE + +class vpTemplateTrackerWarp; +template class vpImage; + /*! \class vpTemplateTrackerSSD \ingroup group_tt_tracker diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSDForwardAdditional.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSDForwardAdditional.h index 3843579cfa..49fa74c9f3 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSDForwardAdditional.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerSSDForwardAdditional.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,24 +29,24 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ /*! \file vpTemplateTrackerSSDForwardAdditional.h \brief */ -#ifndef vpTemplateTrackerSSDForwardAdditional_hh -#define vpTemplateTrackerSSDForwardAdditional_hh +#ifndef VP_TEMPLATE_TRACKER_SSD_FORWARD_ADDITIONAL_H +#define VP_TEMPLATE_TRACKER_SSD_FORWARD_ADDITIONAL_H -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END... +#include // for vpTemplateTrackerSSD +#include // for vpColVector +#include // for vpMatrix BEGIN_VISP_NAMESPACE + +class vpTemplateTrackerWarp; + /*! \ingroup group_tt_tracker The algorithm implemented in this class is described in \cite Baker04a and diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerTriangle.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerTriangle.h index fabc0bd1ed..ed2403ad51 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerTriangle.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerTriangle.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,31 +29,26 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ /*! \file vpTemplateTrackerTriangle.h \brief */ -#ifndef vpTemplateTrackerTriangle_hh -#define vpTemplateTrackerTriangle_hh +#ifndef VP_TEMPLATE_TRACKER_TRIANGLE_H +#define VP_TEMPLATE_TRACKER_TRIANGLE_H -#include -#include +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerDPoint -#include -#include -#include -#include -#include -#include +#include // for vector +#include // for assert BEGIN_VISP_NAMESPACE + +class vpImagePoint; + /*! \class vpTemplateTrackerTriangle \ingroup group_tt_tools diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerWarpHomographySL3.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerWarpHomographySL3.h index fe9ca999d2..d41b42ab91 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerWarpHomographySL3.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerWarpHomographySL3.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,16 +37,20 @@ *sl3 lie algebra H=exp(Sum(p[i]* A_i)) A_i is the basis of the SL3 Algebra */ -#ifndef vpTemplateTrackerWarpHomographySL3_hh -#define vpTemplateTrackerWarpHomographySL3_hh +#ifndef VP_TEMPLATE_TRACKER_WARP_HOMOGRAPHY_SL3_H +#define VP_TEMPLATE_TRACKER_WARP_HOMOGRAPHY_SL3_H -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerWarp +#include // for vpHomography +#include // for vpMatrix -#include -#include -#include +#include // for vector BEGIN_VISP_NAMESPACE + +class vpColVector; + /*! * \class vpTemplateTrackerWarpHomographySL3 * \ingroup group_tt_warp diff --git a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerZNCC.h b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerZNCC.h index 7aea85f334..5160a6d919 100644 --- a/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerZNCC.h +++ b/modules/tracker/tt/include/visp3/tt/vpTemplateTrackerZNCC.h @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,35 +29,28 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + /*! \file vpTemplateTrackerZNCC.h \brief */ -#ifndef vpTemplateTrackerZNCC_hh -#define vpTemplateTrackerZNCC_hh +#ifndef VP_TEMPLATE_TRACKER_ZNCC_H +#define VP_TEMPLATE_TRACKER_ZNCC_H -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include // for BEGIN_VISP_NAMESPACE, END_VI... +#include // for vpTemplateTracker +#include // for vpColVector +#include // for vpRowVector #define APPROX_NCC BEGIN_VISP_NAMESPACE + +class vpTemplateTrackerWarp; +template class vpImage; + /*! \class vpTemplateTrackerZNCC \ingroup group_tt_tracker diff --git a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSD.cpp b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSD.cpp index d38ca3d85b..3a64ce3a8e 100644 --- a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSD.cpp +++ b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSD.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,14 +29,18 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ #include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpImage +#include // for vpImage<>::getValue +#include // for vpMatrix +#include // for vpTemplateTracker +#include // for vpTemplateTrackerPoint +#include // for vpTemplateTrackerWarp +#include // for vpColVector +#include // for vpRowVector BEGIN_VISP_NAMESPACE vpTemplateTrackerSSD::vpTemplateTrackerSSD(vpTemplateTrackerWarp *warp) : vpTemplateTracker(warp), DI(), temp() diff --git a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDESM.cpp b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDESM.cpp index 0716be8373..c0b9513179 100644 --- a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDESM.cpp +++ b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDESM.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,14 +29,23 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include + */ + +#include // for vpImageFilter +#include // for vpTemplateTrackerSSDESM +#include // for vpArray2D +#include // for vpColVector, operator* +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpImage +#include // for vpImage<>::getValue +#include // for vpMatrix +#include // for vpTrackingException +#include // for vpTemplateTrackerPoint +#include // for vpTemplateTrackerSSD +#include // for vpTemplateTrackerWarp + +#include // for fabs BEGIN_VISP_NAMESPACE vpTemplateTrackerSSDESM::vpTemplateTrackerSSDESM(vpTemplateTrackerWarp *warp) diff --git a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardAdditional.cpp b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardAdditional.cpp index a6c425fe05..de75594ad4 100644 --- a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardAdditional.cpp +++ b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardAdditional.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,17 +29,25 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ - -#include // numeric_limits - -#include -#include + */ + +#include // for vpTempla... +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VI... +#include // for vpException +#include // for vpImage +#include // for vpImageF... +#include // for vpImage<... +#include // for vpMatrix +#include // for vpRowVector +#include // for vpTracki... +#include // for vpTempla... +#include // for vpTempla... +#include // for vpTempla... + +#include // for fabs +#include // for numeric_... BEGIN_VISP_NAMESPACE vpTemplateTrackerSSDForwardAdditional::vpTemplateTrackerSSDForwardAdditional(vpTemplateTrackerWarp *warp) diff --git a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardCompositional.cpp b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardCompositional.cpp index b972c1c663..238e4881af 100644 --- a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardCompositional.cpp +++ b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDForwardCompositional.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,14 +29,25 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include + */ + +#include // for vpIma... +#include // for vpArr... +#include // for vpCol... +#include // for BEGIN... +#include // for vpExc... +#include // for vpImage +#include // for vpIma... +#include // for vpMatrix +#include // for vpTra... +#include // for vpTem... +#include // for vpTem... +#include // for vpTem... +#include // for vpTem... + +#include // for fabs +#include // for char_... + BEGIN_VISP_NAMESPACE vpTemplateTrackerSSDForwardCompositional::vpTemplateTrackerSSDForwardCompositional(vpTemplateTrackerWarp *warp) diff --git a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDInverseCompositional.cpp b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDInverseCompositional.cpp index 159b3db9f4..de04028911 100644 --- a/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDInverseCompositional.cpp +++ b/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDInverseCompositional.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,14 +29,22 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include + */ + +#include // for vpArr... +#include // for vpCol... +#include // for BEGIN... +#include // for vpImage +#include // for vpIma... +#include // for vpIma... +#include // for vpMatrix +#include // for vpTra... +#include // for vpTem... +#include // for vpTem... +#include // for vpTem... +#include // for vpTem... + +#include // for fabs BEGIN_VISP_NAMESPACE vpTemplateTrackerSSDInverseCompositional::vpTemplateTrackerSSDInverseCompositional(vpTemplateTrackerWarp *warp) diff --git a/modules/tracker/tt/src/tools/vpTemplateTrackerBSpline.cpp b/modules/tracker/tt/src/tools/vpTemplateTrackerBSpline.cpp index 9f09c653e4..893e6de0f6 100644 --- a/modules/tracker/tt/src/tools/vpTemplateTrackerBSpline.cpp +++ b/modules/tracker/tt/src/tools/vpTemplateTrackerBSpline.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,13 +29,12 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for BEGIN_VISP_NAMESPACE, END_VISP_NAME... +#include // for vpImage +#include // for vpMath BEGIN_VISP_NAMESPACE #ifndef DOXYGEN_SHOULD_SKIP_THIS diff --git a/modules/tracker/tt/src/tools/vpTemplateTrackerTriangle.cpp b/modules/tracker/tt/src/tools/vpTemplateTrackerTriangle.cpp index d1a74d39d1..0d4ab69791 100644 --- a/modules/tracker/tt/src/tools/vpTemplateTrackerTriangle.cpp +++ b/modules/tracker/tt/src/tools/vpTemplateTrackerTriangle.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,19 +29,25 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpTemplateTrackerDPoint + +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpImagePoint +#include // for vpMatrix + +#include // for fabs +#include // for char_traits, basic_ost... BEGIN_VISP_NAMESPACE /*! Default constructor. */ -vpTemplateTrackerTriangle::vpTemplateTrackerTriangle() + vpTemplateTrackerTriangle::vpTemplateTrackerTriangle() : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false), uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0) { } diff --git a/modules/tracker/tt/src/tools/vpTemplateTrackerZone.cpp b/modules/tracker/tt/src/tools/vpTemplateTrackerZone.cpp index 1c50de3e1c..1a2bf56385 100644 --- a/modules/tracker/tt/src/tools/vpTemplateTrackerZone.cpp +++ b/modules/tracker/tt/src/tools/vpTemplateTrackerZone.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,26 +29,47 @@ * * Description: * Template tracker. - * -*****************************************************************************/ + */ -#include +#include // for VISP_HAVE_OPENCV + +#if defined(VISP_HAVE_OPENCV) +#include // for HAVE_OPENCV_IMGPROC +#endif #if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) -#include +#include // for Vec6f +#include // for Point2f, Rect +#include // for Subdiv2D #endif -#include +#include // for vpTemplateTrackerZone +#include // for vpColor +#include // for vpDisplay +#include // for vpException +#include // for vpImage +#include // for vpImagePoint +#include // for vpMouseButton, vpMou... +#include // for vpRect +#include // for wait +#include // for vpTemplateTrackerTri... + +#include // for assert +#include // for size_t +#include // for vector BEGIN_VISP_NAMESPACE + +class vpRGBa; + /*! Default constructor. */ - vpTemplateTrackerZone::vpTemplateTrackerZone() : Zone(), min_x(-1), min_y(-1), max_x(-1), max_y(-1) { } +vpTemplateTrackerZone::vpTemplateTrackerZone() : Zone(), min_x(-1), min_y(-1), max_x(-1), max_y(-1) { } - /*! - Copy constructor. - */ +/*! + Copy constructor. + */ vpTemplateTrackerZone::vpTemplateTrackerZone(const vpTemplateTrackerZone &z) : Zone(), min_x(-1), min_y(-1), max_x(-1), max_y(-1) { diff --git a/modules/tracker/tt/src/vpTemplateTracker.cpp b/modules/tracker/tt/src/vpTemplateTracker.cpp index b9320ca4fa..8f412941e4 100644 --- a/modules/tracker/tt/src/vpTemplateTracker.cpp +++ b/modules/tracker/tt/src/vpTemplateTracker.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,17 +29,30 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ #include -#include +#include // for vpTemplateTrackerBSp... +#include // for vpArray2D +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpImageFilter +#include // for vpImage::operator= +#include // for vpTrackingException +#include // for vpColVector, operator* +#include // for vpImage +#include // for vpMatrix +#include // for vpTemplateTrackerPoi... +#include // for vpTemplateTrackerTri... +#include // for vpTemplateTrackerWarp +#include // for vpTemplateTrackerZone BEGIN_VISP_NAMESPACE + +class vpImagePoint; +class vpRGBa; +class vpColor; + vpTemplateTracker::vpTemplateTracker(vpTemplateTrackerWarp *_warp) : nbLvlPyr(1), l0Pyr(0), pyrInitialised(false), evolRMS(0), x_pos(), y_pos(), evolRMS_eps(1e-4), ptTemplate(nullptr), ptTemplatePyr(nullptr), ptTemplateInit(false), templateSize(0), templateSizePyr(nullptr), ptTemplateSelect(nullptr), diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarp.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarp.cpp index 41a8e93e19..1f95fd65ba 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarp.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarp.cpp @@ -31,8 +31,17 @@ * Template tracker. */ -#include -#include +#include // for vpCTRACE +#include // for vpTemplateTrackerWarp +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpMatrix +#include // for vpTemplateTrackerTri... +#include // for vpTemplateTrackerZone + +#include // for sqrt +#include // for char_traits, basic_o... BEGIN_VISP_NAMESPACE void vpTemplateTrackerWarp::warpTriangle(const vpTemplateTrackerTriangle &in, const vpColVector &p, diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpAffine.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpAffine.cpp index 6542e97f50..eba26443b3 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpAffine.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpAffine.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,26 +29,30 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpException +#include // for vpMatrix + +#include // for fabs +#include // for numeric_limits BEGIN_VISP_NAMESPACE /*! * Construct a model with 6 affine parameters initialized to zero. */ -vpTemplateTrackerWarpAffine::vpTemplateTrackerWarpAffine() { nbParam = 6; } + vpTemplateTrackerWarpAffine::vpTemplateTrackerWarpAffine() { nbParam = 6; } -/*! - * Get the parameters of the warping function one level down - * where image size is divided by two along the lines and the columns. - * \param p : 6-dim vector that contains the current parameters of the warping function. - * \param p_down : 6-dim vector that contains the resulting parameters one level down. - */ + /*! + * Get the parameters of the warping function one level down + * where image size is divided by two along the lines and the columns. + * \param p : 6-dim vector that contains the current parameters of the warping function. + * \param p_down : 6-dim vector that contains the resulting parameters one level down. + */ void vpTemplateTrackerWarpAffine::getParamPyramidDown(const vpColVector &p, vpColVector &p_down) { p_down[0] = p[0]; diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomography.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomography.cpp index d51a296015..4c96808783 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomography.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomography.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,27 +29,32 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include + */ + +#include // for vpTrackingExce... +#include // for vpTemplateTrac... +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAM... +#include // for vpException +#include // for vpMatrix +#include // for vpHomography + +#include // for fabs +#include // for numeric_limits BEGIN_VISP_NAMESPACE /*! * Construct an homography model with 8 parameters initialized to zero. */ -vpTemplateTrackerWarpHomography::vpTemplateTrackerWarpHomography() { nbParam = 8; } - -/*! - * Get the parameters of the warping function one level down - * where image size is divided by two along the lines and the columns. - * \param p : 8-dim vector that contains the current parameters of the warping function. - * \param p_down : 8-dim vector that contains the resulting parameters one level down. - */ + vpTemplateTrackerWarpHomography::vpTemplateTrackerWarpHomography() { nbParam = 8; } + + /*! + * Get the parameters of the warping function one level down + * where image size is divided by two along the lines and the columns. + * \param p : 8-dim vector that contains the current parameters of the warping function. + * \param p_down : 8-dim vector that contains the resulting parameters one level down. + */ void vpTemplateTrackerWarpHomography::getParamPyramidDown(const vpColVector &p, vpColVector &p_down) { p_down[0] = p[0]; diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomographySL3.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomographySL3.cpp index 8a7943ae9a..30dc8b4ab4 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomographySL3.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpHomographySL3.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,13 +29,17 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VIS... +#include // for vpException +#include // for vpMatrix +#include // for vpHomography + +#include // for sqrt BEGIN_VISP_NAMESPACE // findWarp special a SL3 car methode additionnelle ne marche pas (la derivee @@ -52,8 +55,8 @@ BEGIN_VISP_NAMESPACE * \param nb_pt : Number of points. * \param p : Resulting warping function parameters. */ -void vpTemplateTrackerWarpHomographySL3::findWarp(const double *ut0, const double *vt0, const double *u, - const double *v, int nb_pt, vpColVector &p) + void vpTemplateTrackerWarpHomographySL3::findWarp(const double *ut0, const double *vt0, const double *u, + const double *v, int nb_pt, vpColVector &p) { vpColVector dp(nbParam); vpMatrix dW_(2, nbParam); diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpRT.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpRT.cpp index 2d4c8b7c74..a4132fdd0a 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpRT.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpRT.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,26 +29,28 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpMatrix + +#include // for cos, sin, atan2 BEGIN_VISP_NAMESPACE /*! * Construct a model with 3 parameters for rotation and translation initialized to zero. */ -vpTemplateTrackerWarpRT::vpTemplateTrackerWarpRT() { nbParam = 3; } - -/*! - * Get the parameters of the warping function one level down - * where image size is divided by two along the lines and the columns. - * \param p : 3-dim vector that contains the current parameters of the warping function. - * \param p_down : 3-dim vector that contains the resulting parameters one level down. - */ + vpTemplateTrackerWarpRT::vpTemplateTrackerWarpRT() { nbParam = 3; } + + /*! + * Get the parameters of the warping function one level down + * where image size is divided by two along the lines and the columns. + * \param p : 3-dim vector that contains the current parameters of the warping function. + * \param p_down : 3-dim vector that contains the resulting parameters one level down. + */ void vpTemplateTrackerWarpRT::getParamPyramidDown(const vpColVector &p, vpColVector &p_down) { p_down[0] = p[0]; diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpSRT.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpSRT.cpp index f651bf258e..5073a7fa8e 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpSRT.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpSRT.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,26 +29,28 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpMatrix + +#include // for cos, sin, atan2 BEGIN_VISP_NAMESPACE /*! * Construct a model with 4 parameters for scale, rotation and translation initialized to zero. */ -vpTemplateTrackerWarpSRT::vpTemplateTrackerWarpSRT() { nbParam = 4; } + vpTemplateTrackerWarpSRT::vpTemplateTrackerWarpSRT() { nbParam = 4; } -/*! - * Get the parameters of the warping function one level down - * where image size is divided by two along the lines and the columns. - * \param p : 4-dim vector that contains the current parameters of the warping function. - * \param p_down : 4-dim vector that contains the resulting parameters one level down. - */ + /*! + * Get the parameters of the warping function one level down + * where image size is divided by two along the lines and the columns. + * \param p : 4-dim vector that contains the current parameters of the warping function. + * \param p_down : 4-dim vector that contains the resulting parameters one level down. + */ void vpTemplateTrackerWarpSRT::getParamPyramidDown(const vpColVector &p, vpColVector &p_down) { p_down[0] = p[0]; diff --git a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpTranslation.cpp b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpTranslation.cpp index e7bd2d22e0..4ffff7a116 100644 --- a/modules/tracker/tt/src/warp/vpTemplateTrackerWarpTranslation.cpp +++ b/modules/tracker/tt/src/warp/vpTemplateTrackerWarpTranslation.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,26 +29,26 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpMatrix BEGIN_VISP_NAMESPACE /*! * Construct a model with 2 parameters for translation initialized to zero. */ -vpTemplateTrackerWarpTranslation::vpTemplateTrackerWarpTranslation() { nbParam = 2; } + vpTemplateTrackerWarpTranslation::vpTemplateTrackerWarpTranslation() { nbParam = 2; } -/*! - * Get the parameters of the warping function one level down - * where image size is divided by two along the lines and the columns. - * \param p : 2-dim vector that contains the current parameters of the warping function. - * \param p_down : 2-dim vector that contains the resulting parameters one level down. - */ + /*! + * Get the parameters of the warping function one level down + * where image size is divided by two along the lines and the columns. + * \param p : 2-dim vector that contains the current parameters of the warping function. + * \param p_down : 2-dim vector that contains the resulting parameters one level down. + */ void vpTemplateTrackerWarpTranslation::getParamPyramidDown(const vpColVector &p, vpColVector &p_down) { p_down[0] = p[0] / 2.; diff --git a/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCC.cpp b/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCC.cpp index f1eadb9b20..de46d0945e 100644 --- a/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCC.cpp +++ b/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCC.cpp @@ -1,5 +1,4 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. * Copyright (C) 2005 - 2023 by Inria. All rights reserved. * @@ -30,13 +29,21 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpException +#include // for vpImage +#include // for vpImage<>::getValue +#include // for vpMatrix +#include // for vpColVector +#include // for vpRowVector +#include // for vpTemplateTracker +#include // for vpTemplateTrackerPoint +#include // for vpTemplateTrackerWarp + +#include // for sqrt BEGIN_VISP_NAMESPACE vpTemplateTrackerZNCC::vpTemplateTrackerZNCC(vpTemplateTrackerWarp *warp) : vpTemplateTracker(warp), DI(), temp() diff --git a/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp b/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp index 4fe443f9b2..6e128ae635 100644 --- a/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp +++ b/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,14 +29,22 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include + */ + +#include // for vpImage... +#include // for vpTempl... +#include // for vpArray2D +#include // for vpColVe... +#include // for BEGIN_V... +#include // for vpExcep... +#include // for vpImage +#include // for vpImage... +#include // for vpMatrix +#include // for vpTempl... +#include // for vpTempl... +#include // for vpTempl... + +#include // for sqrt, fabs BEGIN_VISP_NAMESPACE vpTemplateTrackerZNCCForwardAdditional::vpTemplateTrackerZNCCForwardAdditional(vpTemplateTrackerWarp *warp) diff --git a/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp b/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp index 59bed685ba..d9411309cd 100644 --- a/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp +++ b/modules/tracker/tt/src/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,16 +29,23 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include // numeric_limits - -#include -#include + */ + +#include // for vpIm... +#include // for vpTe... +#include // for vpAr... +#include // for vpCo... +#include // for BEGI... +#include // for vpEx... +#include // for vpImage +#include // for vpIm... +#include // for vpMa... +#include // for vpTe... +#include // for vpTe... +#include // for APPR... + +#include // for sqrt +#include // for nume... BEGIN_VISP_NAMESPACE vpTemplateTrackerZNCCInverseCompositional::vpTemplateTrackerZNCCInverseCompositional(vpTemplateTrackerWarp *warp) diff --git a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMI.h b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMI.h index 54b4783214..c0f873ae98 100644 --- a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMI.h +++ b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMI.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,8 +30,9 @@ * Description: * Example of template tracking. */ -#ifndef vpTemplateTrackerMI_hh -#define vpTemplateTrackerMI_hh + +#ifndef VP_TEMPLATE_TRACKER_MI_H +#define VP_TEMPLATE_TRACKER_MI_H #include diff --git a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIBSpline.h b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIBSpline.h index 64ba0db0bb..3c0ed3b616 100644 --- a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIBSpline.h +++ b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIBSpline.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,28 +29,18 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + /*! \file vpTemplateTrackerMIBSpline.h \brief */ -#ifndef vpTemplateTrackerMIBSpline_hh -#define vpTemplateTrackerMIBSpline_hh - -#include - -#include -#include -#include -#include +#ifndef VP_TEMPLATE_TRACKER_MI_BSPLINE_H +#define VP_TEMPLATE_TRACKER_MI_BSPLINE_H -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerMI #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE diff --git a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIESM.h b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIESM.h index 6d30fe65f6..8f71fb9244 100644 --- a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIESM.h +++ b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIESM.h @@ -1,7 +1,7 @@ -/**************************************************************************** - * +/* + * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,24 +30,20 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#ifndef vpTemplateTrackerMIESM_hh -#define vpTemplateTrackerMIESM_hh + */ -#include -#include -#include -#include +#ifndef VP_TEMPLATE_TRACKER_MI_ESM_H +#define VP_TEMPLATE_TRACKER_MI_ESM_H -#include -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerMI +#include // for vpColVector +#include // for vpMatrix BEGIN_VISP_NAMESPACE + +class vpTemplateTrackerWarp; + /*! \class vpTemplateTrackerMIESM \ingroup group_tt_mi_tracker diff --git a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardAdditional.h b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardAdditional.h index 9c4ac261f1..c4d90f5847 100644 --- a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardAdditional.h +++ b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardAdditional.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,25 +29,20 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#ifndef vpTemplateTrackerMIForwardAdditional_hh -#define vpTemplateTrackerMIForwardAdditional_hh + */ -#include +#ifndef VP_TEMPLATE_TRACKER_MI_FORWARD_ADDITIONAL_H +#define VP_TEMPLATE_TRACKER_MI_FORWARD_ADDITIONAL_H -#include -#include -#include - -#include -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerMI +#include // for vpColVector +#include // for vpMatrix BEGIN_VISP_NAMESPACE + +class vpTemplateTrackerWarp; + /*! \class vpTemplateTrackerMIForwardAdditional \ingroup group_tt_mi_tracker diff --git a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardCompositional.h b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardCompositional.h index 3eb3c2a043..c61a6aa35f 100644 --- a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardCompositional.h +++ b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIForwardCompositional.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,25 +29,18 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#ifndef vpTemplateTrackerMIForwardCompositional_hh -#define vpTemplateTrackerMIForwardCompositional_hh + */ -#include +#ifndef VP_TEMPLATE_TRACKER_MI_FORWARD_COMPOSITIONAL_H +#define VP_TEMPLATE_TRACKER_MI_FORWARD_COMPOSITIONAL_H -#include -#include -#include - -#include -#include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerMI BEGIN_VISP_NAMESPACE + +class vpTemplateTrackerWarp; + /*! \class vpTemplateTrackerMIForwardCompositional \ingroup group_tt_mi_tracker diff --git a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIInverseCompositional.h b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIInverseCompositional.h index 27ab9c5648..b9efdb8a03 100644 --- a/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIInverseCompositional.h +++ b/modules/tracker/tt_mi/include/visp3/tt_mi/vpTemplateTrackerMIInverseCompositional.h @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,14 +29,10 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#ifndef vpTemplateTrackerMIInverseCompositional_hh -#define vpTemplateTrackerMIInverseCompositional_hh + */ + +#ifndef VP_TEMPLATE_TRACKER_MI_INVERSE_COMPOSITIONAL_H +#define VP_TEMPLATE_TRACKER_MI_INVERSE_COMPOSITIONAL_H #include diff --git a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMI.cpp b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMI.cpp index 80b1cafd85..0e75fb3bc8 100644 --- a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMI.cpp +++ b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMI.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,15 +29,28 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include -#include + */ + +#include // for vpException +#include // for vpTemplateTracke... +#include // for vpTemplateTrackerMI +#include // for vpTemplateTracke... +#include // for vpArray2D +#include // for vpColVector +#include // for BEGIN_VISP_NAMES... +#include // for vpImage +#include // for vpImageFilter +#include // for vpImage<>::getValue +#include // for vpMatrix +#include // for vpTrackingException +#include // for vpTemplateTracker +#include // for vpTemplateTracke... + +#include // for fill +#include // for log, fabs +#include // for numeric_limits +#include // for vector +#include // for memset, size_t BEGIN_VISP_NAMESPACE void vpTemplateTrackerMI::setBspline(const vpBsplineType &newbs) diff --git a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIESM.cpp b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIESM.cpp index b2db620907..7132a6d727 100644 --- a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIESM.cpp +++ b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIESM.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,14 +29,24 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ - + */ #include +#include // for vpTemplateTracke... +#include // for vpArray2D +#include // for BEGIN_VISP_NAMES... +#include // for vpException +#include // for vpImage +#include // for vpImageFilter +#include // for vpImage<>::getValue +#include // for vpColVector, ope... +#include // for vpMatrix, operator* +#include // for vpTrackingException +#include // for vpTemplateTracke... +#include // for vpTemplateTracke... +#include // for vpTemplateTrackerMI +#include // for vpTemplateTracke... + +#include // for char_traits, bas... #ifdef VISP_HAVE_OPENMP #include diff --git a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardAdditional.cpp b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardAdditional.cpp index 298ff93232..7604abc7cf 100644 --- a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardAdditional.cpp +++ b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardAdditional.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,14 +29,26 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ #include +#include // for vpTemplateTracke.. +#include // for vpArray2D +#include // for BEGIN_VISP_NAMES... +#include // for vpException +#include // for vpImage +#include // for vpImageFilter +#include // for vpImage<>::getValue +#include // for vpColVector, ope... +#include // for vpMatrix, operator* +#include // for vpRowVector +#include // for vpTrackingException +#include // for vpTemplateTracke... +#include // for vpTemplateTrackerMI +#include // for vpTemplateTracke... + +#include // for fabs +#include // for numeric_limits #ifdef VISP_HAVE_OPENMP #include diff --git a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardCompositional.cpp b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardCompositional.cpp index c5d5751d57..9a39cd85be 100644 --- a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardCompositional.cpp +++ b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIForwardCompositional.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,13 +29,27 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for vpTemplateTracke... +#include // for vpArray2D +#include // for vpColVector, ope... +#include // for BEGIN_VISP_NAMES... +#include // for vpException +#include // for vpImage +#include // for vpImageFilter +#include // for vpImage<>::getValue +#include // for vpMatrix, operator* +#include // for vpTrackingException +#include // for vpTemplateTracke... +#include // for vpTemplateTracke... +#include // for vpTemplateTrackerMI +#include // for vpTemplateTracke... + +#include // for fabs +#include // for char_traits, bas... +#include // for numeric_limits BEGIN_VISP_NAMESPACE vpTemplateTrackerMIForwardCompositional::vpTemplateTrackerMIForwardCompositional(vpTemplateTrackerWarp *_warp) diff --git a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIInverseCompositional.cpp b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIInverseCompositional.cpp index 8b472f0759..213276fd83 100644 --- a/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIInverseCompositional.cpp +++ b/modules/tracker/tt_mi/src/mi/vpTemplateTrackerMIInverseCompositional.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,16 +29,27 @@ * * Description: * Example of template tracking. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ -#include -#include - -#include + */ + +#include // for vpT... +#include // for vpT... +#include // for vpT... +#include // for vpC... +#include // for BEG... +#include // for vpE... +#include // for vpI... +#include // for vpI... +#include // for vpI... +#include // for vpM... +#include // for vpR... +#include // for vpT... +#include // for vpT... +#include // for vpT... +#include // for vpT... + +#include // for fabs +#include // for cha... +#include // for num... BEGIN_VISP_NAMESPACE vpTemplateTrackerMIInverseCompositional::vpTemplateTrackerMIInverseCompositional(vpTemplateTrackerWarp *_warp) diff --git a/modules/tracker/tt_mi/src/tools/vpTemplateTrackerMIBSpline.cpp b/modules/tracker/tt_mi/src/tools/vpTemplateTrackerMIBSpline.cpp index 2a273be6b8..6b9b5501d5 100644 --- a/modules/tracker/tt_mi/src/tools/vpTemplateTrackerMIBSpline.cpp +++ b/modules/tracker/tt_mi/src/tools/vpTemplateTrackerMIBSpline.cpp @@ -1,7 +1,6 @@ -/**************************************************************************** - * +/* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,13 +29,16 @@ * * Description: * Template tracker. - * - * Authors: - * Amaury Dame - * Aurelien Yol - * -*****************************************************************************/ + */ + #include +#include // for BEGIN_VISP_NAMESPACE +#include // for vpTemplateTrackerBSpline +#include // for vpTemplateTrackerMI + +#include // for size_t +#include // for fabs +#include // for numeric_limits #ifndef DOXYGEN_SHOULD_SKIP_THIS BEGIN_VISP_NAMESPACE diff --git a/modules/vision/src/plane-estimation/vpPlaneEstimation.cpp b/modules/vision/src/plane-estimation/vpPlaneEstimation.cpp index b53af60b86..b9b3acd7c1 100644 --- a/modules/vision/src/plane-estimation/vpPlaneEstimation.cpp +++ b/modules/vision/src/plane-estimation/vpPlaneEstimation.cpp @@ -41,15 +41,14 @@ #include #endif +#include // for uint16_t #include // for max, min #include // for fabs, sqrt, hypot +#include // for reference_wrapper +#include // for optional, nullopt #include // for make_tuple, tie, tuple #include // for vector -#include -#include // for vpMeterPixelConversion -#include // for vpPixelMeterConversion -#include // for vpRobust, vpRobust::T... #include // for vpArray2D #include // for vpColVector #include // for vpColor @@ -58,10 +57,14 @@ #include // for vpImage::operator= #include // for vpMath #include // for vpMatrix +#include // for vpMeterPixelConversion +#include // for vpPixelMeterConversion #include // for vpPlane #include // for vpPolygon #include // for vpRGBa #include // for vpRect +#include // for vpRobust, vpRobust::T... +#include // for vpPlaneEstimation BEGIN_VISP_NAMESPACE diff --git a/modules/vision/src/pose-estimation/private/vpLevenbergMarquartd.h b/modules/vision/src/pose-estimation/private/vpLevenbergMarquartd.h index 1a693cd13c..b77d4b54cd 100644 --- a/modules/vision/src/pose-estimation/private/vpLevenbergMarquartd.h +++ b/modules/vision/src/pose-estimation/private/vpLevenbergMarquartd.h @@ -34,14 +34,7 @@ #ifndef VP_LEVENBERG_MARQUARTD_H #define VP_LEVENBERG_MARQUARTD_H -#include -#include - -#include -#include -#include -#include -#include +#include // for VISP_EXPORT, BEGIN_VISP_NAMESPACE BEGIN_VISP_NAMESPACE diff --git a/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp b/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp index 53f87e4895..b55144f32c 100644 --- a/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp +++ b/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp @@ -43,8 +43,10 @@ #include // for vpMomentO... #include // for vpFeature... #include // for vpFeature... +#if defined(VISP_MOMENTS_COMBINE_MATRICES) #include // for vpFeature... #include // for vpFeature... +#endif #include // for vpArray2D #include // for vpException #include // for vpMath @@ -56,7 +58,9 @@ BEGIN_VISP_NAMESPACE +#if !defined(VISP_MOMENTS_COMBINE_MATRICES) class vpFeatureMomentDatabase; +#endif /*! * Default constructor. diff --git a/modules/vs/include/visp3/vs/vpAdaptiveGain.h b/modules/vs/include/visp3/vs/vpAdaptiveGain.h index 0fa1e9e0dc..0993087966 100644 --- a/modules/vs/include/visp3/vs/vpAdaptiveGain.h +++ b/modules/vs/include/visp3/vs/vpAdaptiveGain.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,8 +36,8 @@ * \brief Adaptive gain */ -#ifndef _vpAdaptiveGain_h_ -#define _vpAdaptiveGain_h_ +#ifndef VP_ADAPTIVE_GAIN_H +#define VP_ADAPTIVE_GAIN_H #include #include diff --git a/modules/vs/include/visp3/vs/vpServo.h b/modules/vs/include/visp3/vs/vpServo.h index b8cfc55ace..12cd2a5bfe 100644 --- a/modules/vs/include/visp3/vs/vpServo.h +++ b/modules/vs/include/visp3/vs/vpServo.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,8 +36,8 @@ * \brief Class required to compute the visual servoing control law. */ -#ifndef _vpServo_h_ -#define _vpServo_h_ +#ifndef VP_SERVO_H +#define VP_SERVO_H #include diff --git a/modules/vs/include/visp3/vs/vpServoData.h b/modules/vs/include/visp3/vs/vpServoData.h index ac1b16aa9b..ce1c18f700 100644 --- a/modules/vs/include/visp3/vs/vpServoData.h +++ b/modules/vs/include/visp3/vs/vpServoData.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,8 +36,8 @@ \brief save data during the task execution */ -#ifndef _vpServoData_h_ -#define _vpServoData_h_ +#ifndef VP_SERVO_DATA_H +#define VP_SERVO_DATA_H #include // Servo diff --git a/modules/vs/include/visp3/vs/vpServoDisplay.h b/modules/vs/include/visp3/vs/vpServoDisplay.h index f230d18b35..300f6b8958 100644 --- a/modules/vs/include/visp3/vs/vpServoDisplay.h +++ b/modules/vs/include/visp3/vs/vpServoDisplay.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,8 +36,8 @@ * \brief interface with the image for feature display */ -#ifndef vpServoDisplay_H -#define vpServoDisplay_H +#ifndef VP_SERVO_DISPLAY_H +#define VP_SERVO_DISPLAY_H #include #include diff --git a/modules/vs/include/visp3/vs/vpServoException.h b/modules/vs/include/visp3/vs/vpServoException.h index 99b9457039..f0ee0d0412 100644 --- a/modules/vs/include/visp3/vs/vpServoException.h +++ b/modules/vs/include/visp3/vs/vpServoException.h @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,8 +36,8 @@ * \brief error that can be emitted by the vpServo class and its derivatives */ -#ifndef _vpServoException_h_ -#define _vpServoException_h_ +#ifndef VP_SERVO_EXCEPTION_H +#define VP_SERVO_EXCEPTION_H #include #include diff --git a/modules/vs/src/vpAdaptiveGain.cpp b/modules/vs/src/vpAdaptiveGain.cpp index b582fd79f2..0404c8c4bf 100644 --- a/modules/vs/src/vpAdaptiveGain.cpp +++ b/modules/vs/src/vpAdaptiveGain.cpp @@ -35,14 +35,13 @@ \file vpAdaptiveGain.cpp */ -/* --- VISP --- */ -#include -#include -#include - -#include // std::fabs -#include -#include // numeric_limits +#include // for vpColVector +#include // for vpAdaptiveGain, operator<< +#include // for BEGIN_VISP_NAMESPACE, END_VISP_... + +#include // for exp, fabs +#include // for basic_ostream, char_traits, ope... +#include // for numeric_limits BEGIN_VISP_NAMESPACE const double vpAdaptiveGain::DEFAULT_LAMBDA_ZERO = 1.666; diff --git a/modules/vs/src/vpServo.cpp b/modules/vs/src/vpServo.cpp index 953c7c5d86..c5c4ed561f 100644 --- a/modules/vs/src/vpServo.cpp +++ b/modules/vs/src/vpServo.cpp @@ -37,11 +37,24 @@ \brief Class required to compute the visual servoing control law */ -#include - -#include -#include -#include +#include // for vpERROR_TRACE, vpD... +#include // for vpServo, vpServo::... +#include // for operator<<, vpArray2D +#include // for vpColVector, opera... +#include // for BEGIN_VISP_NAMESPACE +#include // for vpMath +#include // for vpMatrix, operator* +#include // for vpRowVector +#include // for vpVelocityTwistMatrix +#include // for vpBasicFeature +#include // for vpAdaptiveGain +#include // for vpServoException + +#include // for exp, fabs +#include // for numeric_limits +#include // for list, _List_const_... +#include // for basic_ostream, ope... +#include // for allocator, basic_s... BEGIN_VISP_NAMESPACE vpServo::vpServo() diff --git a/modules/vs/src/vpServoData.cpp b/modules/vs/src/vpServoData.cpp index 2f79da0dfc..0938ca2223 100644 --- a/modules/vs/src/vpServoData.cpp +++ b/modules/vs/src/vpServoData.cpp @@ -36,11 +36,18 @@ \brief save data during the task execution */ -#include -#include -#include -#include -#include +#include // for vpERROR_TRACE +#include // for vpIoTools +#include // for vpServo +#include // for vpServoData +#include // for operator<< +#include // for vpColVector +#include // for BEGIN_VISP_NAMESPACE, END_VISP_N... +#include // for vpMath +#include // for vpRowVector + +#include // for basic_ofstream, basic_ostream +#include // for basic_string, char_traits, opera... BEGIN_VISP_NAMESPACE void vpServoData::open(const std::string &directory) diff --git a/modules/vs/src/vpServoDisplay.cpp b/modules/vs/src/vpServoDisplay.cpp index f7623bd747..f6bf302b34 100644 --- a/modules/vs/src/vpServoDisplay.cpp +++ b/modules/vs/src/vpServoDisplay.cpp @@ -1,6 +1,6 @@ /* * ViSP, open source Visual Servoing Platform software. - * Copyright (C) 2005 - 2023 by Inria. All rights reserved. + * Copyright (C) 2005 - 2024 by Inria. All rights reserved. * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,20 +36,20 @@ \brief interface with the image for feature display */ -// Servo -#include +#include // for vpColor, operator!= +#include // for vpBasicFeature +#include // for vpServo +#include // for vpServoDisplay +#include // for BEGIN_VISP_NAMESPACE -// Meter/pixel conversion -#include - -// Color / image / display -#include -#include -#include -#include -#include +#include // for list, _List_const_... BEGIN_VISP_NAMESPACE + +class vpCameraParameters; +class vpRGBa; +template class vpImage; + void vpServoDisplay::display(const vpServo &s, const vpCameraParameters &cam, const vpImage &I, vpColor currentColor, vpColor desiredColor, unsigned int thickness) {