Spinning Topp Logo BlackTopp Studios
inc
swig.h
Go to the documentation of this file.
1 // © Copyright 2010 - 2016 BlackTopp Studios Inc.
2 /* This file is part of The Mezzanine Engine.
3 
4  The Mezzanine Engine is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  The Mezzanine Engine is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with The Mezzanine Engine. If not, see <http://www.gnu.org/licenses/>.
16 */
17 /* The original authors have included a copy of the license specified above in the
18  'Docs' folder. See 'gpl.txt'
19 */
20 /* We welcome the use of the Mezzanine engine to anyone, including companies who wish to
21  Build professional software and charge for their product.
22 
23  However there are some practical restrictions, so if your project involves
24  any of the following you should contact us and we will try to work something
25  out:
26  - DRM or Copy Protection of any kind(except Copyrights)
27  - Software Patents You Do Not Wish to Freely License
28  - Any Kind of Linking to Non-GPL licensed Works
29  - Are Currently In Violation of Another Copyright Holder's GPL License
30  - If You want to change our code and not add a few hundred MB of stuff to
31  your distribution
32 
33  These and other limitations could cause serious legal problems if you ignore
34  them, so it is best to simply contact us or the Free Software Foundation, if
35  you have any questions.
36 
37  Joseph Toppi - toppij@gmail.com
38  John Blackwood - makoenergy02@gmail.com
39 */
40 #ifndef _swig_h
41 #define _swig_h
42 
43 ///////////////////////////////////////////////////////////////////////////////
44 /// @file
45 /// @brief Used to give commands specifically to the SWIG preprocessor
46 /// @details SWIG is a C/C++ source code preprocessor that reads source files
47 /// and produces an implementation of bindings for that language. Currently it
48 /// is only used for Lua. It can be used for other items in the future.
49 ///////////////////////////////////////////////////////////////////////////////
50 
51 // Prevent doxygen parsing of the items to insert in the bindings files
52 
53 #ifdef SWIG
54  // This block of code is only read by swig.
55 
56  // Tell SWIG to create a module that scripting languages can use called "mezzanine"
57  // and insert a minimum of documentation into the bindingfile
58  %{
59  // code to be inserted verbatim into the swig file goes here
60  #include "mezzanine.h"
61  #include "btBulletDynamicsCommon.h"
62  #include "Ogre.h"
63  #include "SDL.h"
64 
65  #ifdef GetCurrentTime
66  #undef GetCurrentTime
67  #endif
68 
69  #ifdef GetExceptionCode
70  #undef GetExceptionCode
71  #endif
72 
73  using namespace Mezzanine;
74  //using namespace Mezzanine::Threading;
75  //using namespace Mezzanine::Physics;
76 
77  // Fix cross module type-usage
78  namespace Mezzanine
79  {
80  namespace Physics
81  {
83  }
84  namespace Threading
85  {
86 
87  }
88  typedef Threading::RawFile RawFile;
89  }
90  %}
91 
92  // Fix cross module type-usage
93  namespace Mezzanine
94  {
95  namespace Physics
96  {
98  }
99  namespace Threading
100  {
101 
102  }
103  typedef Threading::RawFile RawFile;
104  }
105 
106  %include stl.i
107  %include stdint.i
108  %include std_except.i
109  %include std_common.i
110  //%include std_container.i
111  %include std_deque.i
112  %include std_except.i
113  //%include std_list.i
114  %include std_map.i
115  %include std_pair.i
116  %include std_string.i
117  %include std_vector.i
118 
119  // Since swig will process only on language and only the safe or unsafe version of it at a time
120  // this is where the naming of the Mezzanine library should occur. This does not affect the
121  // ability to load Multiple libraries or even scripting languages at the same time if required.
122  /// @def SWIG_MODULE_SET
123  /// @brief This is set
124  #ifdef SWIG_MAIN
125  #ifdef SWIG_UNSAFE
126  %module Mezzanine
127  #else
128  #define SWIG_SAFE
129  %module MezzanineSafe
130  #endif
131  #define SWIG_MODULE_SET
132  #endif
133 
134  // Fix for: XML/xml.h:XXXX: Warning 403: Class 'Mezzanine::XML::XPathException' might be abstract, no constructors generated
135  //%warnfilter(403) Mezzanine::XML::XPathException;
136 #endif // end SWIG
137 
138 
139 // Warn SWIG users of the messages that Swig will produce
140 
141 
142 
143 
144 #endif
A single file that includes all of the Mezzanine engine.
A simple in memory representation of a file.
This is used to represent a point in space, or a vector through space.
Definition: vector3.h:77
The bulk of the engine components go in this namspace.
Definition: actor.cpp:56