aaa
Dependencies: mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic
type.h@5:e678f1ac6cdc, 2018-12-18 (annotated)
- 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?
User | Revision | Line number | New 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 |