You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.1 KiB
133 lines
4.1 KiB
//=============================================================================================================================
|
|
//
|
|
// EasyAR Sense 3.1.0-final-7bf6504c6
|
|
// Copyright (c) 2015-2020 VisionStar Information Technology (Shanghai) Co., Ltd. All Rights Reserved.
|
|
// EasyAR is the registered trademark or trademark of VisionStar Information Technology (Shanghai) Co., Ltd in China
|
|
// and other countries for the augmented reality technology developed by VisionStar Information Technology (Shanghai) Co., Ltd.
|
|
//
|
|
//=============================================================================================================================
|
|
|
|
#ifndef __EASYAR_MATRIX_HXX__
|
|
#define __EASYAR_MATRIX_HXX__
|
|
|
|
#include "easyar/types.hxx"
|
|
|
|
namespace easyar {
|
|
|
|
/// <summary>
|
|
/// record
|
|
/// Square matrix of 4. The data arrangement is row-major.
|
|
/// </summary>
|
|
struct Matrix44F
|
|
{
|
|
/// <summary>
|
|
/// The raw data of matrix.
|
|
/// </summary>
|
|
float data[16];
|
|
|
|
Matrix44F();
|
|
Matrix44F(float data_0, float data_1, float data_2, float data_3, float data_4, float data_5, float data_6, float data_7, float data_8, float data_9, float data_10, float data_11, float data_12, float data_13, float data_14, float data_15);
|
|
easyar_Matrix44F get_cdata();
|
|
};
|
|
|
|
/// <summary>
|
|
/// record
|
|
/// Square matrix of 3. The data arrangement is row-major.
|
|
/// </summary>
|
|
struct Matrix33F
|
|
{
|
|
/// <summary>
|
|
/// The raw data of matrix.
|
|
/// </summary>
|
|
float data[9];
|
|
|
|
Matrix33F();
|
|
Matrix33F(float data_0, float data_1, float data_2, float data_3, float data_4, float data_5, float data_6, float data_7, float data_8);
|
|
easyar_Matrix33F get_cdata();
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifndef __IMPLEMENTATION_EASYAR_MATRIX_HXX__
|
|
#define __IMPLEMENTATION_EASYAR_MATRIX_HXX__
|
|
|
|
namespace easyar {
|
|
|
|
inline Matrix44F::Matrix44F()
|
|
{
|
|
this->data[0] = float();
|
|
this->data[1] = float();
|
|
this->data[2] = float();
|
|
this->data[3] = float();
|
|
this->data[4] = float();
|
|
this->data[5] = float();
|
|
this->data[6] = float();
|
|
this->data[7] = float();
|
|
this->data[8] = float();
|
|
this->data[9] = float();
|
|
this->data[10] = float();
|
|
this->data[11] = float();
|
|
this->data[12] = float();
|
|
this->data[13] = float();
|
|
this->data[14] = float();
|
|
this->data[15] = float();
|
|
}
|
|
inline Matrix44F::Matrix44F(float data_0, float data_1, float data_2, float data_3, float data_4, float data_5, float data_6, float data_7, float data_8, float data_9, float data_10, float data_11, float data_12, float data_13, float data_14, float data_15)
|
|
{
|
|
this->data[0] = data_0;
|
|
this->data[1] = data_1;
|
|
this->data[2] = data_2;
|
|
this->data[3] = data_3;
|
|
this->data[4] = data_4;
|
|
this->data[5] = data_5;
|
|
this->data[6] = data_6;
|
|
this->data[7] = data_7;
|
|
this->data[8] = data_8;
|
|
this->data[9] = data_9;
|
|
this->data[10] = data_10;
|
|
this->data[11] = data_11;
|
|
this->data[12] = data_12;
|
|
this->data[13] = data_13;
|
|
this->data[14] = data_14;
|
|
this->data[15] = data_15;
|
|
}
|
|
inline easyar_Matrix44F Matrix44F::get_cdata()
|
|
{
|
|
easyar_Matrix44F _return_value_ = {data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10], data[11], data[12], data[13], data[14], data[15]};
|
|
return _return_value_;
|
|
}
|
|
inline Matrix33F::Matrix33F()
|
|
{
|
|
this->data[0] = float();
|
|
this->data[1] = float();
|
|
this->data[2] = float();
|
|
this->data[3] = float();
|
|
this->data[4] = float();
|
|
this->data[5] = float();
|
|
this->data[6] = float();
|
|
this->data[7] = float();
|
|
this->data[8] = float();
|
|
}
|
|
inline Matrix33F::Matrix33F(float data_0, float data_1, float data_2, float data_3, float data_4, float data_5, float data_6, float data_7, float data_8)
|
|
{
|
|
this->data[0] = data_0;
|
|
this->data[1] = data_1;
|
|
this->data[2] = data_2;
|
|
this->data[3] = data_3;
|
|
this->data[4] = data_4;
|
|
this->data[5] = data_5;
|
|
this->data[6] = data_6;
|
|
this->data[7] = data_7;
|
|
this->data[8] = data_8;
|
|
}
|
|
inline easyar_Matrix33F Matrix33F::get_cdata()
|
|
{
|
|
easyar_Matrix33F _return_value_ = {data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8]};
|
|
return _return_value_;
|
|
}
|
|
}
|
|
|
|
#endif
|