[DEV] add capabilities of vec*

This commit is contained in:
Edouard DUPIN 2014-08-11 22:43:05 +02:00
parent 2198a20dcc
commit ab78695585
4 changed files with 102 additions and 0 deletions

View File

@ -365,3 +365,43 @@ namespace etk {
};
std::string std::to_string(const vec2& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ")";
return str;
}
std::string std::to_string(const ivec2& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ")";
return str;
}
std::string std::to_string(const uivec2& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ")";
return str;
}
std::string std::to_string(const bvec2& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ")";
return str;
}

View File

@ -374,6 +374,12 @@ inline vec2 vec2ClipInt64(const vec2& _val) {
return vec2((int64_t)_val.x(), (int64_t)_val.y());
}
namespace std {
std::string to_string(const vec2& _obj);
std::string to_string(const bvec2& _obj);
std::string to_string(const ivec2& _obj);
std::string to_string(const uivec2& _obj);
};
namespace etk {
std::ostream& operator <<(std::ostream& _os, const std::vector<vec2 >& _obj);

View File

@ -108,3 +108,52 @@ vec3 quaternionToEulerXYZ(const btQuaternion& _quat) {
asin(2.0*(xxx*zzz-yyy*www)),
atan2(2.0*(xxx*yyy + zzz*www), (xxx2-yyy2-zzz2+www2) ) );
}
std::string std::to_string(const vec3& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ",";
str += std::to_string(_obj.z());
str += ")";
return str;
}
std::string std::to_string(const ivec3& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ",";
str += std::to_string(_obj.z());
str += ")";
return str;
}
std::string std::to_string(const uivec3& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ",";
str += std::to_string(_obj.z());
str += ")";
return str;
}
std::string std::to_string(const bvec3& _obj) {
std::string str;
str = "(";
str += std::to_string(_obj.x());
str += ",";
str += std::to_string(_obj.y());
str += ",";
str += std::to_string(_obj.z());
str += ")";
return str;
}

View File

@ -470,6 +470,13 @@ inline vec3 vec3ClipInt64(const vec3& val) {
return vec3((int64_t)val.x(), (int64_t)val.y(), (int64_t)val.z());
}
namespace std {
std::string to_string(const vec3& _obj);
std::string to_string(const bvec3& _obj);
std::string to_string(const ivec3& _obj);
std::string to_string(const uivec3& _obj);
};
namespace etk {
std::ostream& operator <<(std::ostream& _os, const std::vector<vec3>& _obj);
//! @previous