Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.13.1
-
None
Description
I have attached a zip file containing a modified project of simple-cpp example. I have added two classes for consecutive ray casting. I have some unexpected observations.
At main.cpp file, when I run this line, at some point, ray-caster won't disable itself, therefore consecutive ray-casting gets stuck:
ConsecutiveRayCaster *consecutiveRayCaster = new ConsecutiveRayCaster(scene, TimeDelayStatus::NoDelay);
However, when I run this line, even when delay value is equal to 0 msec, all ray-casts tests are done consecutively without any issue:
ConsecutiveRayCaster *consecutiveRayCaster = new ConsecutiveRayCaster(scene, TimeDelayStatus::SomeDelay, 0 /* msec */);
This switch makes the difference:
switch (m_timeDelayStatus) { case NoDelay: rayCaster->trigger(origin, direction, length); break; case SomeDelay: QTimer::singleShot(m_timeDelayBetweenRayCasts, [rayCaster, origin, direction, length](){ rayCaster->trigger(origin, direction, length); }); break; }
I'm not sure whether the attached project is supposed to behave like this.