xb3.h
Go to the documentation of this file.
1 /**************************************************************************************************
2  Software License Agreement (BSD License)
3 
4  Copyright (c) 2011-2013, LAR toolkit developers - University of Aveiro - http://lars.mec.ua.pt
5  All rights reserved.
6 
7  Redistribution and use in source and binary forms, with or without modification, are permitted
8  provided that the following conditions are met:
9 
10  *Redistributions of source code must retain the above copyright notice, this list of
11  conditions and the following disclaimer.
12  *Redistributions in binary form must reproduce the above copyright notice, this list of
13  conditions and the following disclaimer in the documentation and/or other materials provided
14  with the distribution.
15  *Neither the name of the University of Aveiro nor the names of its contributors may be used to
16  endorse or promote products derived from this software without specific prior written permission.
17 
18  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
19  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
21  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24  IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 ***************************************************************************************************/
34 #ifndef _XB3_H_
35 #define _XB3_H_
36 
37 //####################################################################
38 // Includes:
39 //####################################################################
40 
41 #include <ros/ros.h>
42 #include <image_transport/image_transport.h>
43 #include <cv_bridge/cv_bridge.h>
44 #include <sensor_msgs/image_encodings.h>
45 #include <opencv2/imgproc/imgproc.hpp>
46 #include <opencv2/highgui/highgui.hpp>
47 #include <sensor_msgs/image_encodings.h>
48 #include <dynamic_reconfigure/server.h>
49 #include <dynamic_reconfigure/SensorLevels.h>
50 #include <driver_base/driver.h>
51 #include <camera_info_manager/camera_info_manager.h>
52 #include <tf/transform_broadcaster.h>
53 
54 
55 
56 
57 #include <signal.h>
58 //=============================================================================
59 // PGR Includes
60 //=============================================================================
61 #include "pgr_registers.h"
62 #include "pgr_stereocam.h"
63 
64 #include <xb3/xb3Config.h>
65 #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);}
66 
67 
68 
69 #ifdef _XB3_CPP_
70 
74 struct tag_t_flags{
75  char debug;
76 }t_flags;
77 
81 struct tag_t_buffers{
82  unsigned int nBufferSize;
83  unsigned char* pucRightRGB;
84  unsigned char* pucLeftRGB;
85  unsigned char* pucCenterRGB;
86  unsigned char* pucGreenBuffer;
87  unsigned char* pucRGBBuffer;
88  unsigned char* pucDeInterlacedBuffer;
89 }t_buffers;
90 
94 struct tag_t_dc1394{
95  PGRStereoCamera_t stereoCamera;
96  unsigned int nThisCam;
97  dc1394_t * d;
98  dc1394camera_t* camera;
99 }t_dc1394;
100 
104 struct tag_t_imgs{
105  cv::Mat left;
106  cv::Mat center;
107  cv::Mat right;
108  cv::Mat left_640_480;
109  cv::Mat right_640_480;
110  cv::Mat center_640_480;
111 }t_imgs;
112 
116 struct tag_t_msgs{
117  sensor_msgs::Image short_left;
118  sensor_msgs::Image short_right;
119  sensor_msgs::Image wide_left;
120  sensor_msgs::Image wide_right;
121 
122  sensor_msgs::CameraInfo short_left_info;
123  sensor_msgs::CameraInfo short_right_info;
124  sensor_msgs::CameraInfo wide_left_info;
125  sensor_msgs::CameraInfo wide_right_info;
126 
127  image_transport::CameraPublisher short_left_pub;
128  image_transport::CameraPublisher short_right_pub;
129  image_transport::CameraPublisher wide_left_pub;
130  image_transport::CameraPublisher wide_right_pub;
131 
132 
133  camera_info_manager::CameraInfoManager *short_left_info_manager;
134  camera_info_manager::CameraInfoManager *short_right_info_manager;
135  camera_info_manager::CameraInfoManager *wide_left_info_manager;
136  camera_info_manager::CameraInfoManager *wide_right_info_manager;
137 
138  std::string short_left_info_url;
139  std::string short_right_info_url;
140  std::string wide_left_info_url;
141  std::string wide_right_info_url;
142 
143 }t_msgs;
144 
145 
146 #endif
147 
148 #endif
149 
Header file for the registers for the PGR toolbox.
Library from Point Grey Research to access the xb3 images.


xb3
Author(s): Miguel Oliveira, Tiago Talhada
autogenerated on Mon Mar 2 2015 01:33:02