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

📄 3dsfileloader.h

📁 本文件中收录了多种3D文件格式
💻 H
字号:
//// File: 3dsFileLoader.h// Created by: <Andrea Ingegneri>//#ifndef _C3DSFILELOADER_H_#define _C3DSFILELOADER_H_#include <string>#include <fstream>using namespace std;#include "3dsFileFormat.h"class C3dsFileLoader : public C3dsFileFormat{public:// Constructor	C3dsFileLoader() : C3dsFileFormat(), PC(0), mFileSize(0) {}// Denstructor	virtual ~C3dsFileLoader() {}// Methods	void		ProcessFile(string FileName);private:	void		movePC(long forward);	bool		ParseChunks();	bool		ReadBlock(char *dest, long size);	float		ReadRealNumber();	bool		SkipChunk(chunk3ds &chunk);	void		FileSize();	bool		isOk();	void		ReadASCIIZ(char *dest);	void		ReadRGBF();	void		ReadRGBB();	void		ReadObjBlock();	void		ReadVertList();	void		ReadFaceList();	void		ReadFaceMat();	void		ReadMapList();	void		ReadSmoothList();	void		ReadTrMatrix();	void		ReadLight();	void		ReadSpotLight();	void		ReadCamera();	void		ReadMatName();	void		ReadMapFile();	void		ReadFrames();	void		ReadTrackObjName();	void		ReadTrackPos();	void		ReadTrackRot();	void		ReadTrackScale();	void		ReadObjNumber();	void		ReadObjChunk();	void		ReadOneUnit();	void		ReadViewPortData();	void		ReadViewUser();	void		ReadViewTop();	void		ReadViewBottom();	void		ReadViewLeft();	void		ReadViewRight();	void		ReadViewFront();	void		ReadViewBack();	void		ReadViewCamera();	void		ReadViewPortLayout();	void		ReadViewPortSize();	void		EndReading();	ifstream	mInputFile;protected:	long		PC;		// File Pointer	long		mFileSize;// Inheritable functions for polymorphism	virtual void		User3dVert(float x, float y, float z);	virtual void		User3dFace(unsigned short A, unsigned short B, unsigned short C, unsigned short Flags);	virtual void		UserCamera(float px, float py, float pz,								   float tx, float ty, float tz,								   float Bank, float Lens);	virtual void		UserFaceMaterial(string Name, int Number);	virtual	void		UserMapVertex(float U, float V);	virtual void		UserTransformMatrix(const Transform3dsMatrix &Transform, const Translate3dsMatrix &Translate);	virtual void		UserLight(float x, float y, float z);	virtual void		UserSpotLight(float x, float y, float z, float HotSpot, float FallOff);	virtual void		UserMatName(const string Name);	virtual void		UserMapFile(const string FileName);	virtual void		UserFrames(long Start, long End);	virtual void		UserTrackObjectName(const string Name, int Key1, int Key2, int Key3);	virtual void		UserTrackPos(int Frame, long Flags, float x, float y, float z);	virtual void		UserTrackRot(int Frame, long Flags, float DegX, float DegY, float DegZ);	virtual void		UserTrackScale(int Frame, long Flags, float ScaleX, float ScaleY, float ScaleZ);	virtual void		UserObjNumber(int ObjNumber);	virtual void		UserObjName(string Name);	virtual void		UserChunkObj();	virtual void		UserOneUnit(float Unit);	virtual void		UserViewPortLayout(ViewPortLayout &Layout);	virtual void		UserViewPortSize(int PosX, int PosY, int Width, int Height);	virtual void		UserViewPortData(ViewPortData &Data);	virtual	void		UserViewUser(float x, float y, float z, float Width, float XYangle, float YZangle, float BackAngle);	virtual void		UserViewCamera(string CameraName);	virtual void		UserEndOfFile();};#endif	//_C3DSFILELOADER_H_

⌨️ 快捷键说明

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