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

📄 5g_parse3dm.h

📁 visual c++ 实例编程
💻 H
字号:
// 5G_PARSE3DM.h: interface for the C5G_PARSE3DM class.
//////////////////////////////////////////////////////////////////////
//此类用来读取3dm文件,需要调用该类的程序员只须调用该类的
//	void Run(CString filename,C5G_3DScene *my3dscene)函数,
//则所有的数据都存储在my3dscene中。
//////////////////////////////////////////////////////////////////////

#include "5G_3DScene.h"
#if !defined(AFX_5G_PARSE3DM_H__709BE7F7_40FC_4026_9639_1C8A1402AFBC__INCLUDED_)
#define AFX_5G_PARSE3DM_H__709BE7F7_40FC_4026_9639_1C8A1402AFBC__INCLUDED_
#define MAX_LINE_3DM 10000
#define MAX_WORD_3DM 1000
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class C5G_PARSE3DM  
{
public:
	C5G_PARSE3DM();
	virtual ~C5G_PARSE3DM();
public:
	int m_SizeFile;							// 文件的大小
	char *m_pBuffer;						//文件中所有数据先全部暂存在这里,
	int m_IndexBuffer;						//当前指针所在位置,这个值贯穿全部文件,n重要
	CString m_FileName;
	char m_pBufferLine[MAX_LINE_3DM];		//这个成员变量用于读取一行数据时记录数据
	char m_pBufferWord[MAX_WORD_3DM];
public:
	int ReadFile(CString filename);		//读取文件
	int ReadLine();						//读取数据中的一行,以\n为结束标志
	int ReadWord();						//读取一个数据出来
	int CheckVersion();                  //检验3DM文件的版本
	int OffsetToString(char *string);	//将m_IndexBuffer定位到到指定字符串所在的行,位置为指定字符串的前面
	int OffsetToStringBeginLine(char *string);	//将m_IndexBuffer定位到以指定字符串开头的行的开头
	void ReadScene(C5G_3DScene *my3dscene);
	int ReadLight(C5G_3DScene *my3dscene);
	void ReadObject(C5G_3DScene *my3dscene);
	void Run(CString filename,C5G_3DScene *my3dscene);
	int ReadElement(C5G_3DObject *my3dobject);
	int ReadMaterial(C5G_3DElement *my3delement);
	int ReadTextureCoord(C5G_3DElement *my3delement);


};

#endif // !defined(AFX_5G_PARSE3DM_H__709BE7F7_40FC_4026_9639_1C8A1402AFBC__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -