General Purpose Geodetic Library
Sg3dMatrixR.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_H
24 #define SG_3D_MATRIX_R_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <Sg3dMatrix.h>
33 
34 
35 /***===================================================================================================*/
40 /*=====================================================================================================*/
41 class Sg3dMatrixR : public Sg3dMatrix
42 {
43 protected:
44  double angle_;
45  double sinA_, cosA_;
47 
48 public:
49  //
50  // constructors/destructors:
51  //
55  Sg3dMatrixR(DIRECTION axis_, double=0.0);
56 
60  Sg3dMatrixR(const Sg3dMatrixR&);
61 
65  inline ~Sg3dMatrixR(){};
66 
67  //
68  // Interfaces:
69  //
72  inline double angle() const {return angle_;};
73 
76  inline DIRECTION axis() const {return axis_;};
77 
78  //
79  // Functions:
80  //
83  const Sg3dMatrix& operator()(double);
84 };
85 /*=====================================================================================================*/
86 
87 
88 #endif //SG_3D_MATRIX_R_H
DIRECTION
Definition: SgMathSupport.h:68
Sg3dMatrixR(DIRECTION axis_, double=0.0)
Definition: Sg3dMatrixR.cpp:33
const Sg3dMatrix & operator()(double)
Definition: Sg3dMatrixR.cpp:51
double sinA_
Definition: Sg3dMatrixR.h:45
double angle_
An angle of rotation.
Definition: Sg3dMatrixR.h:44
DIRECTION axis() const
Definition: Sg3dMatrixR.h:76
double cosA_
Definition: Sg3dMatrixR.h:45
DIRECTION axis_
An axis of rotation.
Definition: Sg3dMatrixR.h:46
double angle() const
Definition: Sg3dMatrixR.h:72