laser_data_drawing.h
Go to the documentation of this file.
00001 #ifndef H_LASER_DATA_DRAWING
00002 #define H_LASER_DATA_DRAWING
00003 
00004 #include "laser_data.h"
00005 
00006 typedef enum { Invalid = 0, Odometry = 1, Estimate = 2, True_pose = 3 } ld_reference;
00007 
00008 const char*ld_reference_to_string(ld_reference);
00009 ld_reference ld_string_to_reference(const char*string);
00010 
00013 double * ld_get_reference_pose_silent(LDP ld, ld_reference use_reference);
00016 double * ld_get_reference_pose(LDP ld, ld_reference use_reference);
00017 
00018 
00019 
00020 int ld_read_some_scans_distance(FILE*file, LDP **array, int*num, 
00021         ld_reference which, double d_xy, double d_th);
00022 
00023 typedef struct {
00025         double pose[3]; 
00027         double size[2]; 
00028 } oriented_bbox;
00029 
00030 typedef oriented_bbox* BB2;
00031 
00032 
00034 int ld_get_bounding_box(LDP ld, double bb_min[2], double bb_max[2],
00035         double pose[3], double horizon);
00036         
00037 void lda_get_bounding_box(LDP *ld, int nld, double bb_min[2], double bb_max[2],
00038         double offset[3], ld_reference use_reference, double horizon);
00039 
00040 /*void lda_get_bb2(LDP *ld, int nld, BB2 bb2, ld_reference use_reference, double horizon);*/
00041 
00042 
00043 void oriented_bbox_compute_corners(const BB2,
00044         double ul[2], double ur[2], double ll[2], double lr[2]);
00045 
00046 void ld_get_oriented_bbox(LDP ld, double horizon, BB2);
00047 
00048 /* Simple API for finding bounding box */
00049 struct bbfind_imp;
00050 typedef struct bbfind_imp bbfind;
00051 bbfind * bbfind_new();
00052 
00053 int bbfind_add_point(bbfind*, double point[2]);
00054 int bbfind_add_point2(bbfind*, double x, double y);
00055 int bbfind_add_bbox(bbfind*, const BB2);
00056 
00057 int bbfind_compute(bbfind*, BB2);
00058 void bbfind_free(bbfind*);
00059 
00060 /* For drawing stroke */
00061 
00062 struct stroke_sequence {
00063         int begin_new_stroke;
00064         int end_stroke;
00065         int valid;
00066         
00067         double p[2];
00068 }; 
00069 
00070 void compute_stroke_sequence(LDP ld, struct stroke_sequence*,
00071         double horizon, double connect_threshold);
00072 
00073 
00074 #endif


csm
Author(s): Andrea Censi
autogenerated on Mon Jan 16 2017 03:48:29