IgorPetrov Posted October 1, 2014 Posted October 1, 2014 Добрый день. Подскажите пожалуйста, как получить доступ к WorldTrigger-у, в сцене. Есть созданная в редакторе сцена. На ней 4 WorldTrigger-а. Внутри них ObjectMesh-и. Из программы на С++ загружаю сцену: Console *c=Console::get(); c->run("world_load prototype"); c->flush(); Сцена успешно загружается. Получаю список Nod-ов: Vector<NodePtr> vec; World *w=World::get(); w->getNodes(vec); Нахожу в списке по имени нужный мне WorldTrigger: QString tmp; for(int n=0;n!=vec.size();n++){ tmp.clear(); Node *tmpNode=vec[n].get(); tmp.append(tmpNode->getName()); if(tmp.left(10)=="ST_Willage"){ WorldTriggerPtr t=WorldTrigger::create(vec[n]); int r=t->getID(); } } Все работает нормально, но WorldTrigger::create(vec[n]) возвращает пустой указатель. Соответственно, попытка получить его ID заканчивается крахом. Приложение, использующее C++ API написано на Qt 5.3 MCVC2010. OC Windows 7.
silent Posted October 1, 2014 Posted October 1, 2014 Hi Igor, Can it be reproduced with <SDK>/source/samples/Api/Nodes/WorldTrigger sample? What modifications should we made to get this crash? Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
IgorPetrov Posted October 1, 2014 Author Posted October 1, 2014 silent, в примере <SDK>/source/samples/Api/Nodes/WorldTrigger WorldTrigger создается в коде, командой WorldTrigger::create(const vec3 & size), в то время, как в моем случае WorldTrigger уже описан в файле .world.В принципе, наверное, если заменить файл data/world_trigger.world на мой(во вложении) и в файле WorldTrigger.cpp в функции main заменить строку 60 на это: World *w=World::get(); NodePtr n=w->getNode(1763654532); WorldTriggerPtr tt=WorldTrigger::create(n); int r=tt->getID(); , то проблема должна воспроизвестись. prototype.world
silent Posted October 2, 2014 Posted October 2, 2014 Hi Igor, I've successfully reproduced this issue. Thank you for the test scene. I will pass this information to the developers. Hope they will give a feedback soon. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
silent Posted October 2, 2014 Posted October 2, 2014 Hi Igor, Fixed, the bug fix will be available in the next SDK update. Sorry for the inconvenience caused. /moved to bugs section/ How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
IgorPetrov Posted October 2, 2014 Author Posted October 2, 2014 silent, большое спасибо за оперативную реакцию.
Recommended Posts