SparrowEngine/src/tools/utils.cpp

31 lines
945 B
C++

#include "utils.h"
#include "scenetree.h"
std::vector<std::string> utils::split(const std::string &line, char sep){
std::vector<std::string> tokens;
std::size_t start=0, end=0;
while((end = line.find(sep,start)) != std::string::npos){
tokens.push_back(line.substr(start,end-start));
start=end+1;
}
tokens.push_back(line.substr(start));
return tokens;
}
void utils::setPosition2D(MeshNode *mnode, glm::vec2 pos){
glm::mat4 tr = mnode->getTransform();
glm::vec3 vpos(pos.x,pos.y,0);
tr = glm::translate(tr,vpos - glm::vec3(tr[3]));
mnode->setTransform(tr);
}
void utils::resize2D(MeshNode *mnode, glm::vec2 dim, glm::vec2 new_dim){
glm::mat4 tr = mnode->getTransform();
glm::vec3 pos(tr[3]);
glm::vec2 ratio = new_dim / dim;
tr = glm::scale(tr, glm::vec3(1,ratio.y,1));
glm::vec3 new_pos(tr[3]);
tr = glm::translate(tr,pos-new_pos);
mnode->setTransform(tr);
}