⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myregutex.cpp

📁 这是一个分水岭程序
💻 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 + -