updated VersionData
This commit is contained in:
parent
3ead8d3d34
commit
45e02b7c72
@ -594,7 +594,6 @@ namespace hgl
|
|||||||
}
|
}
|
||||||
};//class TransformManager
|
};//class TransformManager
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 变换矩阵<Br>
|
* 变换矩阵<Br>
|
||||||
* 便于分散管理平移、旋转、缩放等数值
|
* 便于分散管理平移、旋转、缩放等数值
|
||||||
|
@ -23,15 +23,6 @@ namespace hgl
|
|||||||
|
|
||||||
virtual void MakeNewestData(T &)=0; ///<生成最新的数据(需要派生类重载)
|
virtual void MakeNewestData(T &)=0; ///<生成最新的数据(需要派生类重载)
|
||||||
|
|
||||||
void UpdateVersionData()
|
|
||||||
{
|
|
||||||
if(IsNewestVersion())
|
|
||||||
return;
|
|
||||||
|
|
||||||
MakeNewestData(cur_data);
|
|
||||||
cur_version=version;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
VersionData(const T &init_data)
|
VersionData(const T &init_data)
|
||||||
@ -51,6 +42,28 @@ namespace hgl
|
|||||||
|
|
||||||
virtual ~VersionData()=default;
|
virtual ~VersionData()=default;
|
||||||
|
|
||||||
|
const T &operator = (const T &data) ///<赋值操作符
|
||||||
|
{
|
||||||
|
if (data == cur_data)
|
||||||
|
return cur_data;
|
||||||
|
|
||||||
|
cur_data=data;
|
||||||
|
cur_version=version;
|
||||||
|
|
||||||
|
UpdateVersion();
|
||||||
|
|
||||||
|
return cur_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateNewestData()
|
||||||
|
{
|
||||||
|
if(IsNewestVersion())
|
||||||
|
return;
|
||||||
|
|
||||||
|
MakeNewestData(cur_data);
|
||||||
|
cur_version=version;
|
||||||
|
}
|
||||||
|
|
||||||
const uint32 GetNewestVersion()const { return version; } ///<取得最新的版本号(注意数据可能不是最新的)
|
const uint32 GetNewestVersion()const { return version; } ///<取得最新的版本号(注意数据可能不是最新的)
|
||||||
const uint32 GetCurrentVersion()const { return cur_version; } ///<取得当前数据的版本号
|
const uint32 GetCurrentVersion()const { return cur_version; } ///<取得当前数据的版本号
|
||||||
|
|
||||||
@ -58,11 +71,11 @@ namespace hgl
|
|||||||
|
|
||||||
const T & GetCurrentVersionData()const { return cur_data; } ///<取得当前版本的数据(注意可能不是最新的)
|
const T & GetCurrentVersionData()const { return cur_data; } ///<取得当前版本的数据(注意可能不是最新的)
|
||||||
|
|
||||||
const T & GetNewestVersionData(){UpdateVersionData();return cur_data;} ///<取得最新版本的数据
|
const T & GetNewestVersionData(){UpdateNewestData();return cur_data;} ///<取得最新版本的数据
|
||||||
|
|
||||||
const uint32 GetNewestVersionData(T &result) ///<取得最新版本的数据
|
const uint32 GetNewestVersionData(T &result) ///<取得最新版本的数据
|
||||||
{
|
{
|
||||||
UpdateVersionData();
|
UpdateNewestData();
|
||||||
|
|
||||||
result=cur_data;
|
result=cur_data;
|
||||||
return cur_version;
|
return cur_version;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user