OpenMM.i 5.58 KB
Newer Older
1
%module 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
14
15
16
17
18
namespace std {
  %template(pairii) pair<int,int>;
  %template(vectord) vector<double>;
  %template(vectorddd) vector< vector< vector<double> > >;
  %template(vectori) vector<int>;
  %template(vectorii) vector < vector<int> >;
  %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
48
49
50
51
52
53
54
#include "openmm/serialization/SerializationNode.h"
#include "openmm/serialization/SerializationProxy.h"
#include "openmm/serialization/XmlSerializer.h"

using namespace OpenMM;

%}

%feature("autodoc", "1");
%nodefaultctor;

%include features.i

%include OpenMM_docstring.i

55
%include OpenMMSwigHeaders.i
56

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

65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
%extend OpenMM::XmlSerializer {
    %template(XmlSerializer_serialize_AndersenThermostat) XmlSerializer::serialize<AndersenThermostat>;
    %template(XmlSerializer_serialize_RBTorsionForce) XmlSerializer::serialize<RBTorsionForce>;
    %template(XmlSerializer_serialize_CMAPTorsionForce) XmlSerializer::serialize<CMAPTorsionForce>;
    %template(XmlSerializer_serialize_CMMotionRemover) XmlSerializer::serialize<CMMotionRemover>;
    %template(XmlSerializer_serialize_CustomAngleForce) XmlSerializer::serialize<CustomAngleForce>;
    %template(XmlSerializer_serialize_CustomBondForce) XmlSerializer::serialize<CustomBondForce>;
    %template(XmlSerializer_serialize_CustomExternalForce) XmlSerializer::serialize<CustomExternalForce>;
    %template(XmlSerializer_serialize_CustomGBForce) XmlSerializer::serialize<CustomGBForce>;
    %template(XmlSerializer_serialize_CustomHbondForce) XmlSerializer::serialize<CustomHbondForce>;
    %template(XmlSerializer_serialize_CustomNonbondedForce) XmlSerializer::serialize<CustomNonbondedForce>;
    %template(XmlSerializer_serialize_CustomTorsionForce) XmlSerializer::serialize<CustomTorsionForce>;
    %template(XmlSerializer_serialize_GBSAOBCForce) XmlSerializer::serialize<GBSAOBCForce>;
    %template(XmlSerializer_serialize_GBVIForce) XmlSerializer::serialize<GBVIForce>;
    %template(XmlSerializer_serialize_HarmonicAngleForce) XmlSerializer::serialize<HarmonicAngleForce>;
    %template(XmlSerializer_serialize_HarmonicBondForce) XmlSerializer::serialize<HarmonicBondForce>;
    %template(XmlSerializer_serialize_MonteCarloBarostat) XmlSerializer::serialize<MonteCarloBarostat>;
Lee-Ping's avatar
Lee-Ping committed
83
    %template(XmlSerializer_serialize_MonteCarloAnisotropicBarostat) XmlSerializer::serialize<MonteCarloAnisotropicBarostat>;
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
    %template(XmlSerializer_serialize_NonbondedForce) XmlSerializer::serialize<NonbondedForce>;
    %template(XmlSerializer_serialize_RBTorsionForce) XmlSerializer::serialize<RBTorsionForce>;
    %template(XmlSerializer_serialize_System) XmlSerializer::serialize<System>;

    %template(XmlSerializer_deserialize_AndersenThermostat) XmlSerializer::deserialize<AndersenThermostat>;
    %template(XmlSerializer_deserialize_RBTorsionForce) XmlSerializer::deserialize<RBTorsionForce>;
    %template(XmlSerializer_deserialize_CMAPTorsionForce) XmlSerializer::deserialize<CMAPTorsionForce>;
    %template(XmlSerializer_deserialize_CMMotionRemover) XmlSerializer::deserialize<CMMotionRemover>;
    %template(XmlSerializer_deserialize_CustomAngleForce) XmlSerializer::deserialize<CustomAngleForce>;
    %template(XmlSerializer_deserialize_CustomBondForce) XmlSerializer::deserialize<CustomBondForce>;
    %template(XmlSerializer_deserialize_CustomExternalForce) XmlSerializer::deserialize<CustomExternalForce>;
    %template(XmlSerializer_deserialize_CustomGBForce) XmlSerializer::deserialize<CustomGBForce>;
    %template(XmlSerializer_deserialize_CustomHbondForce) XmlSerializer::deserialize<CustomHbondForce>;
    %template(XmlSerializer_deserialize_CustomNonbondedForce) XmlSerializer::deserialize<CustomNonbondedForce>;
    %template(XmlSerializer_deserialize_CustomTorsionForce) XmlSerializer::deserialize<CustomTorsionForce>;
    %template(XmlSerializer_deserialize_GBSAOBCForce) XmlSerializer::deserialize<GBSAOBCForce>;
    %template(XmlSerializer_deserialize_GBVIForce) XmlSerializer::deserialize<GBVIForce>;
    %template(XmlSerializer_deserialize_HarmonicAngleForce) XmlSerializer::deserialize<HarmonicAngleForce>;
    %template(XmlSerializer_deserialize_HarmonicBondForce) XmlSerializer::deserialize<HarmonicBondForce>;
    %template(XmlSerializer_deserialize_MonteCarloBarostat) XmlSerializer::deserialize<MonteCarloBarostat>;
Lee-Ping's avatar
Lee-Ping committed
104
    %template(XmlSerializer_deserialize_MonteCarloAnisotropicBarostat) XmlSerializer::deserialize<MonteCarloAnisotropicBarostat>;
105
106
107
108
109
    %template(XmlSerializer_deserialize_NonbondedForce) XmlSerializer::deserialize<NonbondedForce>;
    %template(XmlSerializer_deserialize_RBTorsionForce) XmlSerializer::deserialize<RBTorsionForce>;
    %template(XmlSerializer_deserialize_System) XmlSerializer::deserialize<System>;
};
*/