никак не выходит, где-то ошибаюсь по ссылкам, можете подсказать, что не так?
std::vector<float>& get_euler(context_t ctx, Circle *obj) {
auto camera_mat = ctx.camera.get_orientation();
auto object_mat = dynamic_cast<Object *>(obj)->get_model();
auto q = quaternion(camera_mat * object_mat);
auto euler = glm::eulerAngles(q);
std::vector<float> xyz{ std::abs(euler.x), std::abs(euler.y), std::abs(euler.z) };
return xyz;
}
bool when_focused(context_t ctx, Circle *obj, const CircleOptions &opt, const CircleOptions &opt_red, const CircleOptions &opt_white) {
auto camera_mat = ctx.camera.get_orientation();
auto object_mat = dynamic_cast<Object *>(obj)->get_model();
auto q = quaternion(camera_mat * object_mat);
auto euler = glm::eulerAngles(q);
std::vector<float> xyz{ std::abs(euler.x), std::abs(euler.y), std::abs(euler.z) };
// test
auto xyz_test = get_euler(ctx, obj);
}
Возвращай не ссылку, а значение. В get_euler(...)
Обсуждают сегодня