42 #include <visp3/core/vpRzyzVector.h>
79 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
136 build(phi, theta, psi);
150 const unsigned int index_0 = 0;
151 const unsigned int index_1 = 1;
152 const unsigned int index_2 = 2;
153 if ((fabs(R[index_1][index_2]) < 1e-6) && (fabs(R[index_0][index_2]) < 1e-6)) {
157 phi = atan2(R[index_1][index_2], R[index_0][index_2]);
159 double cphi = cos(phi);
160 double sphi = sin(phi);
162 double theta = atan2((cphi * R[index_0][index_2]) + (sphi * R[index_1][index_2]), R[index_2][index_2]);
164 double psi = atan2((-sphi * R[0][0]) + (cphi * R[1][0]), (-sphi * R[0][1]) + (cphi * R[1][1]));
166 build(phi, theta, psi);
191 if (rzyz.
size() != 3) {
195 const unsigned int val_3 = 3;
196 for (
unsigned int i = 0; i < val_3; ++i) {
208 if (rzyz.size() != 3) {
212 const unsigned int val_3 = 3;
213 for (
unsigned int i = 0; i < val_3; ++i) {
228 const unsigned int index_0 = 0;
229 const unsigned int index_1 = 1;
230 const unsigned int index_2 = 2;
232 data[index_1] = theta;
262 for (
unsigned int i = 0; i <
dsize; ++i) {
297 if (rzyz.
size() != 3) {
301 const unsigned int val_3 = 3;
302 for (
unsigned int i = 0; i < val_3; ++i) {
309 #if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
333 if (list.size() >
size()) {
336 "Cannot set Euler x-y-z vector out of bounds. It has only %d values while you try to initialize with %d values",
337 size(), list.size()));
339 std::copy(list.begin(), list.end(),
data);
double * data
Address of the first element of the data array.
unsigned int dsize
Current array size (rowNum * colNum)
unsigned int size() const
Return the number of elements of the 2D array.
Implementation of column vector and the associated operations.
error that can be emitted by ViSP classes.
@ dimensionError
Bad dimension.
Implementation of a rotation matrix and operations on such kind of matrices.
vpRotationMatrix & build(const vpHomogeneousMatrix &M)
Implementation of a generic rotation vector.
Implementation of a rotation vector as Euler angle minimal representation.
vpRzyzVector & build(const vpRotationMatrix &R)
VP_DEPRECATED vpRzyzVector buildFrom(const vpRotationMatrix &R)
vpRzyzVector & operator=(const vpColVector &rzyz)
Implementation of a rotation vector as axis-angle minimal representation.