aaa

Dependencies:   mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic

Committer:
nakedt555
Date:
Tue Dec 18 21:00:30 2018 +0000
Revision:
5:e678f1ac6cdc
Parent:
4:cf1a4e503974
before can it

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 5:e678f1ac6cdc 54
nakedt555 5:e678f1ac6cdc 55 Vec3f operator + (Vec3f add){
nakedt555 5:e678f1ac6cdc 56 return Vec3f(x_ + add.x(), y_ + add.y(), z_ + add.z());
nakedt555 5:e678f1ac6cdc 57 }
nakedt555 1:bdd17feaa4ce 58 };
nakedt555 1:bdd17feaa4ce 59
nakedt555 2:086272a2da1c 60 class Vec4f : public Vec3f
nakedt555 2:086272a2da1c 61 {
nakedt555 2:086272a2da1c 62 private:
nakedt555 2:086272a2da1c 63 float w_;
nakedt555 2:086272a2da1c 64
nakedt555 2:086272a2da1c 65 public:
nakedt555 2:086272a2da1c 66 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 67
nakedt555 2:086272a2da1c 68 }
nakedt555 2:086272a2da1c 69
nakedt555 2:086272a2da1c 70 //Setter
nakedt555 2:086272a2da1c 71 void w(float w){
nakedt555 2:086272a2da1c 72 w_ = w;
nakedt555 2:086272a2da1c 73 }
nakedt555 2:086272a2da1c 74
nakedt555 2:086272a2da1c 75 //Getter
nakedt555 2:086272a2da1c 76 float w(){
nakedt555 2:086272a2da1c 77 return w_;
nakedt555 2:086272a2da1c 78 }
nakedt555 2:086272a2da1c 79 };
nakedt555 2:086272a2da1c 80
nakedt555 1:bdd17feaa4ce 81 #endif