📄 myregutex.cpp
字号:
// MyReguTex.cpp: implementation of the MyReguTex class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "myimagedb.h"
#include "MyReguTex.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
MyReguTex::MyReguTex()
{
mySubRegutex = "";//无子基元;
myParent = "";//无父基元;
myLevel = -1;//-1层;
myItensity = -1.;//强度无;
myTexlen = -1;//长度无;
}
void MyReguTex::SetValue(INT inindexid//基元索引标识
, INT inlevel//基元所在层次;
, FLOAT initensity//该基元各像素的平均值;
, INT intexlen//纹理尺寸;
, CString insubRegutex//所包含的子基元的索引标识号,各子基元之间用逗号分隔;
, CString inparent//该基元的父基元的索引标识号;
)
//赋值;
{
myIndexid = inindexid;
mySubRegutex = insubRegutex;
myParent = inparent;
myLevel = inlevel;
myItensity = initensity;
myTexlen = intexlen;
}
MyReguTex::MyReguTex(INT inindexid
, INT inlevel//基元所在层次;
, FLOAT initensity//该基元各像素的平均值;
, INT intexlen//纹理尺寸;
, CString insubRegutex//所包含的子基元的索引标识号,各子基元之间用逗号分隔;
, CString inparent//该基元的父基元的索引标识号;
)//赋值;
{
myIndexid = inindexid;
mySubRegutex = insubRegutex;
myParent = inparent;
myLevel = inlevel;
myItensity = initensity;
myTexlen = intexlen;
}
MyReguTex::~MyReguTex()
{
}
void MyReguTex::SetParentReguTex(MyReguTex* inparent)
{
INT iparentid = inparent->myIndexid;
CString sparentid;
sparentid.Format("%d", iparentid);
myParent = sparentid;
}
void MyReguTex::SetParentReguTex(INT iparentid)
{
CString sparentid;
sparentid.Format("%d", iparentid);
myParent = sparentid;
}
void MyReguTex::SetParentReguTex(CString sparentid)
{
myParent = sparentid;
}
void MyReguTex::AddSubReguTex(MyReguTex* inchild)
{
INT ichildid = inchild->myIndexid;
CString schildid;
schildid.Format("%d", ichildid);
mySubRegutex += schildid;
}
void MyReguTex::AddSubReguTex(INT inchildid)
{
CString schildid;
schildid.Format("%d", inchildid);
mySubRegutex += schildid;
}
void MyReguTex::AddSubReguTex(CString schildid)
{
mySubRegutex += schildid;
}
bool MyReguTex::operator==(const MyReguTex& y)
{
//比较基元间是否相似;
if ( fabs(myItensity-y.myItensity) > 10 )
{
//此处可以加入其它规则以比较不同基元之间的相似度;
return FALSE;
}
return ( (myLevel == y.myLevel) && (myTexlen == y.myTexlen)
&& (mySubRegutex == y.mySubRegutex)
&& (myParent == y.myParent) );
}
bool MyReguTex::operator<(const MyReguTex& y)
{
return myIndexid < y.myIndexid;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -