goat3d

annotate src/mesh.h @ 15:f1b4c27382ce

blah
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 26 Sep 2013 14:06:14 +0300
parents cd71f0b92f44
children b35427826b60
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@15 25 std::vector<Vector2> 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<Face> faces;
nuclear@1 30
nuclear@15 31 std::vector<Node*> bones;
nuclear@15 32
nuclear@8 33 Mesh();
nuclear@1 34
nuclear@15 35 void set_material(Material *mat);
nuclear@15 36 Material *get_material();
nuclear@15 37 const Material *get_material() const;
nuclear@1 38 };
nuclear@1 39
nuclear@0 40 #endif // MESH_H_