Visual Servoing Platform  version 3.6.1 under development (2024-11-15)
vpTemplateTrackerHeader.h
1 /****************************************************************************
2  *
3  * ViSP, open source Visual Servoing Platform software.
4  * Copyright (C) 2005 - 2023 by Inria. All rights reserved.
5  *
6  * This software is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  * See the file LICENSE.txt at the root directory of this source
11  * distribution for additional information about the GNU GPL.
12  *
13  * For using ViSP with software that can not be combined with the GNU
14  * GPL, please contact Inria about acquiring a ViSP Professional
15  * Edition License.
16  *
17  * See https://visp.inria.fr for more information.
18  *
19  * This software was developed at:
20  * Inria Rennes - Bretagne Atlantique
21  * Campus Universitaire de Beaulieu
22  * 35042 Rennes Cedex
23  * France
24  *
25  * If you have questions regarding the use of this file, please contact
26  * Inria at visp@inria.fr
27  *
28  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30  *
31  * Description:
32  * Template tracker.
33  *
34  * Authors:
35  * Amaury Dame
36  * Aurelien Yol
37  *
38 *****************************************************************************/
44 #ifndef vpTemplateTrackerHeader_hh
45 #define vpTemplateTrackerHeader_hh
46 
47 #include <stdio.h>
48 #include <visp3/core/vpConfig.h>
49 
50 BEGIN_VISP_NAMESPACE
56 {
57  int x, y;
58 
59  vpTemplateTrackerZPoint() : x(0), y(0) { }
60 };
66 {
67  double x, y;
68 
69  vpTemplateTrackerDPoint() : x(0), y(0) { }
70 };
76 {
77  int x, y;
78  double dx, dy;
79  double val;
80  double *dW;
81  double *HiG;
82 
83  vpTemplateTrackerPoint() : x(0), y(0), dx(0), dy(0), val(0), dW(nullptr), HiG(nullptr) { }
84 };
90 {
91  double *dW;
93 };
94 
95 #ifndef DOXYGEN_SHOULD_SKIP_THIS
96 struct vpTemplateTrackerPointSuppMIInv
97 {
98  double et;
99  int ct;
100  double *BtInit;
101  double *Bt;
102  double *dBt;
103  double *d2W;
104  double *d2Wx;
105  double *d2Wy;
106  vpTemplateTrackerPointSuppMIInv() : et(0), ct(0), BtInit(nullptr), Bt(nullptr), dBt(nullptr), d2W(nullptr), d2Wx(nullptr), d2Wy(nullptr)
107  { }
108 };
109 #endif // DOXYGEN_SHOULD_SKIP_THIS
110 END_VISP_NAMESPACE
111 
112 #endif