OpenMM.i 1.63 KB
Newer Older
1
%module(directors="1") openmm
2
%include "factory.i"
3

4
5
%include "std_string.i"
%include "std_iostream.i"
6
%include "std_map.i"
7
%include "std_pair.i"
8
%include "std_set.i"
9
%include "std_vector.i"
10

11
12
13
namespace std {
  %template(pairii) pair<int,int>;
  %template(vectord) vector<double>;
14
  %template(vectorvectorvectord) vector< vector< vector<double> > >;
15
  %template(vectori) vector<int>;
16
  %template(vectorvectori) vector < vector<int> >;
17
18
  %template(vectorpairii) vector< pair<int,int> >;
  %template(vectorstring) vector<string>;
19
  %template(mapstringstring) map<string,string>;
20
  %template(mapstringdouble) map<string,double>;
21
  %template(mapii) map<int,int>;
22
  %template(seti) set<int>;
23
24
};

25
%include "typemaps.i"
26
27
28
29
30
31
32
33
%include "windows.i"

%{
#define SWIG_FILE_WITH_INIT

#include <sstream>

#include <exception>
34
#include <fstream>
35
36
#include "OpenMM.h"
#include "OpenMMAmoeba.h"
37
#include "openmm/RPMDIntegrator.h"
peastman's avatar
peastman committed
38
#include "openmm/RPMDMonteCarloBarostat.h"
39
#include "OpenMMDrude.h"
40
41
42
43
44
45
46
47
#include "openmm/serialization/SerializationNode.h"
#include "openmm/serialization/SerializationProxy.h"
#include "openmm/serialization/XmlSerializer.h"

using namespace OpenMM;

%}

48
%feature("flatnested", "1");
Robert McGibbon's avatar
Robert McGibbon committed
49
%feature("autodoc", "0");
50
51
52
53
54
55
%nodefaultctor;

%include features.i

%include OpenMM_docstring.i

56
%include OpenMMSwigHeaders.i
57

58
59
60
61
62
%pythoncode %{
  # when we import * from the python module, we only want to import the
  # actual classes, and not the swigregistration methods, which have already
  # been called, and are now unneeded by the user code, and only pollute the
  # namespace
63
  __all__ = [k for k in locals().keys() if not (k.endswith('_swigregister') or k.startswith('_'))]
64
%}