GLcoordinates.cpp
Go to the documentation of this file.
1 #include <iostream>
2 #include "GLcoordinates.h"
3 
5 {
6  for (int i=0; i<16; i++) m_trans[i] = 0.0;
7  m_trans[0] = m_trans[5] = m_trans[10] = m_trans[15] = 1.0;
8 }
9 
10 void GLcoordinates::setTransform(const double i_trans[12]){
11  for (int i=0; i<3; i++){
12  for (int j=0; j<4; j++){
13  m_trans[j*4+i] = i_trans[i*4+j];// transposition for GL
14  }
15  }
16 }
17 
19 {
20  return hrp::Vector3(m_trans[12], m_trans[13], m_trans[14]);
21 }
22 
23 void GLcoordinates::setPosition(double x, double y, double z)
24 {
25  m_trans[12] = x; m_trans[13] = y; m_trans[14] = z;
26 }
27 
28 void GLcoordinates::getPosition(double& x, double& y, double& z)
29 {
30  x = m_trans[12]; y = m_trans[13]; z = m_trans[14];
31 }
32 
33 void GLcoordinates::setRotation(double r, double p, double y)
34 {
36  setRotation(R);
37 }
38 
39 void GLcoordinates::setRotation(double ax, double ay, double az, double th)
40 {
41  hrp::Vector3 axis(ax, ay, az);
43  hrp::calcRodrigues(R, axis, th);
44  setRotation(R);
45 }
46 
48 {
50  for (int i=0; i<3; i++){
51  for (int j=0; j<3; j++){
52  R(j,i) = m_trans[i*4+j];
53  }
54  }
55  return R;
56 }
57 
59 {
60  for (int i=0; i<3; i++){
61  for (int j=0; j<3; j++){
62  m_trans[i*4+j] = R(j,i);
63  }
64  }
65 }
66 
67 void GLcoordinates::setRotation(const double *R)
68 {
69  for (int i=0; i<3; i++){
70  for (int j=0; j<3; j++){
71  m_trans[j*4+i] = R[i*3+j];
72  }
73  }
74 }
75 
77 {
78  for (int i=0; i<3; i++){
79  for (int j=0; j<3; j++){
80  R(j,i) = m_trans[i*4+j];
81  }
82  }
83 }
84 
png_uint_32 i
hrp::Matrix33 getRotation()
void setRotation(double r, double p, double y)
void setTransform(const double i_trans[12])
Eigen::Vector3d Vector3
hrp::Vector3 getPosition()
Matrix33 rotFromRpy(const Vector3 &rpy)
Eigen::Matrix3d Matrix33
void setPosition(double x, double y, double z)
def j(str, encoding="cp932")
HRP_UTIL_EXPORT void calcRodrigues(Matrix44 &out_R, const Vector3 &axis, double q)
double m_trans[16]
Definition: GLcoordinates.h:26


hrpsys
Author(s): AIST, Fumio Kanehiro
autogenerated on Thu May 6 2021 02:41:50