Visual Servoing Platform
version 3.2.0
vpForwardProjection.h
1
/****************************************************************************
2
*
3
* ViSP, open source Visual Servoing Platform software.
4
* Copyright (C) 2005 - 2019 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 http://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
* Forward projection.
33
*
34
* Authors:
35
* Eric Marchand
36
*
37
*****************************************************************************/
38
39
#ifndef vpForwardProjection_H
40
#define vpForwardProjection_H
41
47
#include <visp3/core/vpColor.h>
48
#include <visp3/core/vpMatrix.h>
49
#include <visp3/core/vpTracker.h>
50
51
#include <visp3/core/vpHomogeneousMatrix.h>
52
67
class
VISP_EXPORT
vpForwardProjection
:
public
vpTracker
68
{
69
public
:
74
vpColVector
oP;
75
76
public
:
83
virtual
void
init
() = 0;
84
86
virtual
~
vpForwardProjection
() { ; }
87
88
public
:
96
virtual
void
setWorldCoordinates(
const
vpColVector
&oP) = 0;
97
117
virtual
void
changeFrame(
const
vpHomogeneousMatrix
&cMo,
vpColVector
&cP) = 0;
134
virtual
void
changeFrame(
const
vpHomogeneousMatrix
&cMo) = 0;
144
virtual
void
projection(
const
vpColVector
&cP,
vpColVector
&p) = 0;
145
155
virtual
void
projection() = 0;
156
157
void
project();
158
void
project(
const
vpHomogeneousMatrix
&cMo);
159
void
track(
const
vpHomogeneousMatrix
&cMo);
160
175
virtual
void
display(
const
vpImage<unsigned char>
&I,
const
vpCameraParameters
&cam,
176
const
vpColor
&color =
vpColor::green
,
const
unsigned
int
thickness = 1) = 0;
177
197
virtual
void
display(
const
vpImage<unsigned char>
&I,
const
vpHomogeneousMatrix
&cMo,
const
vpCameraParameters
&cam,
198
const
vpColor
&color =
vpColor::green
,
const
unsigned
int
thickness = 1) = 0;
199
200
virtual
void
print()
const
;
201
205
virtual
vpForwardProjection
*duplicate()
const
= 0;
206
207
public
:
211
typedef
enum
{ user, vpDisplayForwardProjection } vpForwardProjectionDeallocatorType;
212
213
private
:
214
vpForwardProjectionDeallocatorType deallocate;
215
216
public
:
217
vpForwardProjection
() : oP(), deallocate(user) {}
218
219
void
setDeallocate(
vpForwardProjectionDeallocatorType
d) { deallocate = d; }
220
vpForwardProjectionDeallocatorType getDeallocate() {
return
deallocate; }
221
};
222
223
#endif
224
225
/*
226
* Local variables:
227
* c-basic-offset: 2
228
* End:
229
*/
vpForwardProjection
Class that defines what is a generic geometric feature.
Definition:
vpForwardProjection.h:66
vpTracker::init
void init()
Default initialization.
Definition:
vpTracker.cpp:46
vpCameraParameters
Generic class defining intrinsic camera parameters.
Definition:
vpCameraParameters.h:232
vpTracker
Class that defines what is a feature generic tracker.
Definition:
vpTracker.h:63
vpColVector
Implementation of column vector and the associated operations.
Definition:
vpColVector.h:71
vpColor::green
static const vpColor green
Definition:
vpColor.h:182
vpImage< unsigned char >
vpColor
Class to define colors available for display functionnalities.
Definition:
vpColor.h:119
vpHomogeneousMatrix
Implementation of an homogeneous matrix and operations on such kind of matrices.
Definition:
vpHomogeneousMatrix.h:91
vpForwardProjection::vpForwardProjectionDeallocatorType
vpForwardProjectionDeallocatorType
Definition:
vpForwardProjection.h:210
modules
core
include
visp3
core
vpForwardProjection.h
Generated by
1.8.16