aaa

Dependencies:   mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic

Committer:
nakedt555
Date:
Tue Dec 11 17:51:47 2018 +0000
Revision:
3:a45557a0dcb8
Parent:
2:086272a2da1c
Child:
4:cf1a4e503974
12/10iikanji

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