4
// used to set import/export for Cygwin DLLs
9
#include <openbabel/obutil.h>
10
#include <openbabel/rand.h>
11
#include <openbabel/math/vector3.h>
12
#include <openbabel/math/matrix3x3.h>
13
#include <openbabel/math/transform3d.h>
14
#include <openbabel/generic.h>
16
#include <openbabel/base.h>
17
#include <openbabel/mol.h>
18
#include <openbabel/atom.h>
19
#include <openbabel/bond.h>
20
#include <openbabel/residue.h>
21
#include <openbabel/internalcoord.h>
23
#include <openbabel/ring.h>
24
#include <openbabel/obconversion.h>
25
#include <openbabel/oberror.h>
26
#include <openbabel/plugin.h>
27
#include <openbabel/fingerprint.h>
28
#include <openbabel/descriptor.h>
29
#include <openbabel/format.h>
31
#include <openbabel/forcefield.h>
32
#include <openbabel/op.h>
34
#include <openbabel/bitvec.h>
35
#include <openbabel/data.h>
36
#include <openbabel/parsmart.h>
37
#include <openbabel/alias.h>
38
#include <openbabel/atomclass.h>
43
%ignore *::operator++;
44
%ignore *::operator-=;
45
%ignore *::operator+=;
46
%ignore *::operator bool;
47
%ignore *::operator*=;
48
%ignore *::operator/=;
49
%ignore *::operator <<;
50
%ignore *::operator==;
53
%ignore *::operator !=;
55
%include "std_vector.i"
56
%include "std_string.i"
59
%template (vectorInt) std::vector<int>;
60
%template (vectorUnsignedInt) std::vector<unsigned int>;
61
//SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(vector, std::vector<int>);
62
//%template (vvInt) std::vector<std::vector<int>>;
63
%template (vectorDouble) std::vector<double>;
64
%template (vectorString) std::vector<std::string>;
65
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(vector3, OpenBabel::vector3);
66
%template (vVector3) std::vector<OpenBabel::vector3>;
68
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(OBMol, OpenBabel::OBMol);
69
%template (vectorMol) std::vector<OpenBabel::OBMol>;
70
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(OBBond, OpenBabel::OBBond);
71
%template (vectorBond) std::vector<OpenBabel::OBBond>;
72
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(OBResidue, OpenBabel::OBResidue);
73
%template (vectorResidue) std::vector<OpenBabel::OBResidue>;
74
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(OBRing, OpenBabel::OBRing);
75
%template (vectorRing) std::vector<OpenBabel::OBRing>;
77
// Note that vectors of pointers need slightly different syntax
78
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(OBRing, OpenBabel::OBRing*);
79
%template (vectorpRing) std::vector<OpenBabel::OBRing*>;
80
SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(OBGenericData, OpenBabel::OBGenericData*);
81
%template (vectorData) std::vector<OpenBabel::OBGenericData*>;
83
%import <openbabel/babelconfig.h>
85
%include <openbabel/data.h>
86
%include <openbabel/rand.h>
87
%include <openbabel/obutil.h>
88
%include <openbabel/math/vector3.h>
89
%include <openbabel/math/matrix3x3.h>
90
%include <openbabel/math/transform3d.h>
91
%include <openbabel/math/spacegroup.h>
92
%include <openbabel/base.h>
93
%include <openbabel/generic.h>
94
%include <openbabel/griddata.h> // Needs to come after generic.h
96
%include <openbabel/chains.h>
97
//# %import <openbabel/bitvec.h>
98
%include <openbabel/typer.h>
100
%include <openbabel/plugin.h>
102
%include <openbabel/oberror.h>
103
%include <openbabel/format.h>
104
%include <openbabel/obconversion.h>
105
%include <openbabel/residue.h>
106
%include <openbabel/internalcoord.h>
107
%include <openbabel/atom.h>
108
%include <openbabel/bond.h>
109
%include <openbabel/mol.h>
110
%include <openbabel/ring.h>
111
%include <openbabel/parsmart.h>
112
%include <openbabel/alias.h>
113
%include <openbabel/atomclass.h>
115
%include <openbabel/fingerprint.h>
116
%include <openbabel/descriptor.h>
117
%include <openbabel/forcefield.h>
119
%include <openbabel/op.h>
121
%include <openbabel/bitvec.h>
123
# The following %ignores avoid warning messages due to shadowed classes.
124
# This does not imply a loss of functionality as (in this case)
125
# the shadowed class is identical (from the point of view of SWIG) to
126
# the shadowing class.
127
# This is because C++ references (&) are transformed by SWIG back into
128
# pointers, so that OBAtomIter(OBMol &) would be treated the same as
129
# OBAtomIter(OBMol *).
131
%ignore OBAtomAtomIter(OBAtom &);
132
%ignore OBAtomBondIter(OBAtom &);
133
%ignore OBMolAngleIter(OBMol &);
134
%ignore OBMolAtomIter(OBMol &);
135
%ignore OBMolAtomBFSIter(OBMol &);
136
%ignore OBMolAtomDFSIter(OBMol &);
137
%ignore OBMolBondIter(OBMol &);
138
%ignore OBMolPairIter(OBMol &);
139
%ignore OBMolRingIter(OBMol &);
140
%ignore OBMolTorsionIter(OBMol &);
141
%ignore OBResidueIter(OBMol &);
142
%ignore OBResidueAtomIter(OBResidue &);
146
%include <openbabel/obiter.h>