From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- .../source/Irrlicht/CSTLMeshFileLoader.h | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h (limited to 'src/others/irrlicht-1.8.1/source/Irrlicht/CSTLMeshFileLoader.h') 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 @@ +// Copyright (C) 2007-2012 Christian Stehno +// This file is part of the "Irrlicht Engine". +// For conditions of distribution and use, see copyright notice in irrlicht.h + +#ifndef __C_STL_MESH_FILE_LOADER_H_INCLUDED__ +#define __C_STL_MESH_FILE_LOADER_H_INCLUDED__ + +#include "IMeshLoader.h" +#include "irrString.h" +#include "vector3d.h" + +namespace irr +{ +namespace scene +{ + +//! Meshloader capable of loading STL meshes. +class CSTLMeshFileLoader : public IMeshLoader +{ +public: + + //! returns true if the file maybe is able to be loaded by this class + //! based on the file extension (i.e. ".stl") + virtual bool isALoadableFileExtension(const io::path& filename) const; + + //! creates/loads an animated mesh from the file. + //! \return Pointer to the created mesh. Returns 0 if loading failed. + //! If you no longer need the mesh, you should call IAnimatedMesh::drop(). + //! See IReferenceCounted::drop() for more information. + virtual IAnimatedMesh* createMesh(io::IReadFile* file); + +private: + + // skips to the first non-space character available + void goNextWord(io::IReadFile* file) const; + // returns the next word + const core::stringc& getNextToken(io::IReadFile* file, core::stringc& token) const; + // skip to next printable character after the first line break + void goNextLine(io::IReadFile* file) const; + + //! Read 3d vector of floats + void getNextVector(io::IReadFile* file, core::vector3df& vec, bool binary) const; +}; + +} // end namespace scene +} // end namespace irr + +#endif + -- cgit v1.1