EGSnrc C++ class library  Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
egs_glib.h
Go to the documentation of this file.
1 /*
2 ###############################################################################
3 #
4 # EGSnrc egs++ glib geometry headers
5 # Copyright (C) 2016 Randle E. P. Taylor, Rowan M. Thomson,
6 # Marc J. P. Chamberland, D. W. O. Rogers
7 #
8 # This file is part of EGSnrc.
9 #
10 # EGSnrc is free software: you can redistribute it and/or modify it under
11 # the terms of the GNU Affero General Public License as published by the
12 # Free Software Foundation, either version 3 of the License, or (at your
13 # option) any later version.
14 #
15 # EGSnrc is distributed in the hope that it will be useful, but WITHOUT ANY
16 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 # FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
18 # more details.
19 #
20 # You should have received a copy of the GNU Affero General Public License
21 # along with EGSnrc. If not, see <http://www.gnu.org/licenses/>.
22 #
23 ###############################################################################
24 #
25 # Author: Randle Taylor, 2016
26 #
27 # Contributors: Marc Chamberland
28 # Rowan Thomson
29 # Dave Rogers
30 #
31 ###############################################################################
32 #
33 # egs_glib was developed for the Carleton Laboratory for Radiotherapy Physics.
34 #
35 ###############################################################################
36 */
37 
38 
44 // need EXPLICIT_XYZ to get nd_geometry to include XYZ geometry
45 #define EXPLICIT_XYZ
46 #include <string>
47 #include <algorithm>
48 #include <fstream>
49 #include "egs_base_geometry.h"
50 #include "../egs_nd_geometry/egs_nd_geometry.h"
51 
168 #ifndef EGS_GLIB_
169 #define EGS_GLIB_
170 
171 #ifdef WIN32
172 
173  #define EGS_GLIB_EXPORT __declspec(dllexport)
174  #define EGS_GLIB_LOCAL
175 
176 #else
177 
178  #ifdef HAVE_VISIBILITY
179  #define EGS_GLIB_EXPORT __attribute__ ((visibility ("default")))
180  #define EGS_GLIB_LOCAL __attribute__ ((visibility ("hidden")))
181  #else
182  #define EGS_GLIB_EXPORT
183  #define EGS_GLIB_LOCAL
184  #endif
185 
186 #endif
187 
188 #endif
EGS_BaseGeometry class header file.