ULRE/src/SceneGraph/SceneOrient.cpp

44 lines
1.2 KiB
C++
Raw Normal View History

2019-05-21 21:28:33 +08:00
#include<hgl/graph/SceneOrient.h>
namespace hgl
{
namespace graph
{
Matrix4f Ortho2DMatrix; ///<全局2D视图矩阵
SceneOrient::SceneOrient()
{
2020-01-13 20:13:48 +08:00
LocalMatrix =Matrix4f::identity;
LocalToWorldMatrix =Matrix4f::identity;
InverseLocalMatrix =Matrix4f::identity;
InverseLocalToWorldMatrix =Matrix4f::identity;
2019-05-21 21:28:33 +08:00
}
Matrix4f &SceneOrient::SetLocalMatrix(const Matrix4f &m)
{
LocalMatrix=m;
InverseLocalMatrix=inverse(LocalMatrix);
return LocalMatrix;
}
Matrix4f &SceneOrient::SetLocalToWorldMatrix(const Matrix4f &m)
{
LocalToWorldMatrix=m;
InverseLocalToWorldMatrix=inverse(LocalToWorldMatrix);
return LocalToWorldMatrix;
}
/**
*
* @param m local to world矩阵
*/
void SceneOrient::RefreshLocalToWorldMatrix(const Matrix4f *m)
{
SetLocalToWorldMatrix((*m)*LocalMatrix);
}
}//namespace graph
}//namespace hgl