mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-05 21:52:10 +01:00
Add a long comment describing pathcompiler and store the index for each
waypoint in their description.
This commit is contained in:
parent
7492c8fec8
commit
f7e0fc1065
@ -2427,14 +2427,16 @@ void OPMapGadgetWidget::SetUavPic(QString UAVPic)
|
|||||||
void OPMapGadgetWidget::doVisualizationChanged(QList<PathCompiler::waypoint> waypoints)
|
void OPMapGadgetWidget::doVisualizationChanged(QList<PathCompiler::waypoint> waypoints)
|
||||||
{
|
{
|
||||||
m_map->WPDeleteAll();
|
m_map->WPDeleteAll();
|
||||||
|
int index = 0;
|
||||||
foreach (PathCompiler::waypoint waypoint, waypoints) {
|
foreach (PathCompiler::waypoint waypoint, waypoints) {
|
||||||
internals::PointLatLng position(waypoint.latitude, waypoint.longitude);
|
internals::PointLatLng position(waypoint.latitude, waypoint.longitude);
|
||||||
|
|
||||||
WayPointItem * wayPointItem = m_map->WPCreate(position, 0, "Waypoint");
|
WayPointItem * wayPointItem = m_map->WPCreate(position, 0, QString(index));
|
||||||
Q_ASSERT(wayPointItem);
|
Q_ASSERT(wayPointItem);
|
||||||
if(wayPointItem) {
|
if(wayPointItem) {
|
||||||
wayPointItem->setFlag(QGraphicsItem::ItemIsMovable, false);
|
wayPointItem->setFlag(QGraphicsItem::ItemIsMovable, false);
|
||||||
wayPointItem->picture.load(QString::fromUtf8(":/opmap/images/waypoint_marker1.png"));
|
wayPointItem->picture.load(QString::fromUtf8(":/opmap/images/waypoint_marker1.png"));
|
||||||
|
index++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,18 @@
|
|||||||
* UAVObject representation on the flight controller. It also can support multiple
|
* UAVObject representation on the flight controller. It also can support multiple
|
||||||
* ways of converting a path from what the user clicked to the underlying representation
|
* ways of converting a path from what the user clicked to the underlying representation
|
||||||
* to achieve the desired end flight trajectory
|
* to achieve the desired end flight trajectory
|
||||||
|
*
|
||||||
|
* So the chain of data for the map lib is:
|
||||||
|
* FC <-> PathCompiler <-> OPMapGadget <-> OPMapLib
|
||||||
|
*
|
||||||
|
* The goal is that PathCompiler be as state free as is possible. Eventually for more
|
||||||
|
* complicated path compilation this will probably not be achievable. That means it
|
||||||
|
* should not cache a copy of waypoints locally if that can be avoided (i.e. it should
|
||||||
|
* refer directly to what is stored on the FC).
|
||||||
|
*
|
||||||
|
* For the visualization to have the ability to manipulate the path though it needs to
|
||||||
|
* be able to map unambiguously from the graphical items to the internal waypoints. It
|
||||||
|
* must cache a lookup from the graphical item to the index from this tool.
|
||||||
*/
|
*/
|
||||||
class PathCompiler : public QObject
|
class PathCompiler : public QObject
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user