Irrlicht 3D Engine
IMeshWriter.h
Go to the documentation of this file.
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_I_MESH_WRITER_H_INCLUDED__
6 #define __IRR_I_MESH_WRITER_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "EMeshWriterEnums.h"
10 
11 namespace irr
12 {
13 namespace io
14 {
15  class IWriteFile;
16 } // end namespace io
17 
18 namespace scene
19 {
20  class IMesh;
21 
23  class IMeshWriter : public virtual IReferenceCounted
24  {
25  public:
26 
28  virtual ~IMeshWriter() {}
29 
31 
35  virtual EMESH_WRITER_TYPE getType() const = 0;
36 
38 
42  virtual bool writeMesh(io::IWriteFile* file, scene::IMesh* mesh,
43  s32 flags=EMWF_NONE) = 0;
44 
45  // Writes an animated mesh
46  // for future use, only b3d writer is able to write animated meshes currently and that was implemented using the writeMesh above.
47  /* \return Returns true if successful */
48  //virtual bool writeAnimatedMesh(io::IWriteFile* file,
49  // scene::IAnimatedMesh* mesh,
50  // s32 flags=EMWF_NONE) = 0;
51  };
52 
53 
54 } // end namespace
55 } // end namespace
56 
57 #endif
58 
virtual EMESH_WRITER_TYPE getType() const =0
Get the type of the mesh writer.
virtual bool writeMesh(io::IWriteFile *file, scene::IMesh *mesh, s32 flags=EMWF_NONE)=0
Write a static mesh.
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
Interface providing write access to a file.
Definition: IWriteFile.h:17
Interface for writing meshes.
Definition: IMeshWriter.h:23
Class which holds the geometry of an object.
Definition: IMesh.h:71
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
EMESH_WRITER_TYPE
An enumeration for all supported types of built-in mesh writers.
virtual ~IMeshWriter()
Destructor.
Definition: IMeshWriter.h:28
Base class of most objects of the Irrlicht Engine.