OpenMM.i 1.69 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(vectormapstringstring) vector<map<string,string> >;
22
  %template(mapii) map<int,int>;
23
  %template(seti) set<int>;
24
25
};

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

%{
#define SWIG_FILE_WITH_INIT

#include <sstream>

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

using namespace OpenMM;

%}

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

%include features.i

%include OpenMM_docstring.i

57
%include OpenMMSwigHeaders.i
58

59
60
61
62
63
%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
64
  __all__ = [k for k in locals().keys() if not (k.endswith('_swigregister') or k.startswith('_'))]
65
%}