ViSP  2.9.0
vpViper650.h
1 /****************************************************************************
2  *
3  * $Id: vpViper650.h 4574 2014-01-09 08:48:51Z fspindle $
4  *
5  * This file is part of the ViSP software.
6  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
7  *
8  * This software is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * ("GPL") version 2 as published by the Free Software Foundation.
11  * See the file LICENSE.txt at the root directory of this source
12  * distribution for additional information about the GNU GPL.
13  *
14  * For using ViSP with software that can not be combined with the GNU
15  * GPL, please contact INRIA about acquiring a ViSP Professional
16  * Edition License.
17  *
18  * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
19  *
20  * This software was developed at:
21  * INRIA Rennes - Bretagne Atlantique
22  * Campus Universitaire de Beaulieu
23  * 35042 Rennes Cedex
24  * France
25  * http://www.irisa.fr/lagadic
26  *
27  * If you have questions regarding the use of this file, please contact
28  * INRIA at visp@inria.fr
29  *
30  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
31  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
32  *
33  *
34  * Description:
35  * Interface for the ADEPT Viper 650 robot.
36  *
37  * Authors:
38  * Fabien Spindler
39  *
40  *****************************************************************************/
41 
42 #ifndef vpViper650_h
43 #define vpViper650_h
44 
63 #include <visp/vpViper.h>
64 
65 
66 class VISP_EXPORT vpViper650: public vpViper
67 {
68  public:
69 #ifdef VISP_HAVE_ACCESS_TO_NAS
70  static const char * const CONST_EMC_MARLIN_F033C_WITHOUT_DISTORTION_FILENAME;
79  static const char * const CONST_EMC_GENERIC_WITH_DISTORTION_FILENAME;
80  static const char * const CONST_CAMERA_FILENAME;
81 #endif
82 
85  static const char * const CONST_MARLIN_F033C_CAMERA_NAME;
86  static const char * const CONST_PTGREY_FLEA2_CAMERA_NAME;
87  static const char * const CONST_SCHUNK_GRIPPER_CAMERA_NAME;
88  static const char * const CONST_GENERIC_CAMERA_NAME;
89 
91  typedef enum {
95  TOOL_GENERIC_CAMERA
96  } vpToolType;
97 
99  static const vpToolType defaultTool;
100 
101  vpViper650();
102  virtual ~vpViper650() {};
103 
104  void init (void);
105 #ifdef VISP_HAVE_ACCESS_TO_NAS
106  void init(const char *camera_extrinsic_parameters);
107 #endif
108  void init (vpViper650::vpToolType tool,
111 
112 
115  return projModel;
116  };
117 
118  void getCameraParameters(vpCameraParameters &cam,
119  const unsigned int &image_width,
120  const unsigned int &image_height) const;
121  void getCameraParameters(vpCameraParameters &cam,
122  const vpImage<unsigned char> &I) const;
123  void getCameraParameters(vpCameraParameters &cam, const vpImage<vpRGBa> &I) const;
124 
127  return tool_current;
128  };
129 
130 #ifdef VISP_HAVE_ACCESS_TO_NAS
131  void parseConfigFile (const char * filename);
132 #endif
133 
134  protected:
137  tool_current = tool;
138  };
139 
140  protected:
142  vpToolType tool_current;
143  // Used projection model
145 
146 };
147 
148 #endif
149 
Modelisation of the ADEPT Viper robot.
Definition: vpViper.h:111
Perspective projection without distortion model.
static const char *const CONST_EMC_MARLIN_F033C_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:73
vpCameraParameters::vpCameraParametersProjType projModel
Definition: vpViper650.h:144
static const char *const CONST_EMC_PTGREY_FLEA2_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:75
static const char *const CONST_EMC_GENERIC_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:79
vpToolType getToolType() const
Get the current tool type.
Definition: vpViper650.h:126
static const char *const CONST_EMC_SCHUNK_GRIPPER_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:77
virtual ~vpViper650()
Definition: vpViper650.h:102
static const vpToolType defaultTool
Default tool attached to the robot end effector.
Definition: vpViper650.h:99
static const char *const CONST_EMC_PTGREY_FLEA2_WITHOUT_DISTORTION_FILENAME
Definition: vpViper650.h:74
Generic class defining intrinsic camera parameters.
Modelisation of the ADEPT Viper 650 robot.
Definition: vpViper650.h:66
static const char *const CONST_CAMERA_FILENAME
Definition: vpViper650.h:80
static const char *const CONST_MARLIN_F033C_CAMERA_NAME
Definition: vpViper650.h:85
vpToolType
List of possible tools that can be attached to the robot end-effector.
Definition: vpViper650.h:91
static const char *const CONST_PTGREY_FLEA2_CAMERA_NAME
Definition: vpViper650.h:86
vpCameraParameters::vpCameraParametersProjType getCameraParametersProjType() const
Get the current camera model projection type.
Definition: vpViper650.h:114
static const char *const CONST_SCHUNK_GRIPPER_CAMERA_NAME
Definition: vpViper650.h:87
static const char *const CONST_EMC_SCHUNK_GRIPPER_WITHOUT_DISTORTION_FILENAME
Definition: vpViper650.h:76
static const char *const CONST_EMC_GENERIC_WITHOUT_DISTORTION_FILENAME
Definition: vpViper650.h:78
void setToolType(vpViper650::vpToolType tool)
Set the current tool type.
Definition: vpViper650.h:136
static const char *const CONST_GENERIC_CAMERA_NAME
Definition: vpViper650.h:88