add transform:get_size(), :set_size(...)

This commit is contained in:
MihailRis 2024-07-04 06:18:11 +03:00
parent 736e5b95b6
commit a6aa42a521
3 changed files with 11 additions and 0 deletions

View File

@ -3,6 +3,8 @@
local Transform = {__index={
get_pos=function(self) return __transform.get_pos(self.eid) end,
set_pos=function(self, v) return __transform.set_pos(self.eid, v) end,
get_size=function(self) return __transform.get_size(self.eid) end,
set_size=function(self, v) return __transform.set_size(self.eid, v) end,
get_rot=function(self) return __transform.get_rot(self.eid) end,
set_rot=function(self, m) return __transform.set_rot(self.eid, m) end,
}}

View File

@ -195,6 +195,8 @@ const luaL_Reg modeltreelib [] = {
const luaL_Reg transformlib [] = {
{"get_pos", lua::wrap<l_get_pos>},
{"set_pos", lua::wrap<l_set_pos>},
{"get_size", lua::wrap<l_get_size>},
{"set_size", lua::wrap<l_set_size>},
{"get_rot", lua::wrap<l_get_rot>},
{"set_rot", lua::wrap<l_set_rot>},
{NULL, NULL}

View File

@ -44,6 +44,13 @@ struct Transform {
dirty = true;
}
inline void setSize(glm::vec3 v) {
if (glm::distance2(size, v) >= 0.0000001f) {
dirty = true;
}
size = v;
}
inline void setPos(glm::vec3 v) {
if (glm::distance2(pos, v) >= 0.00001f) {
dirty = true;