2 * Export from Aven as JSON.
4 /* Copyright (C) 2015,2016,2022 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
36 static const int default_passes
[] = { LEGS
, 0 };
37 return default_passes
;
41 JSON::header(const char * title
, const char *, time_t datestamp_numeric
,
42 double min_x
, double min_y
, double min_z
,
43 double max_x
, double max_y
, double max_z
)
46 (void)datestamp_numeric
;
49 fputs("title: \"", fh
);
50 json_escape(fh
, title
);
53 if (datestamp_numeric
!= time_t(-1)) {
54 fprintf("date: %ld,\n", (long)datestamp_numeric
);
57 fprintf(fh
, "{\"bounds\":[%.2f,%.2f,%.2f,%.2f,%.2f,%.2f],\n\"traverses\":[\n",
58 min_x
, min_z
, min_y
, max_x
, max_z
, max_y
);
62 JSON::line(const img_point
*p1
, const img_point
*p
, unsigned /*flags*/, bool fPendingMove
)
71 fprintf(fh
, "[%.2f,%.2f,%.2f]", p1
->x
, p1
->z
, p1
->y
);
73 fprintf(fh
, ",[%.2f,%.2f,%.2f]", p
->x
, p
->z
, p
->y
);
77 JSON::label(const img_point
*p
, const char *s
, bool /*fSurface*/, int type
)