1 #ifndef _GLS_MATRIXAFFINE_DOUBLE_H
2 #define _GLS_MATRIXAFFINE_DOUBLE_H
74 #if defined( GLS_DEBUG )
275 #if defined( GLS_DEBUG )
276 #pragma BullseyeCoverage save off
292 isValid = GlsFloatIsValid( mat[ row ][ col ] );
302 #pragma BullseyeCoverage restore
305 #if defined( GLS_DEBUG )
306 #pragma BullseyeCoverage save off
319 #pragma BullseyeCoverage restore
322 #if defined( GLS_DEBUG )
323 #pragma BullseyeCoverage save off
335 isValid = GlsFloatIsValid( m[ index ] );
341 #pragma BullseyeCoverage restore
344 #endif // _GLS_MATRIXAFFINE_DOUBLE_H
void RightMultiply(const GlsMatrixAffineD &m)
Definition: gls_vertex.h:82
bool GlsBool
Definition: gls_types.h:96
#define GlsAssert(_exp)
Definition: gls_assert.h:108
#define GLS_CLASS_INVARIANT_DECLARATION(ClassName)
Definition: gls_class_invariant.h:80
Definition: gls_vertex.h:65
static GlsBool CStyleMatrixIsIdentity(const CStyleMatrix &m)
GlsFloat64 _data[DIMENSION *DIMENSION]
Definition: gls_matrix_affine_double.h:230
static const GlsMatrixAffineD::CStyleMatrix IDENTITY_MATRIX_C_STYLE
Definition: gls_matrix_affine_double.h:220
unsigned int GlsUInt32
Definition: gls_types.h:73
void SetMatrix(const GlsMatrixAffineD &m)
This header defines the basic types used by the GL Studio DO-178B Runtime Library.
This header defines any preprocessor defines needed to configure the GL Studio DO-178B Runtime Librar...
Definition: gls_matrix_affine_double.h:71
GlsFloat64 CStyleMatrix[DIMENSION][DIMENSION]
Definition: gls_matrix_affine_double.h:60
GLfloat GLMatrixAffineF[DIMENSION *DIMENSION]
Definition: gls_matrix_affine_double.h:63
static const GLMatrixAffineF IDENTITY_MATRIX_GL
Definition: gls_matrix_affine_double.h:65
void Translate(const GlsVector3D &v)
static const GlsFloat64 IDENTITY_MATRIX_DATA_REP[DIMENSION *DIMENSION]
Definition: gls_matrix_affine_double.h:222
void SetElement(const GlsUInt32 row, const GlsUInt32 col, const GlsFloat64 val)
void Multiply(const GlsMatrixAffineD &lhs, const GlsMatrixAffineD &rhs, GlsMatrixAffineD &result) const
#define GLS_TRUE
Definition: gls_types.h:99
This header defines a GLS_DEBUG only macro for facilitating evaluating class invariants in the GL Stu...
Definition: gls_matrix_affine_double.h:54
RotationAxis
Definition: gls_matrix_affine_double.h:68
GlsFloat64 * _matrix[DIMENSION]
Definition: gls_matrix_affine_double.h:241
double GlsFloat64
Definition: gls_types.h:87
static void MatrixMultGLMatrixAffineF(const GLMatrixAffineF &lhs, const GLMatrixAffineF &rhs, GLMatrixAffineF &result)
static GlsBool GLMatrixAffineFIsIdentity(const GLMatrixAffineF &m)
void Rotate(const GlsFloat64 angle, const RotationAxis rotationAxis)
Definition: gls_matrix_affine_double.h:70
static const GlsUInt32 DIMENSION
Definition: gls_matrix_affine_double.h:59
static void CopyGLMatrixAffineF(GLMatrixAffineF &dst, const GLMatrixAffineF &src)
This header defines classes for working with 2D and 3D vectors, vertices and textured vertices in the...
Definition: gls_matrix_affine_double.h:72
static void VectorMultGLMatrixAffineF(const GLMatrixAffineF &m, const GlsHomogeneousVector3D &v, GlsHomogeneousVector3D &dst)
void LeftMultiply(const GlsMatrixAffineD &m)
void PopulateGLMatrixAffineF(GLMatrixAffineF &dst) const
GlsFloat64 GetElement(const GlsUInt32 row, const GlsUInt32 col) const