2 * Export from Aven as JSON.
4 /* Copyright (C) 2015,2016,2022,2024 Olly Betts
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
34 static const int default_passes
[] = { LEGS
|SURF
, 0 };
35 return default_passes
;
39 JSON::header(const char * title
, const char *, time_t datestamp_numeric
,
40 double min_x
, double min_y
, double min_z
,
41 double max_x
, double max_y
, double max_z
)
44 (void)datestamp_numeric
;
47 fputs("title: \"", fh
);
48 json_escape(fh
, title
);
51 if (datestamp_numeric
!= time_t(-1)) {
52 fprintf("date: %ld,\n", (long)datestamp_numeric
);
55 fprintf(fh
, "{\"bounds\":[%.2f,%.2f,%.2f,%.2f,%.2f,%.2f],\n\"traverses\":[\n",
56 min_x
, min_z
, min_y
, max_x
, max_z
, max_y
);
60 JSON::line(const img_point
*p1
, const img_point
*p
, unsigned /*flags*/, bool fPendingMove
)
69 fprintf(fh
, "[%.2f,%.2f,%.2f]", p1
->x
, p1
->z
, p1
->y
);
71 fprintf(fh
, ",[%.2f,%.2f,%.2f]", p
->x
, p
->z
, p
->y
);
75 JSON::label(const img_point
*p
, const wxString
&, int /*sflags*/, int type
)