source: git/src/export.h @ 4e7fb5e

stereo-2025
Last change on this file since 4e7fb5e was 1854ba1, checked in by Olly Betts <olly@…>, 11 months ago

Remove Skencil export support

The last release of Skencil was in 2005. There was an attempt to
revive the project in 2010, but that didn't lead to another release
and seems to have petered out. No current Linux distro (or other
package system) seems to have packages for it. The current git
version still appears to require Python 2.

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