124 int GetnPoints(
void) {
return TrackPoints.size(); }
126 void SetVisible(
bool visible =
true) { m_bVisible = visible; }
130 void AddPointFinalized(
TrackPoint *pNewPoint);
131 TrackPoint *AddNewPoint(vector2D point, wxDateTime time);
133 void SetListed(
bool listed =
true) { m_bListed = listed; }
134 virtual bool IsRunning() {
return false; }
136 bool IsVisible() {
return m_bVisible; }
137 bool IsListed() {
return m_bListed; }
139 int GetCurrentTrackSeg() {
return m_CurrentTrackSeg; }
140 void SetCurrentTrackSeg(
int seg) { m_CurrentTrackSeg = seg; }
143 int Simplify(
double maxDelta);
144 Route *RouteFromTrack(wxGenericProgressDialog *pprog);
146 void ClearHighlights();
150 wxString GetName(
bool auto_if_empty =
false)
const {
151 if (!auto_if_empty || !m_TrackNameString.IsEmpty()) {
152 return m_TrackNameString;
154 return GetDateTime(_(
"(Unnamed Track)"));
157 void SetName(
const wxString name) { m_TrackNameString = name; }
161 wxString GetIsoDateTime(
162 const wxString label_for_invalid_date = _(
"(Unknown Date)"))
const;
166 wxString GetDateTime(
167 const wxString label_for_invalid_date = _(
"(Unknown Date)"))
const;
173 wxString m_TrackDescription;
175 wxString m_TrackStartString;
176 wxString m_TrackEndString;
186 int m_CurrentTrackSeg;
188 HyperlinkList *m_TrackHyperlinkList;
189 int m_HighlightedTrackPoint;
191 void Clone(
Track *psourcetrack,
int start_nPoint,
int end_nPoint,
192 const wxString &suffix);
195 void DouglasPeuckerReducer(std::vector<TrackPoint *> &list,
196 std::vector<bool> &keeplist,
int from,
int to,
199 double GetXTE(
double fm1Lat,
double fm1Lon,
double fm2Lat,
double fm2Lon,
200 double toLat,
double toLon);
202 std::vector<TrackPoint *> TrackPoints;
203 std::vector<std::vector<SubTrack> > SubTracks;
207 double ComputeScale(
int left,
int right);
208 void InsertSubTracks(LLBBox &box,
int level,
int pos);
220 wxString m_TrackNameString;