aaa

Dependencies:   mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic

Committer:
nakedt555
Date:
Wed Dec 12 03:35:52 2018 +0000
Revision:
4:cf1a4e503974
Parent:
3:a45557a0dcb8
Child:
5:e678f1ac6cdc
toriaezu ok;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nakedt555 1:bdd17feaa4ce 1 #ifndef _TYPE_H_
nakedt555 1:bdd17feaa4ce 2 #define _TYPE_H_
nakedt555 1:bdd17feaa4ce 3
nakedt555 4:cf1a4e503974 4 #include <ros.h>
nakedt555 1:bdd17feaa4ce 5 #include <geometry_msgs/Point.h>
nakedt555 1:bdd17feaa4ce 6
nakedt555 1:bdd17feaa4ce 7 class Vec3f{
nakedt555 1:bdd17feaa4ce 8 private:
nakedt555 1:bdd17feaa4ce 9 float x_;
nakedt555 1:bdd17feaa4ce 10 float y_;
nakedt555 1:bdd17feaa4ce 11 float z_;
nakedt555 1:bdd17feaa4ce 12 geometry_msgs::Point data_;
nakedt555 1:bdd17feaa4ce 13
nakedt555 1:bdd17feaa4ce 14 public:
nakedt555 1:bdd17feaa4ce 15 //Constructor
nakedt555 1:bdd17feaa4ce 16 Vec3f(float x = 0.0f, float y = 0.0f, float z = 0.0f) : x_(x), y_(y), z_(z){
nakedt555 1:bdd17feaa4ce 17 //Create point msgs
nakedt555 1:bdd17feaa4ce 18 data_.x = x;
nakedt555 1:bdd17feaa4ce 19 data_.y = y;
nakedt555 1:bdd17feaa4ce 20 data_.z = z;
nakedt555 1:bdd17feaa4ce 21 }
nakedt555 1:bdd17feaa4ce 22
nakedt555 1:bdd17feaa4ce 23 //Setter
nakedt555 1:bdd17feaa4ce 24 void x(float x){
nakedt555 3:a45557a0dcb8 25 data_.x = x_ = x;
nakedt555 1:bdd17feaa4ce 26 }
nakedt555 1:bdd17feaa4ce 27 void y(float y){
nakedt555 3:a45557a0dcb8 28 data_.y = y_ = y;
nakedt555 1:bdd17feaa4ce 29 }
nakedt555 1:bdd17feaa4ce 30 void z(float z){
nakedt555 3:a45557a0dcb8 31 data_.z = z_ = z;
nakedt555 2:086272a2da1c 32 }
nakedt555 2:086272a2da1c 33 void angle(float angle){
nakedt555 3:a45557a0dcb8 34 z(angle);
nakedt555 1:bdd17feaa4ce 35 }
nakedt555 1:bdd17feaa4ce 36
nakedt555 1:bdd17feaa4ce 37 //Getter
nakedt555 1:bdd17feaa4ce 38 float x(){
nakedt555 1:bdd17feaa4ce 39 return x_;
nakedt555 1:bdd17feaa4ce 40 }
nakedt555 1:bdd17feaa4ce 41 float y(){
nakedt555 1:bdd17feaa4ce 42 return y_;
nakedt555 1:bdd17feaa4ce 43 }
nakedt555 1:bdd17feaa4ce 44 float z(){
nakedt555 1:bdd17feaa4ce 45 return z_;
nakedt555 1:bdd17feaa4ce 46 }
nakedt555 2:086272a2da1c 47 float angle(){
nakedt555 2:086272a2da1c 48 return z_;
nakedt555 2:086272a2da1c 49 }
nakedt555 1:bdd17feaa4ce 50
nakedt555 1:bdd17feaa4ce 51 geometry_msgs::Point get_point_msgs(){
nakedt555 1:bdd17feaa4ce 52 return data_;
nakedt555 1:bdd17feaa4ce 53 }
nakedt555 1:bdd17feaa4ce 54 };
nakedt555 1:bdd17feaa4ce 55
nakedt555 2:086272a2da1c 56 class Vec4f : public Vec3f
nakedt555 2:086272a2da1c 57 {
nakedt555 2:086272a2da1c 58 private:
nakedt555 2:086272a2da1c 59 float w_;
nakedt555 2:086272a2da1c 60
nakedt555 2:086272a2da1c 61 public:
nakedt555 2:086272a2da1c 62 Vec4f(float x = 0.0f, float y = 0.0f, float z = 0.0f, float w = 0.0f) : Vec3f(x, y, z), w_(w){
nakedt555 2:086272a2da1c 63
nakedt555 2:086272a2da1c 64 }
nakedt555 2:086272a2da1c 65
nakedt555 2:086272a2da1c 66 //Setter
nakedt555 2:086272a2da1c 67 void w(float w){
nakedt555 2:086272a2da1c 68 w_ = w;
nakedt555 2:086272a2da1c 69 }
nakedt555 2:086272a2da1c 70
nakedt555 2:086272a2da1c 71 //Getter
nakedt555 2:086272a2da1c 72 float w(){
nakedt555 2:086272a2da1c 73 return w_;
nakedt555 2:086272a2da1c 74 }
nakedt555 2:086272a2da1c 75 };
nakedt555 2:086272a2da1c 76
nakedt555 1:bdd17feaa4ce 77 #endif