00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 00004 00005 #ifndef __IRR_I_MESH_WRITER_H_INCLUDED__ 00006 #define __IRR_I_MESH_WRITER_H_INCLUDED__ 00007 00008 #include "IReferenceCounted.h" 00009 #include "EMeshWriterEnums.h" 00010 00011 namespace irr 00012 { 00013 namespace io 00014 { 00015 class IWriteFile; 00016 } // end namespace io 00017 00018 namespace scene 00019 { 00020 class IMesh; 00021 00023 class IMeshWriter : public virtual IReferenceCounted 00024 { 00025 public: 00026 00028 virtual ~IMeshWriter() {} 00029 00031 00035 virtual EMESH_WRITER_TYPE getType() const = 0; 00036 00038 00042 virtual bool writeMesh(io::IWriteFile* file, scene::IMesh* mesh, 00043 s32 flags=EMWF_NONE) = 0; 00044 00045 // Writes an animated mesh 00046 // for future use, no writer is able to write animated meshes currently 00047 /* \return Returns true if sucessful */ 00048 //virtual bool writeAnimatedMesh(io::IWriteFile* file, 00049 // scene::IAnimatedMesh* mesh, 00050 // s32 flags=EMWF_NONE) = 0; 00051 }; 00052 00053 00054 } // end namespace 00055 } // end namespace 00056 00057 #endif 00058