Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
vpCylinder.h
1
/*
2
* ViSP, open source Visual Servoing Platform software.
3
* Copyright (C) 2005 - 2025 by Inria. All rights reserved.
4
*
5
* This software is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
* See the file LICENSE.txt at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using ViSP with software that can not be combined with the GNU
13
* GPL, please contact Inria about acquiring a ViSP Professional
14
* Edition License.
15
*
16
* See https://visp.inria.fr for more information.
17
*
18
* This software was developed at:
19
* Inria Rennes - Bretagne Atlantique
20
* Campus Universitaire de Beaulieu
21
* 35042 Rennes Cedex
22
* France
23
*
24
* If you have questions regarding the use of this file, please contact
25
* Inria at visp@inria.fr
26
*
27
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29
*
30
* Description:
31
* Cylinder feature.
32
*/
33
38
39
#ifndef vpCylinder_hh
40
#define vpCylinder_hh
41
42
#include <math.h>
43
#include <visp3/core/vpConfig.h>
44
#include <visp3/core/vpHomogeneousMatrix.h>
45
#include <visp3/core/vpMath.h>
46
47
#include <visp3/core/vpForwardProjection.h>
48
49
BEGIN_VISP_NAMESPACE
100
class
VISP_EXPORT
vpCylinder
:
public
vpForwardProjection
101
{
102
public
:
103
typedef
enum
104
{
105
line1
,
106
line2
107
} vpLineCylinderType;
108
109
vpCylinder
();
110
VP_EXPLICIT
vpCylinder
(
const
vpColVector
&oP);
111
vpCylinder
(
double
oA,
double
oB,
double
oC,
double
oX,
double
oY,
double
oZ,
double
R);
112
113
void
changeFrame
(
const
vpHomogeneousMatrix
&cMo,
vpColVector
&cP)
const
VP_OVERRIDE;
114
void
changeFrame
(
const
vpHomogeneousMatrix
&cMo) VP_OVERRIDE;
115
116
double
computeZ(
double
x,
double
y)
const
;
117
118
void
display
(
const
vpImage<unsigned char>
&I,
const
vpCameraParameters
&cam,
const
vpColor
&color =
vpColor::green
,
119
unsigned
int
thickness = 1) VP_OVERRIDE;
120
void
display(const
vpImage
<
vpRGBa
> &I, const
vpCameraParameters
&cam, const
vpColor
&color =
vpColor
::green,
121
unsigned
int
thickness = 1);
122
void
display(const
vpImage
<
unsigned
char
> &I, const
vpHomogeneousMatrix
&cMo, const
vpCameraParameters
&cam,
123
const
vpColor
&color =
vpColor
::green,
unsigned
int
thickness = 1) VP_OVERRIDE;
124
void
display(const
vpImage
<
vpRGBa
> &I, const
vpHomogeneousMatrix
&cMo, const
vpCameraParameters
&cam,
125
const
vpColor
&color =
vpColor
::green,
unsigned
int
thickness = 1);
126
127
vpCylinder
*duplicate() const VP_OVERRIDE;
128
134
double
getRho1
()
const
{
return
p
[0]; }
140
double
getTheta1
()
const
{
return
p
[1]; }
141
147
double
getRho2
()
const
{
return
p
[2]; }
153
double
getTheta2
()
const
{
return
p
[3]; }
154
158
double
getA
()
const
{
return
cP
[0]; }
159
163
double
getB
()
const
{
return
cP
[1]; }
164
168
double
getC
()
const
{
return
cP
[2]; }
169
173
double
getX
()
const
{
return
cP
[3]; }
174
178
double
getY
()
const
{
return
cP
[4]; }
179
183
double
getZ
()
const
{
return
cP
[5]; }
184
188
double
getR
()
const
{
return
cP
[6]; }
189
190
void
init
() VP_OVERRIDE;
191
192
void
projection() VP_OVERRIDE;
193
void
projection(const
vpColVector
&cP,
vpColVector
&p) const VP_OVERRIDE;
194
195
void
setWorldCoordinates(const
vpColVector
&oP) VP_OVERRIDE;
196
void
setWorldCoordinates(
double
oA,
double
oB,
double
oC,
double
oX,
double
oY,
double
oZ,
double
R);
197
};
198
END_VISP_NAMESPACE
199
#endif
vpCameraParameters
Generic class defining intrinsic camera parameters.
Definition
vpCameraParameters.h:311
vpColVector
Implementation of column vector and the associated operations.
Definition
vpColVector.h:191
vpColor
Class to define RGB colors available for display functionalities.
Definition
vpColor.h:157
vpColor::green
static const vpColor green
Definition
vpColor.h:201
vpCylinder
Class that defines a 3D cylinder in the object frame and allows forward projection of a 3D cylinder i...
Definition
vpCylinder.h:101
vpCylinder::getZ
double getZ() const
Definition
vpCylinder.h:183
vpCylinder::getRho1
double getRho1() const
Definition
vpCylinder.h:134
vpCylinder::getB
double getB() const
Definition
vpCylinder.h:163
vpCylinder::getX
double getX() const
Definition
vpCylinder.h:173
vpCylinder::getY
double getY() const
Definition
vpCylinder.h:178
vpCylinder::getA
double getA() const
Definition
vpCylinder.h:158
vpCylinder::getTheta1
double getTheta1() const
Definition
vpCylinder.h:140
vpCylinder::line2
@ line2
Definition
vpCylinder.h:106
vpCylinder::line1
@ line1
Definition
vpCylinder.h:105
vpCylinder::vpCylinder
vpCylinder()
Definition
vpCylinder.cpp:91
vpCylinder::getR
double getR() const
Definition
vpCylinder.h:188
vpCylinder::getC
double getC() const
Definition
vpCylinder.h:168
vpCylinder::getTheta2
double getTheta2() const
Definition
vpCylinder.h:153
vpCylinder::getRho2
double getRho2() const
Definition
vpCylinder.h:147
vpForwardProjection::changeFrame
virtual void changeFrame(const vpHomogeneousMatrix &cMo, vpColVector &cP) const =0
vpForwardProjection::init
virtual void init()=0
vpForwardProjection::display
virtual void display(const vpImage< unsigned char > &I, const vpCameraParameters &cam, const vpColor &color=vpColor::green, unsigned int thickness=1)=0
vpForwardProjection::vpForwardProjection
vpForwardProjection()
Definition
vpForwardProjection.h:74
vpHomogeneousMatrix
Implementation of an homogeneous matrix and operations on such kind of matrices.
Definition
vpHomogeneousMatrix.h:221
vpImage
Definition of the vpImage class member functions.
Definition
vpImage.h:131
vpRGBa
Definition
vpRGBa.h:74
vpTracker::cP
vpColVector cP
Definition
vpTracker.h:73
vpTracker::p
vpColVector p
Definition
vpTracker.h:69
BEGIN_VISP_NAMESPACE
Definition
vpMbtDistanceCircle.cpp:55
modules
core
include
visp3
core
vpCylinder.h
Generated by
1.17.0