00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _GEOMETRY_H_
00021 #define _GEOMETRY_H_
00022
00023 #include "Vector3.h"
00024 #include <boost\utility.hpp>
00025 #include <vector>
00026
00027 namespace TestFrameWork
00028 {
00029
00030 typedef std::vector<Vector3> Positions;
00031 typedef std::vector<Vector3> Normals;
00032 typedef std::vector<int> Indices;
00033
00037 class Geometry
00038 {
00039 public:
00040 Geometry(const std::wstring& fileName);
00041
00042 Geometry(const Geometry& geometry);
00043
00044 ~Geometry(void);
00045
00046 Geometry& operator=(const Geometry& geometry);
00047
00048 const Positions& GetPositions(void) const;
00049
00050 const Normals& GetNormals(void) const;
00051
00052 const Indices& GetIndices(void) const;
00053
00054 private:
00055 Positions m_positions;
00056
00057 Normals m_normals;
00058
00059 Indices m_indices;
00060
00063 void LoadOBJFile(const std::wstring& fileName);
00064
00065 void ComputeNormals(void);
00066 };
00067
00068 }
00069
00070 #endif