%module openmm %include "factory.i" %include "std_string.i" %include "std_iostream.i" %include "std_map.i" %include "std_pair.i" %include "std_set.i" %include "std_vector.i" namespace std { %template(pairii) pair; %template(vectord) vector; %template(vectorddd) vector< vector< vector > >; %template(vectori) vector; %template(vectorii) vector < vector >; %template(vectorpairii) vector< pair >; %template(vectorstring) vector; %template(mapstringstring) map; %template(mapstringdouble) map; %template(mapii) map; %template(seti) set; }; %include "typemaps.i" %include "windows.i" %{ #define SWIG_FILE_WITH_INIT #include #include #include #include "OpenMM.h" #include "OpenMMAmoeba.h" #include "openmm/RPMDIntegrator.h" #include "openmm/RPMDMonteCarloBarostat.h" #include "OpenMMDrude.h" #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 %include OpenMMSwigHeaders.i %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 __all__ = [k for k in locals().keys() if not (k.endswith('_swigregister') or k.startswith('_'))] %}