Open yanzixiang opened 2 months ago
Thank you for your reported issue. I do see bad behavior in the display as you indicate, with the included sample code.
simUtil::PlatformSimulator
is a relatively small class and currently only used in SIMDIS SDK examples. It is fit for purpose in order to simply get platforms moving in a scenario. I'm not surprised by the bad behavior you uncovered, as we do not stress this particular code much beyond the examples.
At this time we do not have the spare time to address this issue. However, if you were to submit a pull request on a suggested improvement we'd be happy to take a look at merging it in.
I just change the waypoints as this,
and i got this![LOBGroupTest](https://github.com/USNavalResearchLaboratory/simdissdk/assets/33214/43afe1e3-5a5c-43e3-8607-5d0ca4a4e1eb)
it seems that, the function here, https://github.com/USNavalResearchLaboratory/simdissdk/blob/0124ce7c6ce36327e9e51b9d28a86ef7c3486b05/SDK/simUtil/PlatformSimulator.cpp#L67
int PlatformSimulator::updatePlatform(double time, simData::PlatformUpdate *update) select two point at the start,
https://github.com/USNavalResearchLaboratory/simdissdk/blob/0124ce7c6ce36327e9e51b9d28a86ef7c3486b05/SDK/simUtil/PlatformSimulator.cpp#L161
if wp0 == wp1, will casue bearing_rad be set to 90, maybe, wp0 should be selected by a previous point, or, bearing_rad shold be recorded.
the full code is here