added vec4 and mat3 types
This commit is contained in:
parent
37b893e3f0
commit
f587759317
@ -71,6 +71,20 @@ template <> std::istream& Property<glm::vec3>::loadBinary(std::istream& is) { re
|
|||||||
template <> std::istream& Property<glm::vec3>::loadAscii(std::istream& is) { is.ignore(1); for(int i=0; i<value.length(); ++i) is >> (glm::value_ptr(value)[i]), is.ignore(1); return is; }
|
template <> std::istream& Property<glm::vec3>::loadAscii(std::istream& is) { is.ignore(1); for(int i=0; i<value.length(); ++i) is >> (glm::value_ptr(value)[i]), is.ignore(1); return is; }
|
||||||
template <> AbstractProperty::PropertyType Property<glm::vec3>::getStaticPropertyType() { return AbstractProperty::VEC3; }
|
template <> AbstractProperty::PropertyType Property<glm::vec3>::getStaticPropertyType() { return AbstractProperty::VEC3; }
|
||||||
|
|
||||||
|
// VEC4 PROPERTY
|
||||||
|
template <> std::ostream& Property<glm::vec4>::saveBinary(std::ostream& os) { return os.write((char*)glm::value_ptr(value), sizeof(float)*value.length()); }
|
||||||
|
template <> std::ostream& Property<glm::vec4>::saveAscii(std::ostream& os) { os << "["; for(int i=0; i<value.length(); ++i) os << (glm::value_ptr(value)[i]) << (i == value.length()-1 ? "]" : ", "); return os; }
|
||||||
|
template <> std::istream& Property<glm::vec4>::loadBinary(std::istream& is) { return is.read((char*)glm::value_ptr(value), sizeof(float)*value.length()); }
|
||||||
|
template <> std::istream& Property<glm::vec4>::loadAscii(std::istream& is) { is.ignore(1); for(int i=0; i<value.length(); ++i) is >> (glm::value_ptr(value)[i]), is.ignore(1); return is; }
|
||||||
|
template <> AbstractProperty::PropertyType Property<glm::vec4>::getStaticPropertyType() { return AbstractProperty::VEC4; }
|
||||||
|
|
||||||
|
// MAT3 PROPERTY
|
||||||
|
template <> std::ostream& Property<glm::mat3>::saveBinary(std::ostream& os) { return os.write((char*)glm::value_ptr(value), sizeof(float)*value.length()); }
|
||||||
|
template <> std::ostream& Property<glm::mat3>::saveAscii(std::ostream& os) { os << "["; for(int i=0; i<value.length(); ++i) os << (glm::value_ptr(value)[i]) << (i == value.length()-1 ? "]" : ", "); return os; }
|
||||||
|
template <> std::istream& Property<glm::mat3>::loadBinary(std::istream& is) { return is.read((char*)glm::value_ptr(value), sizeof(float)*value.length()); }
|
||||||
|
template <> std::istream& Property<glm::mat3>::loadAscii(std::istream& is) { is.ignore(1); for(int i=0; i<value.length(); ++i) is >> (glm::value_ptr(value)[i]), is.ignore(1); return is; }
|
||||||
|
template <> AbstractProperty::PropertyType Property<glm::mat3>::getStaticPropertyType() { return AbstractProperty::MAT3; }
|
||||||
|
|
||||||
// MAT4 PROPERTY
|
// MAT4 PROPERTY
|
||||||
template <> std::ostream& Property<glm::mat4>::saveBinary(std::ostream& os) { return os.write((char*)glm::value_ptr(value), sizeof(float)*value.length()); }
|
template <> std::ostream& Property<glm::mat4>::saveBinary(std::ostream& os) { return os.write((char*)glm::value_ptr(value), sizeof(float)*value.length()); }
|
||||||
template <> std::ostream& Property<glm::mat4>::saveAscii(std::ostream& os) { os << "["; for(int i=0; i<value.length(); ++i) os << (glm::value_ptr(value)[i]) << (i == value.length()-1 ? "]" : ", "); return os; }
|
template <> std::ostream& Property<glm::mat4>::saveAscii(std::ostream& os) { os << "["; for(int i=0; i<value.length(); ++i) os << (glm::value_ptr(value)[i]) << (i == value.length()-1 ? "]" : ", "); return os; }
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#define BOOL(var) PROPERTY(bool, var)
|
#define BOOL(var) PROPERTY(bool, var)
|
||||||
#define VEC2(var) PROPERTY(glm::vec2, var)
|
#define VEC2(var) PROPERTY(glm::vec2, var)
|
||||||
#define VEC3(var) PROPERTY(glm::vec3, var)
|
#define VEC3(var) PROPERTY(glm::vec3, var)
|
||||||
|
#define VEC4(var) PROPERTY(glm::vec4, var)
|
||||||
|
#define MAT3(var) PROPERTY(glm::mat3, var)
|
||||||
#define MAT4(var) PROPERTY(glm::mat4, var)
|
#define MAT4(var) PROPERTY(glm::mat4, var)
|
||||||
#define STRING(var) PROPERTY(std::string, var)
|
#define STRING(var) PROPERTY(std::string, var)
|
||||||
|
|
||||||
@ -44,6 +46,8 @@
|
|||||||
#define VECTOR_DOUBLE(var) VECTOR_PROPERTY(double, var)
|
#define VECTOR_DOUBLE(var) VECTOR_PROPERTY(double, var)
|
||||||
#define VECTOR_VEC2(var) VECTOR_PROPERTY(glm::vec2, var)
|
#define VECTOR_VEC2(var) VECTOR_PROPERTY(glm::vec2, var)
|
||||||
#define VECTOR_VEC3(var) VECTOR_PROPERTY(glm::vec3, var)
|
#define VECTOR_VEC3(var) VECTOR_PROPERTY(glm::vec3, var)
|
||||||
|
#define VECTOR_VEC4(var) VECTOR_PROPERTY(glm::vec4, var)
|
||||||
|
#define VECTOR_MAT3(var) VECTOR_PROPERTY(glm::mat3, var)
|
||||||
#define VECTOR_MAT4(var) VECTOR_PROPERTY(glm::mat4, var)
|
#define VECTOR_MAT4(var) VECTOR_PROPERTY(glm::mat4, var)
|
||||||
#define VECTOR_STRING(var) VECTOR_PROPERTY(std::string, var)
|
#define VECTOR_STRING(var) VECTOR_PROPERTY(std::string, var)
|
||||||
#define VECTOR_REFERENCE(type, var) VECTOR_PROPERTY(type*, var)
|
#define VECTOR_REFERENCE(type, var) VECTOR_PROPERTY(type*, var)
|
||||||
@ -76,6 +80,8 @@ public:
|
|||||||
BOOLEAN,
|
BOOLEAN,
|
||||||
VEC2,
|
VEC2,
|
||||||
VEC3,
|
VEC3,
|
||||||
|
VEC4,
|
||||||
|
MAT3,
|
||||||
MAT4,
|
MAT4,
|
||||||
STRING,
|
STRING,
|
||||||
REFERENCE,
|
REFERENCE,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user