168 m[3][0] = a_pos(0);
m[3][1] = a_pos(1);
m[3][2] = a_pos(2);
186 m[0][0] = a_rot(0,0);
m[0][1] = a_rot(1,0);
m[0][2] = a_rot(2,0);
187 m[1][0] = a_rot(0,1);
m[1][1] = a_rot(1,1);
m[1][2] = a_rot(2,1);
188 m[2][0] = a_rot(0,2);
m[2][1] = a_rot(1,2);
m[2][2] = a_rot(2,2);
211 m[0][0] = a_rot(0,0);
m[0][1] = a_rot(1,0);
m[0][2] = a_rot(2,0);
212 m[1][0] = a_rot(0,1);
m[1][1] = a_rot(1,1);
m[1][2] = a_rot(2,1);
213 m[2][0] = a_rot(0,2);
m[2][1] = a_rot(1,2);
m[2][2] = a_rot(2,2);
214 m[3][0] = a_pos(0);
m[3][1] = a_pos(1);
m[3][2] = a_pos(2);
247 inline void set(
const double& a_00,
const double& a_01,
const double& a_02,
const double& a_03,
248 const double& a_10,
const double& a_11,
const double& a_12,
const double& a_13,
249 const double& a_20,
const double& a_21,
const double& a_22,
const double& a_23,
250 const double& a_30,
const double& a_31,
const double& a_32,
const double& a_33)
252 m[0][0] = a_00;
m[0][1] = a_01;
m[0][2] = a_02;
m[0][3] = a_03;
253 m[1][0] = a_10;
m[1][1] = a_11;
m[1][2] = a_12;
m[1][3] = a_13;
254 m[2][0] = a_20;
m[2][1] = a_21;
m[2][2] = a_22;
m[2][3] = a_23;
255 m[3][0] = a_30;
m[3][1] = a_31;
m[3][2] = a_32;
m[3][3] = a_33;
285 m[0][0] = (2.0*a_n) / (a_r-a_l);
291 m[1][1] = (2.0*a_n) / (a_t-a_b);
295 m[2][0] = (a_r+a_l) / (a_r-a_l);
296 m[2][1] = (a_t+a_b) / (a_t-a_b);
297 m[2][2] = -(a_f+a_n) / (a_f-a_n);
302 m[3][2] = -(2.0*a_f*a_n) / (a_f-a_n);
332 const double a_centerX,
333 const double a_centerY,
334 const double a_centerZ,
339 double x[3], y[3], z[3];
345 z[0] = a_eyeX - a_centerX;
346 z[1] = a_eyeY - a_centerY;
347 z[2] = a_eyeZ - a_centerZ;
349 mag = sqrt(z[0]*z[0] + z[1]*z[1] + z[2]*z[2]);
363 x[0] = y[1]*z[2] - y[2]*z[1];
364 x[1] = -y[0]*z[2] + y[2]*z[0];
365 x[2] = y[0]*z[1] - y[1]*z[0];
368 y[0] = z[1]*x[2] - z[2]*x[1];
369 y[1] = -z[0]*x[2] + z[2]*x[0];
370 y[2] = z[0]*x[1] - z[1]*x[0];
373 mag = sqrt( x[0]*x[0] + x[1]*x[1] + x[2]*x[2] );
380 mag = sqrt( y[0]*y[0] + y[1]*y[1] + y[2]*y[2] );
387 m[0][0] = x[0];
m[1][0] = x[1];
m[2][0] = x[2];
m[3][0] = -x[0]*a_eyeX + -x[1]*a_eyeY + -x[2]*a_eyeZ;
388 m[0][1] = y[0];
m[1][1] = y[1];
m[2][1] = y[2];
m[3][1] = -y[0]*a_eyeX + -y[1]*a_eyeY + -y[2]*a_eyeZ;
389 m[0][2] = z[0];
m[1][2] = z[1];
m[2][2] = z[2];
m[3][2] = -z[0]*a_eyeX + -z[1]*a_eyeY + -z[2]*a_eyeZ;
390 m[0][3] = 0.0;
m[1][3] = 0.0;
m[2][3] = 0.0;
m[3][3] = 1.0;
415 a_lookAt(0), a_lookAt(1), a_lookAt(2),
416 a_up(0), a_up(1), a_up(2));
439 const double a_aspect,
440 const double a_zNear,
443 double xMin, xMax, yMin, yMax;
445 yMax = a_zNear * tan(a_fovy *
C_PI / 360.0);
448 xMin = yMin * a_aspect;
449 xMax = yMax * a_aspect;
505 mat.
set(
m[0][0],
m[1][0],
m[2][0],
506 m[0][1],
m[1][1],
m[2][1],
507 m[0][2],
m[1][2],
m[2][2]);
530 a_destination.
m[0][0] =
m[0][0]; a_destination.
m[0][1] =
m[0][1];
531 a_destination.
m[0][2] =
m[0][2]; a_destination.
m[0][3] =
m[0][3];
532 a_destination.
m[1][0] =
m[1][0]; a_destination.
m[1][1] =
m[1][1];
533 a_destination.
m[1][2] =
m[1][2]; a_destination.
m[1][3] =
m[1][3];
534 a_destination.
m[2][0] =
m[2][0]; a_destination.
m[2][1] =
m[2][1];
535 a_destination.
m[2][2] =
m[2][2]; a_destination.
m[2][3] =
m[2][3];
536 a_destination.
m[3][0] =
m[3][0]; a_destination.
m[3][1] =
m[3][1];
537 a_destination.
m[3][2] =
m[3][2]; a_destination.
m[3][3] =
m[3][3];
561 m[0][0] = a_source.
m[0][0];
m[0][1] = a_source.
m[0][1];
562 m[0][2] = a_source.
m[0][2];
m[0][3] = a_source.
m[0][3];
563 m[1][0] = a_source.
m[1][0];
m[1][1] = a_source.
m[1][1];
564 m[1][2] = a_source.
m[1][2];
m[1][3] = a_source.
m[1][3];
565 m[2][0] = a_source.
m[2][0];
m[2][1] = a_source.
m[2][1];
566 m[2][2] = a_source.
m[2][2];
m[2][3] = a_source.
m[2][3];
567 m[3][0] = a_source.
m[3][0];
m[3][1] = a_source.
m[3][1];
568 m[3][2] = a_source.
m[3][2];
m[3][3] = a_source.
m[3][3];
586 m[0][0] = 1.0;
m[0][1] = 0.0;
m[0][2] = 0.0;
m[0][3] = 0.0;
587 m[1][0] = 0.0;
m[1][1] = 1.0;
m[1][2] = 0.0;
m[1][3] = 0.0;
588 m[2][0] = 0.0;
m[2][1] = 0.0;
m[2][2] = 1.0;
m[2][3] = 0.0;
589 m[3][0] = 0.0;
m[3][1] = 0.0;
m[3][2] = 0.0;
m[3][3] = 1.0;
616 double m00 =
m[0][0] * a_matrix.
m[0][0] +
m[1][0] * a_matrix.
m[0][1] +
617 m[2][0] * a_matrix.
m[0][2] +
m[3][0] * a_matrix.
m[0][3];
618 double m01 =
m[0][0] * a_matrix.
m[1][0] +
m[1][0] * a_matrix.
m[1][1] +
619 m[2][0] * a_matrix.
m[1][2] +
m[3][0] * a_matrix.
m[1][3];
620 double m02 =
m[0][0] * a_matrix.
m[2][0] +
m[1][0] * a_matrix.
m[2][1] +
621 m[2][0] * a_matrix.
m[2][2] +
m[3][0] * a_matrix.
m[2][3];
622 double m03 =
m[0][0] * a_matrix.
m[3][0] +
m[1][0] * a_matrix.
m[3][1] +
623 m[2][0] * a_matrix.
m[3][2] +
m[3][0] * a_matrix.
m[3][3];
625 double m10 =
m[0][1] * a_matrix.
m[0][0] +
m[1][1] * a_matrix.
m[0][1] +
626 m[2][1] * a_matrix.
m[0][2] +
m[3][1] * a_matrix.
m[0][3];
627 double m11 =
m[0][1] * a_matrix.
m[1][0] +
m[1][1] * a_matrix.
m[1][1] +
628 m[2][1] * a_matrix.
m[1][2] +
m[3][1] * a_matrix.
m[1][3];
629 double m12 =
m[0][1] * a_matrix.
m[2][0] +
m[1][1] * a_matrix.
m[2][1] +
630 m[2][1] * a_matrix.
m[2][2] +
m[3][1] * a_matrix.
m[2][3];
631 double m13 =
m[0][1] * a_matrix.
m[3][0] +
m[1][1] * a_matrix.
m[3][1] +
632 m[2][1] * a_matrix.
m[3][2] +
m[3][1] * a_matrix.
m[3][3];
634 double m20 =
m[0][2] * a_matrix.
m[0][0] +
m[1][2] * a_matrix.
m[0][1] +
635 m[2][2] * a_matrix.
m[0][2] +
m[3][2] * a_matrix.
m[0][3];
636 double m21 =
m[0][2] * a_matrix.
m[1][0] +
m[1][2] * a_matrix.
m[1][1] +
637 m[2][2] * a_matrix.
m[1][2] +
m[3][2] * a_matrix.
m[1][3];
638 double m22 =
m[0][2] * a_matrix.
m[2][0] +
m[1][2] * a_matrix.
m[2][1] +
639 m[2][2] * a_matrix.
m[2][2] +
m[3][2] * a_matrix.
m[2][3];
640 double m23 =
m[0][2] * a_matrix.
m[3][0] +
m[1][2] * a_matrix.
m[3][1] +
641 m[2][2] * a_matrix.
m[3][2] +
m[3][2] * a_matrix.
m[3][3];
643 double m30 =
m[0][3] * a_matrix.
m[0][0] +
m[1][3] * a_matrix.
m[0][1] +
644 m[2][3] * a_matrix.
m[0][2] +
m[3][3] * a_matrix.
m[0][3];
645 double m31 =
m[0][3] * a_matrix.
m[1][0] +
m[1][3] * a_matrix.
m[1][1] +
646 m[2][3] * a_matrix.
m[1][2] +
m[3][3] * a_matrix.
m[1][3];
647 double m32 =
m[0][3] * a_matrix.
m[2][0] +
m[1][3] * a_matrix.
m[2][1] +
648 m[2][3] * a_matrix.
m[2][2] +
m[3][3] * a_matrix.
m[2][3];
649 double m33 =
m[0][3] * a_matrix.
m[3][0] +
m[1][3] * a_matrix.
m[3][1] +
650 m[2][3] * a_matrix.
m[3][2] +
m[3][3] * a_matrix.
m[3][3];
653 m[0][0] = m00;
m[0][1] = m10;
m[0][2] = m20;
m[0][3] = m30;
654 m[1][0] = m01;
m[1][1] = m11;
m[1][2] = m21;
m[1][3] = m31;
655 m[2][0] = m02;
m[2][1] = m12;
m[2][2] = m22;
m[2][3] = m32;
656 m[3][0] = m03;
m[3][1] = m13;
m[3][2] = m23;
m[3][3] = m33;
683 double m00 =
m[0][0] * a_matrix.
m[0][0] +
m[1][0] * a_matrix.
m[0][1] +
684 m[2][0] * a_matrix.
m[0][2] +
m[3][0] * a_matrix.
m[0][3];
685 double m01 =
m[0][0] * a_matrix.
m[1][0] +
m[1][0] * a_matrix.
m[1][1] +
686 m[2][0] * a_matrix.
m[1][2] +
m[3][0] * a_matrix.
m[1][3];
687 double m02 =
m[0][0] * a_matrix.
m[2][0] +
m[1][0] * a_matrix.
m[2][1] +
688 m[2][0] * a_matrix.
m[2][2] +
m[3][0] * a_matrix.
m[2][3];
689 double m03 =
m[0][0] * a_matrix.
m[3][0] +
m[1][0] * a_matrix.
m[3][1] +
690 m[2][0] * a_matrix.
m[3][2] +
m[3][0] * a_matrix.
m[3][3];
692 double m10 =
m[0][1] * a_matrix.
m[0][0] +
m[1][1] * a_matrix.
m[0][1] +
693 m[2][1] * a_matrix.
m[0][2] +
m[3][1] * a_matrix.
m[0][3];
694 double m11 =
m[0][1] * a_matrix.
m[1][0] +
m[1][1] * a_matrix.
m[1][1] +
695 m[2][1] * a_matrix.
m[1][2] +
m[3][1] * a_matrix.
m[1][3];
696 double m12 =
m[0][1] * a_matrix.
m[2][0] +
m[1][1] * a_matrix.
m[2][1] +
697 m[2][1] * a_matrix.
m[2][2] +
m[3][1] * a_matrix.
m[2][3];
698 double m13 =
m[0][1] * a_matrix.
m[3][0] +
m[1][1] * a_matrix.
m[3][1] +
699 m[2][1] * a_matrix.
m[3][2] +
m[3][1] * a_matrix.
m[3][3];
701 double m20 =
m[0][2] * a_matrix.
m[0][0] +
m[1][2] * a_matrix.
m[0][1] +
702 m[2][2] * a_matrix.
m[0][2] +
m[3][2] * a_matrix.
m[0][3];
703 double m21 =
m[0][2] * a_matrix.
m[1][0] +
m[1][2] * a_matrix.
m[1][1] +
704 m[2][2] * a_matrix.
m[1][2] +
m[3][2] * a_matrix.
m[1][3];
705 double m22 =
m[0][2] * a_matrix.
m[2][0] +
m[1][2] * a_matrix.
m[2][1] +
706 m[2][2] * a_matrix.
m[2][2] +
m[3][2] * a_matrix.
m[2][3];
707 double m23 =
m[0][2] * a_matrix.
m[3][0] +
m[1][2] * a_matrix.
m[3][1] +
708 m[2][2] * a_matrix.
m[3][2] +
m[3][2] * a_matrix.
m[3][3];
710 double m30 =
m[0][3] * a_matrix.
m[0][0] +
m[1][3] * a_matrix.
m[0][1] +
711 m[2][3] * a_matrix.
m[0][2] +
m[3][3] * a_matrix.
m[0][3];
712 double m31 =
m[0][3] * a_matrix.
m[1][0] +
m[1][3] * a_matrix.
m[1][1] +
713 m[2][3] * a_matrix.
m[1][2] +
m[3][3] * a_matrix.
m[1][3];
714 double m32 =
m[0][3] * a_matrix.
m[2][0] +
m[1][3] * a_matrix.
m[2][1] +
715 m[2][3] * a_matrix.
m[2][2] +
m[3][3] * a_matrix.
m[2][3];
716 double m33 =
m[0][3] * a_matrix.
m[3][0] +
m[1][3] * a_matrix.
m[3][1] +
717 m[2][3] * a_matrix.
m[3][2] +
m[3][3] * a_matrix.
m[3][3];
720 a_result.
m[0][0] = m00; a_result.
m[0][1] = m10; a_result.
m[0][2] = m20; a_result.
m[0][3] = m30;
721 a_result.
m[1][0] = m01; a_result.
m[1][1] = m11; a_result.
m[1][2] = m21; a_result.
m[1][3] = m31;
722 a_result.
m[2][0] = m02; a_result.
m[2][1] = m12; a_result.
m[2][2] = m22; a_result.
m[2][3] = m32;
723 a_result.
m[3][0] = m03; a_result.
m[3][1] = m13; a_result.
m[3][2] = m23; a_result.
m[3][3] = m33;
749 a_result(0) =
m[0][0] * a_vector(0) +
m[1][0] * a_vector(1) +
m[2][0] * a_vector(2) +
m[3][0] * 1.0;
750 a_result(1) =
m[0][1] * a_vector(0) +
m[1][1] * a_vector(1) +
m[2][1] * a_vector(2) +
m[3][1] * 1.0;
751 a_result(2) =
m[0][2] * a_vector(0) +
m[1][2] * a_vector(1) +
m[2][2] * a_vector(2) +
m[3][2] * 1.0;
770 t =
m[0][1];
m[0][1] =
m[1][0];
m[1][0] = t;
771 t =
m[0][2];
m[0][2] =
m[2][0];
m[2][0] = t;
772 t =
m[0][3];
m[0][3] =
m[3][0];
m[3][0] = t;
773 t =
m[1][2];
m[1][2] =
m[2][1];
m[2][1] = t;
774 t =
m[1][3];
m[1][3] =
m[3][1];
m[3][1] = t;
775 t =
m[2][3];
m[2][3] =
m[3][2];
m[3][2] = t;
794 a_result.
m[0][0] =
m[0][0];
795 a_result.
m[0][1] =
m[1][0];
796 a_result.
m[0][2] =
m[2][0];
797 a_result.
m[0][3] =
m[3][0];
799 a_result.
m[1][0] =
m[0][1];
800 a_result.
m[1][1] =
m[1][1];
801 a_result.
m[1][2] =
m[2][1];
802 a_result.
m[1][3] =
m[3][1];
804 a_result.
m[2][0] =
m[0][2];
805 a_result.
m[2][1] =
m[1][2];
806 a_result.
m[2][2] =
m[2][2];
807 a_result.
m[2][3] =
m[3][2];
809 a_result.
m[3][0] =
m[0][3];
810 a_result.
m[3][1] =
m[1][3];
811 a_result.
m[3][2] =
m[2][3];
812 a_result.
m[3][3] =
m[3][3];
834 t =
m[0][1];
m[0][1] =
m[1][0];
m[1][0] = t;
835 t =
m[0][2];
m[0][2] =
m[2][0];
m[2][0] = t;
836 t =
m[1][2];
m[1][2] =
m[2][1];
m[2][1] = t;
839 double x = -
m[0][0] *
m[3][0] -
m[1][0] *
m[3][1] -
m[2][0] *
m[3][2];
840 double y = - m[0][1] * m[3][0] - m[1][1] * m[3][1] - m[2][1] * m[3][2];
841 double z = - m[0][2] * m[3][0] - m[1][2] * m[3][1] - m[2][2] * m[3][2];
852 #ifndef DOXYGEN_SHOULD_SKIP_THIS 853 #define SWAP_ROWS(a, b) { double *_tmp = a; (a)=(b); (b)=_tmp; } 854 #define MAT(m,r,c) (m)[(c)*4+(r)] 859 double m0, m1, m2, m3, s;
860 double *r0, *r1, *r2, *r3;
862 r0 = wtmp[0], r1 = wtmp[1], r2 = wtmp[2], r3 = wtmp[3];
864 r0[0] = MAT(mat,0,0), r0[1] = MAT(mat,0,1),
865 r0[2] = MAT(mat,0,2), r0[3] = MAT(mat,0,3),
866 r0[4] = 1.0, r0[5] = r0[6] = r0[7] = 0.0,
868 r1[0] = MAT(mat,1,0), r1[1] = MAT(mat,1,1),
869 r1[2] = MAT(mat,1,2), r1[3] = MAT(mat,1,3),
870 r1[5] = 1.0, r1[4] = r1[6] = r1[7] = 0.0,
872 r2[0] = MAT(mat,2,0), r2[1] = MAT(mat,2,1),
873 r2[2] = MAT(mat,2,2), r2[3] = MAT(mat,2,3),
874 r2[6] = 1.0, r2[4] = r2[5] = r2[7] = 0.0,
876 r3[0] = MAT(mat,3,0), r3[1] = MAT(mat,3,1),
877 r3[2] = MAT(mat,3,2), r3[3] = MAT(mat,3,3),
878 r3[7] = 1.0, r3[4] = r3[5] = r3[6] = 0.0;
881 if (fabs(r3[0])>fabs(r2[0])) SWAP_ROWS(r3, r2);
882 if (fabs(r2[0])>fabs(r1[0])) SWAP_ROWS(r2, r1);
883 if (fabs(r1[0])>fabs(r0[0])) SWAP_ROWS(r1, r0);
890 m1 = r1[0]/r0[0]; m2 = r2[0]/r0[0]; m3 = r3[0]/r0[0];
891 s = r0[1]; r1[1] -= m1 * s; r2[1] -= m2 * s; r3[1] -= m3 * s;
892 s = r0[2]; r1[2] -= m1 * s; r2[2] -= m2 * s; r3[2] -= m3 * s;
893 s = r0[3]; r1[3] -= m1 * s; r2[3] -= m2 * s; r3[3] -= m3 * s;
895 if (s != 0.0) { r1[4] -= m1 * s; r2[4] -= m2 * s; r3[4] -= m3 * s; }
897 if (s != 0.0) { r1[5] -= m1 * s; r2[5] -= m2 * s; r3[5] -= m3 * s; }
899 if (s != 0.0) { r1[6] -= m1 * s; r2[6] -= m2 * s; r3[6] -= m3 * s; }
901 if (s != 0.0) { r1[7] -= m1 * s; r2[7] -= m2 * s; r3[7] -= m3 * s; }
904 if (fabs(r3[1])>fabs(r2[1])) SWAP_ROWS(r3, r2);
905 if (fabs(r2[1])>fabs(r1[1])) SWAP_ROWS(r2, r1);
912 m2 = r2[1]/r1[1]; m3 = r3[1]/r1[1];
913 r2[2] -= m2 * r1[2]; r3[2] -= m3 * r1[2];
914 r2[3] -= m2 * r1[3]; r3[3] -= m3 * r1[3];
915 s = r1[4];
if (0.0 != s) { r2[4] -= m2 * s; r3[4] -= m3 * s; }
916 s = r1[5];
if (0.0 != s) { r2[5] -= m2 * s; r3[5] -= m3 * s; }
917 s = r1[6];
if (0.0 != s) { r2[6] -= m2 * s; r3[6] -= m3 * s; }
918 s = r1[7];
if (0.0 != s) { r2[7] -= m2 * s; r3[7] -= m3 * s; }
921 if (fabs(r3[2])>fabs(r2[2])) SWAP_ROWS(r3, r2);
929 r3[3] -= m3 * r2[3], r3[4] -= m3 * r2[4],
930 r3[5] -= m3 * r2[5], r3[6] -= m3 * r2[6],
940 r3[4] *= s; r3[5] *= s; r3[6] *= s; r3[7] *= s;
944 r2[4] = s * (r2[4] - r3[4] * m2), r2[5] = s * (r2[5] - r3[5] * m2),
945 r2[6] = s * (r2[6] - r3[6] * m2), r2[7] = s * (r2[7] - r3[7] * m2);
947 r1[4] -= r3[4] * m1, r1[5] -= r3[5] * m1,
948 r1[6] -= r3[6] * m1, r1[7] -= r3[7] * m1;
950 r0[4] -= r3[4] * m0, r0[5] -= r3[5] * m0,
951 r0[6] -= r3[6] * m0, r0[7] -= r3[7] * m0;
955 r1[4] = s * (r1[4] - r2[4] * m1), r1[5] = s * (r1[5] - r2[5] * m1),
956 r1[6] = s * (r1[6] - r2[6] * m1), r1[7] = s * (r1[7] - r2[7] * m1);
958 r0[4] -= r2[4] * m0, r0[5] -= r2[5] * m0,
959 r0[6] -= r2[6] * m0, r0[7] -= r2[7] * m0;
963 r0[4] = s * (r0[4] - r1[4] * m0), r0[5] = s * (r0[5] - r1[5] * m0),
964 r0[6] = s * (r0[6] - r1[6] * m0), r0[7] = s * (r0[7] - r1[7] * m0);
966 MAT(mat,0,0) = r0[4]; MAT(mat,0,1) = r0[5],
967 MAT(mat,0,2) = r0[6]; MAT(mat,0,3) = r0[7],
968 MAT(mat,1,0) = r1[4]; MAT(mat,1,1) = r1[5],
969 MAT(mat,1,2) = r1[6]; MAT(mat,1,3) = r1[7],
970 MAT(mat,2,0) = r2[4]; MAT(mat,2,1) = r2[5],
971 MAT(mat,2,2) = r2[6]; MAT(mat,2,3) = r2[7],
972 MAT(mat,3,0) = r3[4]; MAT(mat,3,1) = r3[5],
973 MAT(mat,3,2) = r3[6]; MAT(mat,3,3) = r3[7];
1000 inline std::string
str(
const int a_precision)
1003 result.append(
"[ ");
1004 for (
int i=0; i<4; i++)
1006 result.append(
"( ");
1007 for (
int j=0; j<4; j++)
1009 result.append(
cStr(
m[j][i], a_precision));
1012 result.append(
", ");
1015 result.append(
" ) ");
1024 inline double&
operator() (
const int a_index0,
const int a_index1)
1026 return m[a_index1][a_index0];
1031 inline const double&
operator() (
const int a_index0,
const int a_index1)
const 1033 return m[a_index1][a_index0];
1064 a_matrix1.
mulr(a_matrix2, result);
1077 a_matrix.
mulr(a_vector, result);
This class implements a 3D vector.
Definition: CVector3d.h:88
cVector3d operator*(const cMatrix3d &a_matrix, const cVector3d &a_vector)
An overloaded * operator for matrix/vector multiplication.
Definition: CMatrix3d.h:2078
std::string cStr(const bool a_value)
This function converts a boolean into a string.
Definition: CString.cpp:189
const double C_PI
PI constant.
Definition: CConstants.h:88
This class implements a 3D matrix.
Definition: CMatrix3d.h:97
void set(const double &a_value)
This method initializes all elements of this matrix with an input value.
Definition: CMatrix3d.h:345
Definition: CAudioBuffer.cpp:56