Added AXIS, GetAxisVector
This commit is contained in:
parent
e8b5f2a477
commit
2393bb43dc
@ -318,7 +318,7 @@ namespace hgl
|
|||||||
matrix_dirty=true;
|
matrix_dirty=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetRotation(const Vector3f &axis,float angle)
|
void SetRotation(const Vector3f &axis,const float angle)
|
||||||
{
|
{
|
||||||
rotation_axis=axis;
|
rotation_axis=axis;
|
||||||
rotate_angle=angle;
|
rotate_angle=angle;
|
||||||
@ -331,6 +331,19 @@ namespace hgl
|
|||||||
UpdateQuat();
|
UpdateQuat();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetRotation(const AXIS &axis,const float angle)
|
||||||
|
{
|
||||||
|
rotation_axis=GetAxisVector(axis);
|
||||||
|
rotate_angle=angle;
|
||||||
|
UpdateQuat();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetRotationAxis(const AXIS &axis)
|
||||||
|
{
|
||||||
|
rotation_axis=GetAxisVector(axis);
|
||||||
|
UpdateQuat();
|
||||||
|
}
|
||||||
|
|
||||||
void SetRotateAngle(float angle)
|
void SetRotateAngle(float angle)
|
||||||
{
|
{
|
||||||
rotate_angle=angle;
|
rotate_angle=angle;
|
||||||
|
@ -10,6 +10,11 @@
|
|||||||
|
|
||||||
namespace hgl
|
namespace hgl
|
||||||
{
|
{
|
||||||
|
enum class AXIS
|
||||||
|
{
|
||||||
|
X,Y,Z
|
||||||
|
};
|
||||||
|
|
||||||
#define DEF_VECTOR(flag,glm_type) using Vector1##flag=glm::glm_type##1;\
|
#define DEF_VECTOR(flag,glm_type) using Vector1##flag=glm::glm_type##1;\
|
||||||
using Vector2##flag=glm::glm_type##2;\
|
using Vector2##flag=glm::glm_type##2;\
|
||||||
using Vector3##flag=glm::glm_type##3;\
|
using Vector3##flag=glm::glm_type##3;\
|
||||||
@ -34,6 +39,18 @@ namespace hgl
|
|||||||
|
|
||||||
#undef DEF_VECTOR
|
#undef DEF_VECTOR
|
||||||
|
|
||||||
|
inline const Vector3f GetAxisVector(const AXIS &axis)
|
||||||
|
{
|
||||||
|
switch(axis)
|
||||||
|
{
|
||||||
|
case AXIS::X:return Vector3f(1,0,0);
|
||||||
|
case AXIS::Y:return Vector3f(0,1,0);
|
||||||
|
case AXIS::Z:return Vector3f(0,0,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Vector3f(0,0,0);
|
||||||
|
}
|
||||||
|
|
||||||
inline bool operator == (const Vector2f &lhs,const Vector2f &rhs)
|
inline bool operator == (const Vector2f &lhs,const Vector2f &rhs)
|
||||||
{
|
{
|
||||||
if(lhs.x!=rhs.x)return(false);
|
if(lhs.x!=rhs.x)return(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user