Added many UpdateVersion() in many TransformBase classes.

This commit is contained in:
hyzboy 2024-08-29 13:36:09 +08:00
parent 45e02b7c72
commit 97743adb3f

View File

@ -50,16 +50,19 @@ namespace hgl
TransformMatrix():TransformBase() TransformMatrix():TransformBase()
{ {
transform_matrix=Identity4f; transform_matrix=Identity4f;
UpdateVersion();
} }
TransformMatrix(const Matrix4f &mat):TransformBase() TransformMatrix(const Matrix4f &mat):TransformBase()
{ {
transform_matrix=mat; transform_matrix=mat;
UpdateVersion();
} }
TransformMatrix(const TransformMatrix *tm):TransformBase(tm) TransformMatrix(const TransformMatrix *tm):TransformBase(tm)
{ {
transform_matrix=tm->transform_matrix; transform_matrix=tm->transform_matrix;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -99,16 +102,19 @@ namespace hgl
TransformTranslate3f():TransformBase() TransformTranslate3f():TransformBase()
{ {
offset=ZeroVector3f; offset=ZeroVector3f;
UpdateVersion();
} }
TransformTranslate3f(const Vector3f &o):TransformBase() TransformTranslate3f(const Vector3f &o):TransformBase()
{ {
offset=o; offset=o;
UpdateVersion();
} }
TransformTranslate3f(const TransformTranslate3f *tt):TransformBase(tt) TransformTranslate3f(const TransformTranslate3f *tt):TransformBase(tt)
{ {
offset=tt->offset; offset=tt->offset;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -158,16 +164,19 @@ namespace hgl
TransformRotateQuat():TransformBase() TransformRotateQuat():TransformBase()
{ {
quat=IdentityQuatf; quat=IdentityQuatf;
UpdateVersion();
} }
TransformRotateQuat(const Quatf &q):TransformBase() TransformRotateQuat(const Quatf &q):TransformBase()
{ {
quat=q; quat=q;
UpdateVersion();
} }
TransformRotateQuat(const TransformRotateQuat *trq):TransformBase(trq) TransformRotateQuat(const TransformRotateQuat *trq):TransformBase(trq)
{ {
quat=trq->quat; quat=trq->quat;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -208,18 +217,21 @@ namespace hgl
{ {
axis=ZeroVector3f; axis=ZeroVector3f;
angle=0; angle=0;
UpdateVersion();
} }
TransformRotateAxis(const Vector3f &a,float ang):TransformBase() TransformRotateAxis(const Vector3f &a,float ang):TransformBase()
{ {
axis=a; axis=a;
angle=ang; angle=ang;
UpdateVersion();
} }
TransformRotateAxis(const TransformRotateAxis *tra):TransformBase(tra) TransformRotateAxis(const TransformRotateAxis *tra):TransformBase(tra)
{ {
axis=tra->axis; axis=tra->axis;
angle=tra->angle; angle=tra->angle;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -279,16 +291,19 @@ namespace hgl
TransformRotateEuler():TransformBase() TransformRotateEuler():TransformBase()
{ {
euler=ZeroVector3f; euler=ZeroVector3f;
UpdateVersion();
} }
TransformRotateEuler(const Vector3f &e):TransformBase() TransformRotateEuler(const Vector3f &e):TransformBase()
{ {
euler=e; euler=e;
UpdateVersion();
} }
TransformRotateEuler(const TransformRotateEuler *tre):TransformBase(tre) TransformRotateEuler(const TransformRotateEuler *tre):TransformBase(tre)
{ {
euler=tre->euler; euler=tre->euler;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -328,16 +343,19 @@ namespace hgl
TransformScale3f():TransformBase() TransformScale3f():TransformBase()
{ {
scale3f=Vector3f(1,1,1); scale3f=Vector3f(1,1,1);
UpdateVersion();
} }
TransformScale3f(const Vector3f &s):TransformBase() TransformScale3f(const Vector3f &s):TransformBase()
{ {
scale3f=s; scale3f=s;
UpdateVersion();
} }
TransformScale3f(const TransformScale3f *ts):TransformBase(ts) TransformScale3f(const TransformScale3f *ts):TransformBase(ts)
{ {
scale3f=ts->scale3f; scale3f=ts->scale3f;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -380,6 +398,7 @@ namespace hgl
eye =OneVector3f; eye =OneVector3f;
center =ZeroVector3f; center =ZeroVector3f;
up =AxisVector::Z; up =AxisVector::Z;
UpdateVersion();
} }
TransformLookAt(const Vector3f &e,const Vector3f &c,const Vector3f &u=AxisVector::Z) TransformLookAt(const Vector3f &e,const Vector3f &c,const Vector3f &u=AxisVector::Z)
@ -387,6 +406,7 @@ namespace hgl
eye =e; eye =e;
center =c; center =c;
up =u; up =u;
UpdateVersion();
} }
TransformLookAt(const TransformLookAt *tla):TransformBase(tla) TransformLookAt(const TransformLookAt *tla):TransformBase(tla)
@ -394,6 +414,7 @@ namespace hgl
eye =tla->eye; eye =tla->eye;
center =tla->center; center =tla->center;
up =tla->up; up =tla->up;
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const
@ -480,6 +501,7 @@ namespace hgl
{ {
for(TransformBase *tb:tm->transform_list) for(TransformBase *tb:tm->transform_list)
AddTransform(tb->CreateSelfCopy()); AddTransform(tb->CreateSelfCopy());
UpdateVersion();
} }
TransformBase *CreateSelfCopy()const TransformBase *CreateSelfCopy()const