-
Notifications
You must be signed in to change notification settings - Fork 2
/
user_input.h
60 lines (36 loc) · 1022 Bytes
/
user_input.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
* user_input.h
*
* Created on: Mar 1, 2012
* Author: Nikolas Engelhard
*/
#ifndef USER_INPUT_H_
#define USER_INPUT_H_
#include "calibration.h"
#include <pcl/point_types.h>
#include <pcl/filters/passthrough.h>
#include "projector_calibrator.h"
#include <pcl/segmentation/extract_polygonal_prism_data.h>
void projectCloudIntoProjector(const Cloud& cloud, const cv::Mat& P, cv::Mat& img);
struct User_Input {
ros::NodeHandle * nh;
ros::Publisher pub_filtered;
ros::Publisher pub_hand;
Projector_Calibrator *calibrator;
std::vector<cv::Point2i> checkerboard_area;
Cloud checkerboard_area_3d;
Cloud cloud_, prism;
pcl_Point fingertip;
bool finger_found;
void setCloud(const Cloud& cloud);
// TODO: name
// cloud is in wall-frame
void processPrismTRIVIAL();
void init(){
nh = new ros::NodeHandle();
finger_found = false;
pub_filtered = nh->advertise<Cloud>("user_input_full", 1);
pub_hand = nh->advertise<Cloud>("user_input_hand", 1);
}
};
#endif /* USER_INPUT_H_ */