📄 5g_parse3dm.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 + -