aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/source/Irrlicht/CIrrMeshWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/source/Irrlicht/CIrrMeshWriter.h')
-rw-r--r--src/others/irrlicht-1.8.1/source/Irrlicht/CIrrMeshWriter.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/source/Irrlicht/CIrrMeshWriter.h b/src/others/irrlicht-1.8.1/source/Irrlicht/CIrrMeshWriter.h
new file mode 100644
index 0000000..4b62633
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/source/Irrlicht/CIrrMeshWriter.h
@@ -0,0 +1,63 @@
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __IRR_IRR_MESH_WRITER_H_INCLUDED__
6#define __IRR_IRR_MESH_WRITER_H_INCLUDED__
7
8#include "IMeshWriter.h"
9#include "S3DVertex.h"
10#include "IVideoDriver.h"
11#include "IFileSystem.h"
12
13namespace irr
14{
15namespace io
16{
17 class IXMLWriter;
18}
19namespace scene
20{
21 class IMeshBuffer;
22
23
24 //! class to write meshes, implementing a IrrMesh (.irrmesh, .xml) writer
25 /** This writer implementation has been originally developed for irrEdit and then
26 merged out to the Irrlicht Engine */
27 class CIrrMeshWriter : public IMeshWriter
28 {
29 public:
30
31 CIrrMeshWriter(video::IVideoDriver* driver, io::IFileSystem* fs);
32 virtual ~CIrrMeshWriter();
33
34 //! Returns the type of the mesh writer
35 virtual EMESH_WRITER_TYPE getType() const;
36
37 //! writes a mesh
38 virtual bool writeMesh(io::IWriteFile* file, scene::IMesh* mesh, s32 flags=EMWF_NONE);
39
40 protected:
41
42 void writeBoundingBox(const core::aabbox3df& box);
43
44 void writeMeshBuffer(const scene::IMeshBuffer* buffer);
45
46 void writeMaterial(const video::SMaterial& material);
47
48 core::stringw getVectorAsStringLine(const core::vector3df& v) const;
49
50 core::stringw getVectorAsStringLine(const core::vector2df& v) const;
51
52 // member variables:
53
54 io::IFileSystem* FileSystem;
55 video::IVideoDriver* VideoDriver;
56 io::IXMLWriter* Writer;
57 };
58
59} // end namespace
60} // end namespace
61
62#endif
63