My Project
XFileExporter.h
1 #pragma once
2 #include "XFileParsing.inl"
3 namespace ParaEngine
4 {
5  struct XFileHeader_t
6  {
7  uint32 mMajorVersion;
8  uint32 mMinorVersion;
9  uint32 mBinaryFloatSize;
10  bool mIsBinaryFormat;
11  XFileHeader_t() :mMajorVersion(0), mMinorVersion(0), mBinaryFloatSize(0), mIsBinaryFormat(false) {}
12  XFileHeader_t(bool beBinary) :mMajorVersion(3), mMinorVersion(3), mBinaryFloatSize(4), mIsBinaryFormat(beBinary) {}
13 
14  };
15 
16  class CParaXModel;
17 
19  {
20  public:
21  friend class XFileDataObject;
22 
23  XFileExporter(ofstream& strm);
24  ~XFileExporter();
25 
26  //binary format functions:
27  protected:
28 
29  void WriteHeader(ofstream& strm);
30  void WriteBinWord(ofstream& strm, uint16 nWord);
31  void WriteBinDWord(ofstream& strm, uint32 nDWord);
32  void WriteString(ofstream& strm, const string& str);
33  void WriteName(ofstream& strm, const string& name);
34  bool WriteToken(ofstream& strm, const string& token);
35  void WriteToken(ofstream& strm, XFileToken enToken);
36 
37  void WriteCharArray(ofstream& strm, char* cInput, int nCount);
38  void WriteInt(ofstream& strm, uint32 nInt);
39  void WriteShort(ofstream& strm, uint16 nInt);
40  void WriteIntArray(ofstream& strm);
41  void WriteFloat(ofstream& strm, float f);
42  void WriteFloatArray(ofstream& strm);
43  void WriteIntAndFloatArray(ofstream& strm);
44 
45  void WriteVector2(ofstream& strm, Vector2 vec2);
46  void WriteVector3(ofstream& strm, Vector3 vec3);
47  void WriteRGB(ofstream& strm, Vector3 color);
48  void WriteRGBA(ofstream& strm, LinearColor color);
49 
50  protected:
51  vector<uint32> m_vecInt;
52  vector<float> m_vecFloat;
53  };
54 }
55 
56 
different physics engine has different winding order.
Definition: EventBinding.h:32
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
Definition: XFileExporter.h:5
Standard 2-dimensional vector.
Definition: ParaVector2.h:16
data object in binary format
Definition: XFileDataObject.h:10
Definition: XFileExporter.h:18
A linear, 32-bit/component floating point RGBA color.
Definition: ParaColor.h:12
ParaX model is the model file for character animation, etc in the game world.
Definition: ParaXModel.h:30