goat3d

annotate src/material.h @ 15:f1b4c27382ce

blah
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 26 Sep 2013 14:06:14 +0300
parents 04bb114fcf05
children 498ca7ac7047
rev   line source
nuclear@0 1 #ifndef MATERIAL_H_
nuclear@0 2 #define MATERIAL_H_
nuclear@0 3
nuclear@1 4 #include <string>
nuclear@1 5 #include <map>
nuclear@1 6 #include <vmath/vmath.h>
nuclear@1 7
nuclear@1 8 struct MaterialAttrib {
nuclear@1 9 Vector4 value;
nuclear@1 10 std::string map;
nuclear@15 11
nuclear@15 12 MaterialAttrib() : value(1, 1, 1, 1) {}
nuclear@1 13 };
nuclear@1 14
nuclear@0 15 class Material {
nuclear@1 16 private:
nuclear@1 17 static MaterialAttrib def_attr;
nuclear@1 18
nuclear@1 19 std::map<std::string, MaterialAttrib> attrib;
nuclear@1 20
nuclear@1 21 public:
nuclear@8 22 std::string name;
nuclear@8 23
nuclear@9 24 int get_attrib_count() const;
nuclear@9 25 const char *get_attrib_name(int idx) const;
nuclear@1 26
nuclear@9 27 MaterialAttrib &operator [](int idx);
nuclear@9 28 const MaterialAttrib &operator [](int idx) const;
nuclear@9 29
nuclear@9 30 MaterialAttrib &operator [](const std::string &name);
nuclear@9 31 const MaterialAttrib &operator [](const std::string &name) const;
nuclear@0 32 };
nuclear@0 33
nuclear@0 34 #endif // MATERIAL_H_