hom_pose.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <geometry/hom_pose.h>
00025
00026 namespace fawkes {
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 HomPose::HomPose(float x, float y, float yaw)
00040 : HomPoint(x, y)
00041 {
00042 m_roll = 0.0;
00043 m_pitch = 0.0;
00044 m_yaw = yaw;
00045 }
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 HomPose::HomPose(float x, float y, float z, float roll, float pitch, float yaw)
00057 : HomPoint(x, y, z)
00058 {
00059 m_roll = roll;
00060 m_pitch = pitch;
00061 m_yaw = yaw;
00062 }
00063
00064
00065
00066
00067 HomPose::HomPose(const HomCoord& h)
00068 : HomPoint(h)
00069 {
00070 m_roll = 0.0;
00071 m_pitch = 0.0;
00072 m_yaw = 0.0;
00073 }
00074
00075
00076 HomPose::~HomPose()
00077 {
00078 }
00079
00080
00081
00082
00083 float
00084 HomPose::roll() const
00085 {
00086 return m_roll;
00087 }
00088
00089
00090
00091
00092 float&
00093 HomPose::roll()
00094 {
00095 return m_roll;
00096 }
00097
00098
00099
00100
00101 void
00102 HomPose::roll(float roll)
00103 {
00104 m_roll = roll;
00105 }
00106
00107
00108
00109
00110 float
00111 HomPose::pitch() const
00112 {
00113 return m_pitch;
00114 }
00115
00116
00117
00118
00119 float&
00120 HomPose::pitch()
00121 {
00122 return m_pitch;
00123 }
00124
00125
00126
00127
00128 void
00129 HomPose::pitch(float pitch)
00130 {
00131 m_pitch = pitch;
00132 }
00133
00134
00135
00136
00137 float
00138 HomPose::yaw() const
00139 {
00140 return m_yaw;
00141 }
00142
00143
00144
00145
00146 float&
00147 HomPose::yaw()
00148 {
00149 return m_yaw;
00150 }
00151
00152
00153
00154
00155 void
00156 HomPose::yaw(float yaw)
00157 {
00158 m_yaw = yaw;
00159 }
00160
00161
00162
00163
00164 HomPoint
00165 HomPose::pos() const
00166 {
00167 HomPoint pos;
00168 pos.x() = x();
00169 pos.y() = y();
00170 pos.z() = z();
00171
00172 return pos;
00173 }
00174
00175 HomPose&
00176 HomPose::rotate_x(float rad)
00177 {
00178 HomCoord::rotate_x(rad);
00179 m_roll += rad;
00180
00181 return *this;
00182 }
00183
00184 HomPose&
00185 HomPose::rotate_y(float rad)
00186 {
00187 HomCoord::rotate_y(rad);
00188 m_roll += rad;
00189
00190 return *this;
00191 }
00192
00193 HomPose&
00194 HomPose::rotate_z(float rad)
00195 {
00196 HomCoord::rotate_z(rad);
00197 m_roll += rad;
00198
00199 return *this;
00200 }
00201
00202 }