aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h')
-rw-r--r--src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h b/src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h
new file mode 100644
index 0000000..fb5dc90
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h
@@ -0,0 +1,49 @@
1// Copyright (C) 2007-2012 Christian Stehno
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 __C_STL_MESH_FILE_LOADER_H_INCLUDED__
6#define __C_STL_MESH_FILE_LOADER_H_INCLUDED__
7
8#include "IMeshLoader.h"
9#include "irrString.h"
10#include "vector3d.h"
11
12namespace irr
13{
14namespace scene
15{
16
17//! Meshloader capable of loading STL meshes.
18class CSTLMeshFileLoader : public IMeshLoader
19{
20public:
21
22 //! returns true if the file maybe is able to be loaded by this class
23 //! based on the file extension (i.e. ".stl")
24 virtual bool isALoadableFileExtension(const io::path& filename) const;
25
26 //! creates/loads an animated mesh from the file.
27 //! \return Pointer to the created mesh. Returns 0 if loading failed.
28 //! If you no longer need the mesh, you should call IAnimatedMesh::drop().
29 //! See IReferenceCounted::drop() for more information.
30 virtual IAnimatedMesh* createMesh(io::IReadFile* file);
31
32private:
33
34 // skips to the first non-space character available
35 void goNextWord(io::IReadFile* file) const;
36 // returns the next word
37 const core::stringc& getNextToken(io::IReadFile* file, core::stringc& token) const;
38 // skip to next printable character after the first line break
39 void goNextLine(io::IReadFile* file) const;
40
41 //! Read 3d vector of floats
42 void getNextVector(io::IReadFile* file, core::vector3df& vec, bool binary) const;
43};
44
45} // end namespace scene
46} // end namespace irr
47
48#endif
49