www.pudn.com > tristripper-1.1.0-beta-5.zip > varrays_normalizer.h


 
#ifndef HEADER_GUARD_VARRAYS_NORMALIZER_H 
#define HEADER_GUARD_VARRAYS_NORMALIZER_H 
 
#include "gl_mesh.h" 
 
 
 
class varrays_normalizer 
{ 
public: 
	varrays_normalizer(gl_mesh & Mesh); 
 
	size_t Normalize(); 
 
private: 
	typedef unsigned int index; 
	typedef std::vector indices; 
	typedef std::vector varray; 
 
	class cmp_lt_vertex 
	{ 
	public: 
		cmp_lt_vertex(const varray & Vertex, const varray & Normal, const varray & TexCoord); 
		bool operator () (const index & a, const index & b) const; 
 
	private: 
		const varray & m_Vertex; 
		const varray & m_Normal; 
		const varray & m_TexCoord; 
	}; 
 
	gl_mesh & m_Mesh; 
}; 
 
 
 
 
////////////////////////////////////////////////////////////////////////// 
// varrays_normalizer Inline functions 
////////////////////////////////////////////////////////////////////////// 
 
inline varrays_normalizer::varrays_normalizer(gl_mesh & Mesh) : m_Mesh(Mesh) { } 
 
 
inline varrays_normalizer::cmp_lt_vertex::cmp_lt_vertex(const varray & Vertex, const varray & Normal, const varray & TexCoord) 
	: m_Vertex(Vertex), m_Normal(Normal), m_TexCoord(TexCoord) { } 
 
 
 
#endif // HEADER_GUARD_VARRAYS_NORMALIZER_H