%define DOCSTRING "PyOpenMM is a Python application programming interface (API) to be used for performing molecular dynamics (MD) simulations on various computer architectures (including GPUs). It is implemented in Python and C/C++, and provides a Python interface to the OpenMM libraries (see https://simtk.org/home/openmm for OpenMM details). The primary motivation for creating PyOpenMM is to make it possible to write GPU-accelerated MD code in pure Python. See https://simtk.org/home/pyopenmm for details" %enddef %module (docstring=DOCSTRING) openmm %include "typemaps.i" %include "factory.i" %include "std_string.i" %include "std_iostream.i" %include "std_map.i" %include "std_pair.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; }; %include "windows.i" %{ #define SWIG_FILE_WITH_INIT #include #include #include #include "OpenMM.h" #include "OpenMMAmoeba.h" #include "openmm/RPMDIntegrator.h" #include "openmm/DrudeForce.h" #include "openmm/DrudeLangevinIntegrator.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 OpenMM_headers.i /* %extend OpenMM::XmlSerializer { %template(XmlSerializer_serialize_AndersenThermostat) XmlSerializer::serialize; %template(XmlSerializer_serialize_RBTorsionForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CMAPTorsionForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CMMotionRemover) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomAngleForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomBondForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomExternalForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomGBForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomHbondForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomNonbondedForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_CustomTorsionForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_GBSAOBCForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_GBVIForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_HarmonicAngleForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_HarmonicBondForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_MonteCarloBarostat) XmlSerializer::serialize; %template(XmlSerializer_serialize_NonbondedForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_RBTorsionForce) XmlSerializer::serialize; %template(XmlSerializer_serialize_System) XmlSerializer::serialize; %template(XmlSerializer_deserialize_AndersenThermostat) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_RBTorsionForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CMAPTorsionForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CMMotionRemover) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomAngleForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomBondForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomExternalForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomGBForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomHbondForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomNonbondedForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_CustomTorsionForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_GBSAOBCForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_GBVIForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_HarmonicAngleForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_HarmonicBondForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_MonteCarloBarostat) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_NonbondedForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_RBTorsionForce) XmlSerializer::deserialize; %template(XmlSerializer_deserialize_System) XmlSerializer::deserialize; }; */