goat3d

annotate src/mesh.h @ 8:cd71f0b92f44

a bit more...
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 21 Aug 2013 05:52:28 +0300
parents e46529a5d057
children f1b4c27382ce
rev   line source
nuclear@0 1 #ifndef MESH_H_
nuclear@0 2 #define MESH_H_
nuclear@0 3
nuclear@1 4 #include <vector>
nuclear@8 5 #include "object.h"
nuclear@8 6 #include "material.h"
nuclear@1 7
nuclear@8 8 class Node;
nuclear@1 9
nuclear@8 10 struct Face {
nuclear@8 11 int v[3];
nuclear@0 12 };
nuclear@0 13
nuclear@8 14 struct Int4 {
nuclear@8 15 int x, y, z, w;
nuclear@1 16 };
nuclear@1 17
nuclear@8 18 class Mesh : public Object {
nuclear@8 19 public:
nuclear@8 20 Material *material;
nuclear@1 21
nuclear@8 22 std::vector<Vector3> vertices;
nuclear@8 23 std::vector<Vector3> normals;
nuclear@8 24 std::vector<Vector3> tangents;
nuclear@8 25 std::vector<Vector3> texcoords;
nuclear@8 26 std::vector<Vector4> skin_weights;
nuclear@8 27 std::vector<Int4> skin_matrices;
nuclear@8 28 std::vector<Vector4> colors;
nuclear@8 29 std::vector<Node*> bones;
nuclear@8 30 std::vector<Face> faces;
nuclear@1 31
nuclear@8 32 Mesh();
nuclear@8 33 virtual ~Mesh();
nuclear@1 34
nuclear@8 35 virtual void set_material(Material *mat);
nuclear@8 36 virtual Material *get_material();
nuclear@8 37 virtual const Material *get_material() const;
nuclear@1 38 };
nuclear@1 39
nuclear@0 40 #endif // MESH_H_