Recast Navigation
Navigation-mesh Toolset for Games
MeshLoaderObj.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009-2010 Mikko Mononen memon@inside.org
3 //
4 // This software is provided 'as-is', without any express or implied
5 // warranty. In no event will the authors be held liable for any damages
6 // arising from the use of this software.
7 // Permission is granted to anyone to use this software for any purpose,
8 // including commercial applications, and to alter it and redistribute it
9 // freely, subject to the following restrictions:
10 // 1. The origin of this software must not be misrepresented; you must not
11 // claim that you wrote the original software. If you use this software
12 // in a product, an acknowledgment in the product documentation would be
13 // appreciated but is not required.
14 // 2. Altered source versions must be plainly marked as such, and must not be
15 // misrepresented as being the original software.
16 // 3. This notice may not be removed or altered from any source distribution.
17 //
18 
19 #ifndef MESHLOADER_OBJ
20 #define MESHLOADER_OBJ
21 
22 #include <string>
23 
25 {
26 public:
29 
30  bool load(const std::string& fileName);
31 
32  const float* getVerts() const { return m_verts; }
33  const float* getNormals() const { return m_normals; }
34  const int* getTris() const { return m_tris; }
35  int getVertCount() const { return m_vertCount; }
36  int getTriCount() const { return m_triCount; }
37  const std::string& getFileName() const { return m_filename; }
38 
39 private:
40  // Explicitly disabled copy constructor and copy assignment operator.
42  rcMeshLoaderObj& operator=(const rcMeshLoaderObj&);
43 
44  void addVertex(float x, float y, float z, int& cap);
45  void addTriangle(int a, int b, int c, int& cap);
46 
47  std::string m_filename;
48  float m_scale;
49  float* m_verts;
50  int* m_tris;
51  float* m_normals;
52  int m_vertCount;
53  int m_triCount;
54 };
55 
56 #endif // MESHLOADER_OBJ
Definition: MeshLoaderObj.h:25
int getVertCount() const
Definition: MeshLoaderObj.h:35
int getTriCount() const
Definition: MeshLoaderObj.h:36
const int * getTris() const
Definition: MeshLoaderObj.h:34
const std::string & getFileName() const
Definition: MeshLoaderObj.h:37
~rcMeshLoaderObj()
Definition: MeshLoaderObj.cpp:35
bool load(const std::string &fileName)
Definition: MeshLoaderObj.cpp:138
const float * getNormals() const
Definition: MeshLoaderObj.h:33
const float * getVerts() const
Definition: MeshLoaderObj.h:32
rcMeshLoaderObj()
Definition: MeshLoaderObj.cpp:25