General Purpose Geodetic Library
Sg3dMatrixRdots.h
Go to the documentation of this file.
1 /*
2  *
3  * This file is a part of Space Geodetic Library. The library is used by
4  * nuSolve, a part of CALC/SOLVE system, and designed to make analysis of
5  * geodetic VLBI observations.
6  * Copyright (C) 2010-2020 Sergei Bolotin.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef SG_3D_MATRIX_R_DOTS_H
24 #define SG_3D_MATRIX_R_DOTS_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <Sg3dMatrixR.h>
33 
34 
35 
36 
37 /***===================================================================================================*/
41 /*=====================================================================================================*/
43 {
44 public:
45  //
46  // constructors/destructors:
47  //
52  {
53  switch (axis_)
54  {
55  case X_AXIS:
56  mat[0][0]= 0.0;
57  break;
58  case Y_AXIS:
59  mat[1][1]= 0.0;
60  break;
61  case Z_AXIS:
62  mat[2][2]= 0.0;
63  break;
64  };
65  };
66 
67  //
68  // Functions:
69  //
72  const Sg3dMatrix& operator()(double);
73 };
74 /*=====================================================================================================*/
75 
76 
77 /***===================================================================================================*/
81 /*=====================================================================================================*/
83 {
84 public:
85  //
86  // constructors/destructors:
87  //
92  {
93  switch (axis_)
94  {
95  case X_AXIS:
96  mat[0][0]= 0.0;
97  break;
98  case Y_AXIS:
99  mat[1][1]= 0.0;
100  break;
101  case Z_AXIS:
102  mat[2][2]= 0.0;
103  break;
104  };
105  };
106 
107  //
108  // Functions:
109  //
112  const Sg3dMatrix& operator()(double);
113 };
114 /*=====================================================================================================*/
115 
116 
117 
118 #endif //SG_3D_MATRIX_R_DOTS_H
DIRECTION
Definition: SgMathSupport.h:68
@ Z_AXIS
Definition: SgMathSupport.h:68
@ X_AXIS
Definition: SgMathSupport.h:68
@ Y_AXIS
Definition: SgMathSupport.h:68
Sg3dMatrixR2dot(DIRECTION axis, double angle=0.0)
const Sg3dMatrix & operator()(double)
DIRECTION axis() const
Definition: Sg3dMatrixR.h:76
DIRECTION axis_
An axis of rotation.
Definition: Sg3dMatrixR.h:46
double angle() const
Definition: Sg3dMatrixR.h:72
const Sg3dMatrix & operator()(double)
Sg3dMatrixRdot(DIRECTION axis, double angle=0.0)
double mat[3][3]
The 3x3 array that is storing elements of a matrix.
Definition: Sg3dMatrix.h:47