66 #include "./../KDefines.h"
67 #include "./../DataTypes/EulerAngles.h"
68 #include "./../DataTypes/WorldCoordinates.h"
69 #include "./../DataTypes/Vector.h"
79 template<
class Type, KUINT8 cols, KUINT8 rows>
88 for(
KUINT16 i = 0; i < cols; ++i )
90 for(
KUINT16 j = 0; j < rows; ++j )
92 if( i == j )
Data[i][j] = 1;
101 for(
KUINT16 i = 0; i < cols; ++i )
103 for(
KUINT16 j = 0; j < rows; ++j )
114 for(
KUINT16 i = 0; i < cols; ++i )
116 for(
KUINT16 j = 0; j < rows; ++j )
128 for(
KUINT16 i = 0; i < cols; ++i )
130 for(
KUINT16 j = 0; j < rows; ++j )
141 for(
KUINT16 i = 0; i < cols; ++i )
143 for(
KUINT16 j = 0; j < rows; ++j )
159 for(
KUINT16 i = 0; i < rows; ++i )
161 for(
KUINT16 j = 0; j < cols; ++j )
163 for(
KUINT16 k = 0; k < cols; ++k )
165 tmp += m.
Data[i][k] * Value.
Data[k][j];
180 for(
KUINT16 i = 0; i < cols; ++i )
182 for(
KUINT16 j = 0; j < rows; ++j )
184 m.
Data[i][j] *= Value;
194 for(
KUINT16 i = 0; i < cols; ++i )
196 for(
KUINT16 j = 0; j < rows; ++j )
208 for(
KUINT16 i = 0; i < rows; ++i )
210 for(
KUINT16 j = 0; j < cols; ++j )
212 res[i] +=
Data[i][j] * Value[j];
221 if( cols != rows )
return;
223 for(
KUINT16 i = 0; i < rows; ++i )
225 for(
KUINT16 j = 0; j < i; ++j )
227 Type aux =
Data[i][j];
276 void computeRotationAxis(
const TMATRIX& curOrientationMatrix );
277 void computeDRMatrix(
TMATRIX & res,
const KFLOAT32 totalTimeSinceReset );
278 void computeDRMatrix_asQuat(
TMATRIX & res,
const KFLOAT32 totalTimeSinceReset );
unsigned int KUINT32
Definition: KDefines.h:103
TMATRIX m_initOrientationMatrixTranspose
Definition: DeadReckoningCalculator.h:255
KDIS::DATA_TYPE::WorldCoordinates m_initPosition
Definition: DeadReckoningCalculator.h:242
Definition: DeadReckoningCalculator.h:80
Matrix< KFLOAT32, 3, 3 > TMATRIX
Definition: DeadReckoningCalculator.h:236
KDIS::DATA_TYPE::Vector m_initAngularVelocity
Definition: DeadReckoningCalculator.h:258
unsigned short int KUINT16
Definition: KDefines.h:101
Matrix()
Definition: DeadReckoningCalculator.h:86
KFLOAT32 m_f64Magnitude
Definition: DeadReckoningCalculator.h:251
float KFLOAT32
Definition: KDefines.h:113
Matrix & operator-=(const Matrix &Value)
Definition: DeadReckoningCalculator.h:139
Matrix operator*(const Matrix &Value)
Definition: DeadReckoningCalculator.h:152
TMATRIX m_wwMatrix
Definition: DeadReckoningCalculator.h:259
TMATRIX m_SkewOmegaMatrix
Definition: DeadReckoningCalculator.h:260
Definition: WorldCoordinates.h:52
bool KBOOL
Definition: KDefines.h:119
Definition: EulerAngles.h:46
void inPlanceTranspose()
Definition: DeadReckoningCalculator.h:219
KDIS::DATA_TYPE::Vector m_initLinearVelocity
Definition: DeadReckoningCalculator.h:243
Matrix operator-(const Matrix &Value)
Definition: DeadReckoningCalculator.h:125
Matrix operator+(const Matrix &Value)
Definition: DeadReckoningCalculator.h:98
KDIS::DATA_TYPE::Vector m_quatAxis
Definition: DeadReckoningCalculator.h:248
Matrix & operator*=(const T Value)
Definition: DeadReckoningCalculator.h:192
Definition: EnumEntityInfoInteraction.h:398
DeadReckoningAlgorithm
Definition: EnumEntityInfoInteraction.h:841
#define KDIS_EXPORT
Definition: KDefines.h:82
Type Data[cols][rows]
Definition: DeadReckoningCalculator.h:84
Matrix & operator+=(const Matrix &Value)
Definition: DeadReckoningCalculator.h:112
KDIS::DATA_TYPE::Vector m_initLinearAcceleration
Definition: DeadReckoningCalculator.h:245
KDIS::DATA_TYPE::ENUMS::DeadReckoningAlgorithm m_DRA
Definition: DeadReckoningCalculator.h:262
KBOOL m_bQuaxAxisSet
Definition: DeadReckoningCalculator.h:247
KDIS::DATA_TYPE::EulerAngles m_initOrientation
Definition: DeadReckoningCalculator.h:254
Definition: DeadReckoningCalculator.h:238
KDIS::DATA_TYPE::Vector m_Ab
Definition: DeadReckoningCalculator.h:246