Kstars

matr.h
1 /*
2  SPDX-FileCopyrightText: 2012 Andrew Stepanenko
3 
4  Modified by Jasem Mutlaq <[email protected]> for KStars:
5  SPDX-FileCopyrightText: 2012 Jasem Mutlaq <[email protected]>
6 
7  SPDX-License-Identifier: GPL-2.0-or-later
8 */
9 
10 #pragma once
11 
12 #include "vect.h"
13 
14 namespace GuiderUtils
15 {
16 class Matrix
17 {
18  public:
19  double x[4][4];
20  Matrix();
21  explicit Matrix(double);
22  Matrix &operator+=(const Matrix &);
23  Matrix &operator-=(const Matrix &);
24  Matrix &operator*=(const Matrix &);
25  Matrix &operator*=(double);
26  Matrix &operator/=(double);
27  void Invert();
28  void Transpose();
29  friend Matrix operator+(const Matrix &, const Matrix &);
30  friend Matrix operator-(const Matrix &, const Matrix &);
31  friend Matrix operator*(const Matrix &, double);
32  friend Matrix operator*(const Matrix &, const Matrix &);
33  friend GuiderUtils::Vector operator*(const GuiderUtils::Vector &, const Matrix &);
34 };
35 
36 Matrix Translate(const GuiderUtils::Vector &);
37 Matrix Scale(const GuiderUtils::Vector &);
38 Matrix RotateX(double);
39 Matrix RotateY(double);
40 Matrix RotateZ(double);
41 Matrix Rotate(const GuiderUtils::Vector &v, double angle);
42 Matrix Transform(const GuiderUtils::Vector &v1, const GuiderUtils::Vector &v2, const GuiderUtils::Vector &v3);
43 Matrix MirrorX();
44 Matrix MirrorY();
45 Matrix MirrorZ();
46 } // namespace GuiderUtils
47 
const QCA_EXPORT SecureArray operator+(const SecureArray &a, const SecureArray &b)
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Fri Aug 12 2022 04:00:55 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.