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:
mfranz
2006-05-08 11:31:16 +00:00
parent b9631e8521
commit b0af84a549

View File

@@ -70,11 +70,14 @@ public:
}
/**
* Add a waypoint.
* Add waypoint (default), or insert waypoint at position n.
* @param wp a waypoint
*/
inline void add_waypoint( const SGWayPoint &wp ) {
route.push_back( wp );
void add_waypoint( const SGWayPoint &wp, int n = -1 ) {
if ( n < 0 || n >= (int)route.size() )
route.push_back( wp );
else
route.insert( route.begin() + n, 1, wp );
int size = route.size();
if ( size > 1 ) {
@@ -152,7 +155,7 @@ public:
void delete_waypoint( int n = 0 ) {
if ( !route.size() )
return;
if ( n < 0 || n > (int)route.size() - 1 )
if ( n < 0 || n >= (int)route.size() )
n = route.size() - 1;
route.erase( route.begin() + n );