OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
OSGVruiMatrix.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef OSG_VRUI_MATRIX_H
9 #define OSG_VRUI_MATRIX_H
10 
12 
13 #include <osg/Matrix>
14 
15 namespace vrui
16 {
17 
18 class OSGVRUIEXPORT OSGVruiMatrix : public virtual vruiMatrix
19 {
20 
21 public:
22  OSGVruiMatrix();
23  virtual ~OSGVruiMatrix();
24 
25  virtual vruiMatrix *makeIdentity();
26  virtual vruiMatrix *preTranslated(double x, double y, double z, vruiMatrix *matrix);
27  virtual vruiMatrix *makeTranslate(double x, double y, double z);
28  virtual vruiMatrix *makeRotate(double degrees, double xAxis, double yAxis, double zAxis);
29  virtual vruiMatrix *makeScale(double x, double y, double z);
30  virtual vruiMatrix *makeEuler(double h, double p, double r);
31  virtual vruiMatrix *makeInverse(const vruiMatrix *source);
32  virtual vruiMatrix *mult(const vruiMatrix *matrix);
33 
34  virtual double &operator()(int row, int column);
35  virtual double operator()(int row, int column) const;
36 
37  virtual coVector getFullXformPt(const coVector &point) const;
38  virtual coVector getHPR() const;
39 
40  osg::Matrix getMatrix();
41  const osg::Matrix &getMatrix() const;
42  void setMatrix(const osg::Matrix &matrix);
43 
44 private:
45  osg::Matrix matrix;
46 };
47 }
48 #endif
Definition: vruiMatrix.h:19
Definition: OSGVruiMatrix.h:18