Go to the documentation of this file.
80 #define XSMATRIX_INITIALIZER { NULL, 0, 0, 0, XSDF_Managed }
99 #define XsMatrix_offsetM(thisPtr, row, column) (thisPtr->m_stride*row + column)
104 #ifndef XSENS_NO_PACK
105 #pragma pack(push, 1)
119 #pragma diag_suppress=Pa039
123 inline XsSize flags()
const
151 #if !defined(SWIG) && !defined(__ADSP21000__) && !defined(__AVR32__)
219 inline bool empty()
const
225 inline void setZero()
284 inline XsSize rows()
const
290 inline XsSize cols()
const
302 inline XsSize stride()
const
328 inline bool isEqual(
const XsMatrix& other,
XsReal tolerance)
const
358 #pragma diag_default=Pa039
363 #ifndef XSENS_NO_PACK
void XsMatrix_swap(XsMatrix *a, XsMatrix *b)
Swap the contents of a and b.
void XsMatrix_ref(XsMatrix *thisPtr, XsSize rows, XsSize cols, XsSize stride, XsReal *buffer, XsDataFlags flags)
Construct the XsMatrix as a reference to data in buffer.
A class that represents a matrix of real numbers.
void XsMatrix_destruct(XsMatrix *thisPtr)
Clear the XsMatrix and release allocated resources.
void XsMatrix_setZero(XsMatrix *thisPtr)
Set all the values in the matrix to zero.
XsReal XsMatrix_value(const XsMatrix *thisPtr, XsSize row, XsSize column)
Returns the data value at row and column.
void XsMatrix_copy(XsMatrix *copy, XsMatrix const *src)
Copy the contents of copy to the XsMatrix.
int XsMatrix_empty(const XsMatrix *thisPtr)
Returns not zero if the matrix contains no values.
int XsMatrix_dimensionsMatch(const XsMatrix *thisPtr, XsSize rows, XsSize columns)
Returns not zero if the dimensions of the XsMatrix are equal to rows and columns.
A class that implements a quaternion.
const XsSize m_rows
Number of rows in the matrix.
XsSize XsMatrix_offset(const XsMatrix *thisPtr, XsSize row, XsSize column)
Returns the offset in the data for accessing the value at row and column.
bool operator==(const XsFilterProfile &lhs, const XsFilterProfile &rhs)
Returns true if lhs has the same type as rhs.
void XsMatrix_setValue(XsMatrix *thisPtr, XsSize row, XsSize column, XsReal value)
Sets the data value at row and column.
XSCPPPROTECTED XsReal *const m_data
Contained data.
TF2SIMD_FORCE_INLINE Vector3 operator*(const Matrix3x3 &m, const Vector3 &v)
#define XsMatrix_offsetM(thisPtr, row, column)
double XsReal
Defines the floating point type used by the Xsens libraries.
size_t XsSize
XsSize must be unsigned number!
void XsMatrix_construct(XsMatrix *thisPtr, XsSize rows, XsSize cols, XsSize stride, const XsReal *src, XsSize srcStride)
Init the XsMatrix and copy the data from src into the matrix if src is not null.
const XsSize m_cols
Number of columns in the matrix.
XSMATHCONST XsReal XsMath_zero
0
const XsSize m_stride
Number of items per row in memory (usually equal to cols but not always)
void XsMatrix_assign(XsMatrix *thisPtr, XsSize rows, XsSize cols, XsSize stride, const XsReal *src, XsSize srcStride)
Init the XsMatrix and copy the data from src into the matrix if src is not null.
void XsMatrix_fromQuaternion(XsMatrix *thisPtr, const XsQuaternion *quat)
Get an orientation matrix representation of the quaternion.
Contains Euler Angle data and conversion from Quaternion.
XsDataFlags
These flags define the behaviour of data contained by Xsens data structures.
@ XSDF_Managed
The contained data should be managed (freed) by the object, when false, the object assumes the memory...
void XsMatrix_multiplyScalar(const XsMatrix *thisPtr, XsReal scalar, XsMatrix *dest)
Multiplies all values in this XsMatrix by scalar.
const XsSize m_flags
Flags for data management.