7
* Copyright 2008-12 MetaEmotion S.L. All rights reserved.
8
* http://ginkgo-cadx.com
10
* This file is licensed under LGPL v3 license.
11
* See License.txt for details
4
* $Id: ginkgomatrix4x4.h $
7
* Copyright 2008-14 MetaEmotion S.L. All rights reserved.
8
* http://ginkgo-cadx.com
10
* This file is licensed under LGPL v3 license.
11
* See License.txt for details
14
14
#ifndef GINKGOMATRIX4X4
15
15
#define GINKGOMATRIX4X4
16
16
#ifndef __DEPRECATED
33
33
virtual void Identity();
34
34
virtual GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> Invert();
35
35
virtual GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> Transpose();
36
virtual void MultiplyPoint(const double in[4], double out[4]);
37
// Multiplies other to the right result = this * other
36
virtual double* MultiplyPoint(const double in[4], double out[4]);
37
// Multiplies other to the right result = this * other
38
38
virtual GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> Multiply4x4(const GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4>& other);
40
// Compute adjoint of the matrix and put it into out.
39
GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> Multiply4x4(const vtkMatrix4x4* other);
41
// Compute adjoint of the matrix and put it into out.
41
42
virtual GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> Adjoint();
43
// Compute the determinant of the matrix and return it.
44
virtual double Determinant();
46
// Sets the element i,j in the matrix.
47
virtual void SetElement(int i, int j, double value);
49
// Returns the element i,j from the matrix.
50
virtual double GetElement(int i, int j) const;
44
// Compute the determinant of the matrix and return it.
45
virtual double Determinant();
47
// Sets the element i,j in the matrix.
48
virtual void SetElement(int i, int j, double value);
50
// Returns the element i,j from the matrix.
51
virtual double GetElement(int i, int j) const;
51
52
virtual void ToDoubleArrayByColumns(double matrix[16]);
53
54
vtkSmartPointer<vtkMatrix4x4> rawMatrix;