add optional position argument to SGRoute::add_waypoint(). Default is -1,
which appends the WP like it used to. Valid vector indices insert the WP at this position.
This commit is contained in:
@@ -70,11 +70,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a waypoint.
|
* Add waypoint (default), or insert waypoint at position n.
|
||||||
* @param wp a waypoint
|
* @param wp a waypoint
|
||||||
*/
|
*/
|
||||||
inline void add_waypoint( const SGWayPoint &wp ) {
|
void add_waypoint( const SGWayPoint &wp, int n = -1 ) {
|
||||||
route.push_back( wp );
|
if ( n < 0 || n >= (int)route.size() )
|
||||||
|
route.push_back( wp );
|
||||||
|
else
|
||||||
|
route.insert( route.begin() + n, 1, wp );
|
||||||
|
|
||||||
int size = route.size();
|
int size = route.size();
|
||||||
if ( size > 1 ) {
|
if ( size > 1 ) {
|
||||||
@@ -152,7 +155,7 @@ public:
|
|||||||
void delete_waypoint( int n = 0 ) {
|
void delete_waypoint( int n = 0 ) {
|
||||||
if ( !route.size() )
|
if ( !route.size() )
|
||||||
return;
|
return;
|
||||||
if ( n < 0 || n > (int)route.size() - 1 )
|
if ( n < 0 || n >= (int)route.size() )
|
||||||
n = route.size() - 1;
|
n = route.size() - 1;
|
||||||
|
|
||||||
route.erase( route.begin() + n );
|
route.erase( route.begin() + n );
|
||||||
|
|||||||
Reference in New Issue
Block a user