From 69e4eee05b1cb536628fb01dd8849ea296a1b2ce Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 24 Apr 2011 18:19:32 -0400 Subject: [PATCH] added structs to represent chunk data --- MeshConverter/MeshConverter.vcxproj | 6 ++++++ MeshConverter/src/chunks/materials.h | 26 ++++++++++++++++++++++++++ MeshConverter/src/chunks/normals.h | 26 ++++++++++++++++++++++++++ MeshConverter/src/chunks/texcoords.h | 26 ++++++++++++++++++++++++++ MeshConverter/src/chunks/triangles.h | 26 ++++++++++++++++++++++++++ MeshConverter/src/chunks/vertices.h | 26 ++++++++++++++++++++++++++ MeshConverter/src/geometry/triangle.h | 15 +++++++++++++++ 7 files changed, 151 insertions(+) create mode 100644 MeshConverter/src/chunks/materials.h create mode 100644 MeshConverter/src/chunks/normals.h create mode 100644 MeshConverter/src/chunks/texcoords.h create mode 100644 MeshConverter/src/chunks/triangles.h create mode 100644 MeshConverter/src/chunks/vertices.h create mode 100644 MeshConverter/src/geometry/triangle.h diff --git a/MeshConverter/MeshConverter.vcxproj b/MeshConverter/MeshConverter.vcxproj index 91b072a..b5aa4a0 100644 --- a/MeshConverter/MeshConverter.vcxproj +++ b/MeshConverter/MeshConverter.vcxproj @@ -90,10 +90,16 @@ + + + + + + diff --git a/MeshConverter/src/chunks/materials.h b/MeshConverter/src/chunks/materials.h new file mode 100644 index 0000000..e8199bf --- /dev/null +++ b/MeshConverter/src/chunks/materials.h @@ -0,0 +1,26 @@ +#ifndef __CHUNK_MATERIALS_H_INCLUDED__ +#define __CHUNK_MATERIALS_H_INCLUDED__ + +#include "../common.h" +#include "../assets/material.h" + +struct MaterialsChunk +{ + static const char *ident = "MTL"; + + uint32_t count; + Material *materials; + + MaterialsChunk() + { + count = 0; + materials = NULL; + } + + ~MaterialsChunk() + { + SAFE_DELETE_ARRAY(materials); + } +}; + +#endif diff --git a/MeshConverter/src/chunks/normals.h b/MeshConverter/src/chunks/normals.h new file mode 100644 index 0000000..08cbccf --- /dev/null +++ b/MeshConverter/src/chunks/normals.h @@ -0,0 +1,26 @@ +#ifndef __CHUNKS_NORMALS_H_INCLUDED__ +#define __CHUNKS_NORMALS_H_INCLUDED__ + +#include "../common.h" +#include "../geometry/vector3.h" + +struct NormalsChunk +{ + static const char *ident = "NRL"; + + uint32_t count; + Vector3 *normals; + + NormalsChunk() + { + count = 0; + normals = NULL; + } + + ~NormalsChunk() + { + SAFE_DELETE_ARRAY(normals); + } +}; + +#endif diff --git a/MeshConverter/src/chunks/texcoords.h b/MeshConverter/src/chunks/texcoords.h new file mode 100644 index 0000000..0fadfea --- /dev/null +++ b/MeshConverter/src/chunks/texcoords.h @@ -0,0 +1,26 @@ +#ifndef __CHUNKS_TEXCOORDS_H_INCLUDED__ +#define __CHUNKS_TEXCOORDS_H_INCLUDED__ + +#include "../common.h" +#include "../geometry/vector2.h" + +struct TexCoordsChunk +{ + static const char *ident = "TXT"; + + uint32_t count; + Vector2 *texCoords; + + TexCoordsChunk() + { + count = 0; + texCoords = NULL; + } + + ~TexCoordsChunk() + { + SAFE_DELETE_ARRAY(texCoords); + } +}; + +#endif diff --git a/MeshConverter/src/chunks/triangles.h b/MeshConverter/src/chunks/triangles.h new file mode 100644 index 0000000..d4db7f4 --- /dev/null +++ b/MeshConverter/src/chunks/triangles.h @@ -0,0 +1,26 @@ +#ifndef __CHUNKS_TRIANGLES_H_INCLUDED__ +#define __CHUNKS_TRIANGLES_H_INCLUDED__ + +#include "../common.h" +#include "../geometry/triangle.h" + +struct TrianglesChunk +{ + static const char *ident = "TRI"; + + uint32_t count; + Triangle *triangles; + + TrianglesChunk() + { + count = 0; + triangles = NULL; + } + + ~TrianglesChunk() + { + SAFE_DELETE_ARRAY(triangles); + } +}; + +#endif diff --git a/MeshConverter/src/chunks/vertices.h b/MeshConverter/src/chunks/vertices.h new file mode 100644 index 0000000..fbf86fa --- /dev/null +++ b/MeshConverter/src/chunks/vertices.h @@ -0,0 +1,26 @@ +#ifndef __CHUNKS_VERTICES_H_INCLUDED__ +#define __CHUNKS_VERTICES_H_INCLUDED__ + +#include "../common.h" +#include "../geometry/vector3.h" + +struct VerticesChunk +{ + static const char *ident = "VTX"; + + uint32_t count; + Vector3 *vertices; + + VerticesChunk() + { + count = 0; + vertices = NULL; + } + + ~VerticesChunk() + { + SAFE_DELETE_ARRAY(vertices); + } +}; + +#endif diff --git a/MeshConverter/src/geometry/triangle.h b/MeshConverter/src/geometry/triangle.h new file mode 100644 index 0000000..a31db2a --- /dev/null +++ b/MeshConverter/src/geometry/triangle.h @@ -0,0 +1,15 @@ +#ifndef __GEOMETRY_TRIANGLE_H_INCLUDED__ +#define __GEOMETRY_TRIANGLE_H_INCLUDED__ + +#include "../common.h" + +class Triangle +{ +public: + uint32_t vertices[3]; + uint32_t normals[3]; + uint32_t texCoords[3]; + uint32_t materialIndex; +}; + +#endif