return rv;
}
+/*
+ * Simply remove any subsequent segment markers in a track to form one continuous track
+ * Return the number of segments merged
+ */
+guint vik_track_merge_segments(VikTrack *tr)
+{
+ guint num = 0;
+ GList *iter = tr->trackpoints;
+ if ( !iter )
+ return num;
+
+ // Always skip the first point as this should be the first segment
+ iter = iter->next;
+
+ while ( (iter = iter->next) )
+ {
+ if ( VIK_TRACKPOINT(iter->data)->newsegment ) {
+ VIK_TRACKPOINT(iter->data)->newsegment = FALSE;
+ num++;
+ }
+ }
+ return num;
+}
+
void vik_track_reverse ( VikTrack *tr )
{
GList *iter;
gulong vik_track_get_tp_count(const VikTrack *tr);
guint vik_track_get_segment_count(const VikTrack *tr);
VikTrack **vik_track_split_into_segments(VikTrack *tr, guint *ret_len);
+guint vik_track_merge_segments(VikTrack *tr);
void vik_track_reverse(VikTrack *tr);
gulong vik_track_get_dup_point_count ( const VikTrack *vt );