www.pudn.com > Map_OpenGL.rar > Map_DemObject.cpp


// Map_DemObject.cpp: implementation of the CMap_DemObject class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "Map_DemObject.h" 
#include "Map_OpenGL.h" 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CMap_DemObject::CMap_DemObject() 
{ 
 
} 
 
CMap_DemObject::~CMap_DemObject() 
{ 
 
} 
 
//读取数据文件 
void CMap_DemObject::ReadBinaryFile(CString filename) 
{ 
	FILE* fp; 
	fp=fopen(filename,"rb"); 
 
	if(fp==NULL) 
	{ 
		AfxMessageBox("没有打开数据文件!"); 
		return; 
	} 
	else 
	{ 
		fread(&m_demleft,sizeof(double),1,fp); 
		fread(&m_dembottom,sizeof(double),1,fp); 
		fread(&m_demright,sizeof(double),1,fp); 
		fread(&m_demtop,sizeof(double),1,fp); 
 
		fread(&m_demx,sizeof(long),1,fp); 
		fread(&m_demy,sizeof(long),1,fp); 
 
		fread(&m_sizeofx,sizeof(double),1,fp); 
		fread(&m_sizeofy,sizeof(double),1,fp); 
 
		fread(&m_realdistance,sizeof(double),1,fp); 
 
		fread(&m_minheight,sizeof(float),1,fp); 
		fread(&m_maxheight,sizeof(float),1,fp); 
 
		int m_dotnumber; 
		m_dotnumber=m_demx*m_demy; 
 
		m_demheight	=	new float[m_dotnumber]; 
		for(int i=0;iSelectObject(&newbrush); 
 
				rect.left =(int)(cx-2); 
				rect.right=(int)(cx+2); 
				rect.bottom=(int)(cy+2); 
				rect.top=(int)(cy-2); 
 
				pDC->FillRect(rect,&newbrush); 
				pDC->SelectObject(oldbrush); 
 
			} 
		} 
	} 
} 
 
 
void CMap_DemObject::showtriagDem(void) 
{ 
	Triange_dem m_dem1[4]; 
	float m_allz; 
	m_allz=m_demy*m_realdistance; 
 
	glPushMatrix(); 
 
	for(int j=0;j