[79c239e] | 1 | /* export.h |
---|
[9fc1cac] | 2 | * Export to CAD-like formats (DXF, Skencil, SVG, EPS, HPGL) and also Compass |
---|
[40f1e82] | 3 | * PLT. |
---|
[79c239e] | 4 | */ |
---|
| 5 | |
---|
[1798716] | 6 | /* Copyright (C) 2004,2005,2012,2014,2015,2018 Olly Betts |
---|
[79c239e] | 7 | * |
---|
| 8 | * This program is free software; you can redistribute it and/or modify |
---|
| 9 | * it under the terms of the GNU General Public License as published by |
---|
| 10 | * the Free Software Foundation; either version 2 of the License, or |
---|
| 11 | * (at your option) any later version. |
---|
| 12 | * |
---|
| 13 | * This program is distributed in the hope that it will be useful, |
---|
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 16 | * GNU General Public License for more details. |
---|
| 17 | * |
---|
| 18 | * You should have received a copy of the GNU General Public License |
---|
| 19 | * along with this program; if not, write to the Free Software |
---|
[40f1e82] | 20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
---|
[79c239e] | 21 | */ |
---|
| 22 | |
---|
[5940815] | 23 | #ifndef SURVEX_INCLUDED_EXPORT_H |
---|
| 24 | #define SURVEX_INCLUDED_EXPORT_H |
---|
| 25 | |
---|
| 26 | #include "wx.h" |
---|
| 27 | |
---|
[1798716] | 28 | class Model; |
---|
[1a46879] | 29 | class SurveyFilter; |
---|
[5940815] | 30 | |
---|
[bd30612] | 31 | // Order here needs to match order of extension array in export.cc. |
---|
[583c17d] | 32 | typedef enum { |
---|
[df121c2d] | 33 | FMT_CSV, |
---|
[583c17d] | 34 | FMT_DXF, |
---|
| 35 | FMT_EPS, |
---|
| 36 | FMT_GPX, |
---|
| 37 | FMT_HPGL, |
---|
[1fe107a] | 38 | FMT_JSON, |
---|
[1534ed9] | 39 | FMT_KML, |
---|
[583c17d] | 40 | FMT_PLT, |
---|
[9fc1cac] | 41 | FMT_SK, |
---|
[59d4fbc7] | 42 | FMT_POS, |
---|
[bd30612] | 43 | FMT_SVG, |
---|
| 44 | FMT_MAX_PLUS_ONE_ |
---|
[583c17d] | 45 | } export_format; |
---|
| 46 | |
---|
[4d3c8915] | 47 | struct format_info { |
---|
| 48 | const char* extension; |
---|
| 49 | int msg_filetype; |
---|
| 50 | unsigned mask; |
---|
[f7fb2ec] | 51 | // Defaults for survexport (aven defaults to what is currently shown). |
---|
| 52 | unsigned defaults; |
---|
[4d3c8915] | 53 | }; |
---|
| 54 | |
---|
| 55 | extern const format_info export_format_info[]; |
---|
[bd30612] | 56 | |
---|
[7b55ac2] | 57 | #define LEGS 0x00000001 |
---|
| 58 | #define SURF 0x00000002 |
---|
| 59 | #define STNS 0x00000004 |
---|
| 60 | #define LABELS 0x00000008 |
---|
| 61 | #define XSECT 0x00000010 |
---|
| 62 | #define WALL1 0x00000020 |
---|
| 63 | #define WALL2 0x00000040 |
---|
[fc68ad5] | 64 | #define WALLS (WALL1|WALL2) |
---|
[7b55ac2] | 65 | #define PASG 0x00000080 |
---|
[218aa9a] | 66 | #define EXPORT_3D 0x00000100 |
---|
[bc1fac5] | 67 | #define CENTRED 0x00000200 |
---|
[7b55ac2] | 68 | #define ENTS 0x00000400 |
---|
| 69 | #define FIXES 0x00000800 |
---|
| 70 | #define EXPORTS 0x00001000 |
---|
| 71 | #define PROJ 0x00002000 |
---|
| 72 | #define GRID 0x00004000 |
---|
| 73 | #define TEXT_HEIGHT 0x00008000 |
---|
| 74 | #define MARKER_SIZE 0x00010000 |
---|
| 75 | #define SCALE 0x00020000 |
---|
[bc1fac5] | 76 | #define FULL_COORDS 0x00040000 |
---|
[ddcf585] | 77 | #define SPLAYS 0x00080000 |
---|
[32a040e] | 78 | #define CLAMP_TO_GROUND 0x00100000 |
---|
[fc68ad5] | 79 | |
---|
[01c70fc] | 80 | #define DEFAULT_GRID_SPACING 100 // metres |
---|
| 81 | #define DEFAULT_TEXT_HEIGHT 0.6 |
---|
| 82 | #define DEFAULT_MARKER_SIZE 0.8 |
---|
| 83 | |
---|
[79c239e] | 84 | bool Export(const wxString &fnm_out, const wxString &title, |
---|
[1798716] | 85 | const wxString &datestamp, |
---|
| 86 | const Model& model, |
---|
[1a46879] | 87 | const SurveyFilter* filter, |
---|
[70462c8] | 88 | double pan, double tilt, int show_mask, export_format format, |
---|
[18ff765] | 89 | double grid_, double text_height_, double marker_size_, |
---|
| 90 | double scale); |
---|
[5940815] | 91 | |
---|
| 92 | #endif |
---|