mirror of
https://github.com/openbabel/openbabel.git
synced 2026-08-10 04:58:04 -05:00
Merged revisions 2735,2740,2744,2806-2807 via svnmerge from
https://openbabel.svn.sourceforge.net/svnroot/openbabel/openbabel/branches/openbabel-2-2-x
........
r2735 | timvdm | 2008-10-04 15:47:45 -0400 (Sat, 04 Oct 2008) | 4 lines
* src/forcefield.cpp: Fix OBForceField::GetAtomTypes() and
OBForceField::GetPartialCharges()
........
r2740 | baoilleach | 2008-10-11 10:42:31 -0400 (Sat, 11 Oct 2008) | 5 lines
2008-10-10 Noel O'Boyle <baoilleach@gmail.com>
* scripts/openbabel-perl.i: Replaced the C++ iterators by Perl classes
which can be used for iteration natively in Perl.
........
r2744 | baoilleach | 2008-10-16 13:27:54 -0400 (Thu, 16 Oct 2008) | 5 lines
2008-10-16 Noel O'Boyle <baoilleach@gmail.com>
* scripts/openbabel-python.i: Added casting methods for all of the
different types of OBGenericData
........
r2806 | ghutchis | 2008-12-17 12:39:32 -0500 (Wed, 17 Dec 2008) | 2 lines
Added #include <limits> from r2765. Should solve Noel's build problems.
........
r2807 | ghutchis | 2008-12-17 15:09:12 -0500 (Wed, 17 Dec 2008) | 2 lines
Added #include <limits> to hopefully help Noel with his compile problems.
........
This commit is contained in:
@@ -369,7 +369,22 @@
|
||||
|
||||
* src/formats/chemkinformat.cpp(ReadReactionQualifierLines):
|
||||
correct error similar to b) above flagged in bug #2150390
|
||||
|
||||
|
||||
2008-10-16 Noel O'Boyle <baoilleach@gmail.com>
|
||||
|
||||
* scripts/openbabel-python.i: Added casting methods for all of the
|
||||
different types of OBGenericData
|
||||
|
||||
2008-10-10 Noel O'Boyle <baoilleach@gmail.com>
|
||||
|
||||
* scripts/openbabel-perl.i: Replaced the C++ iterators by Perl classes
|
||||
which can be used for iteration natively in Perl.
|
||||
|
||||
2008-10-04 Tim Vandermeersch <tim.vandermeersch@gmail.com>
|
||||
|
||||
* src/forcefield.cpp: Fix OBForceField::GetAtomTypes() and
|
||||
OBForceField::GetPartialCharges()
|
||||
|
||||
2008-09-26 Chris Morley
|
||||
|
||||
* src/formats/fastsearchformat.cpp: Improved error message when
|
||||
|
||||
@@ -127,7 +127,9 @@ OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) {
|
||||
%ignore OBMolAngleIter(OBMol &);
|
||||
%ignore OBMolAtomIter(OBMol &);
|
||||
%ignore OBMolAtomBFSIter(OBMol &);
|
||||
%ignore OBMolAtomBFSIter(OBMol &, int);
|
||||
%ignore OBMolAtomDFSIter(OBMol &);
|
||||
%ignore OBMolAtomDFSIter(OBMol &, int);
|
||||
%ignore OBMolBondIter(OBMol &);
|
||||
%ignore OBMolPairIter(OBMol &);
|
||||
%ignore OBMolRingIter(OBMol &);
|
||||
@@ -135,7 +137,53 @@ OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) {
|
||||
%ignore OBResidueIter(OBMol &);
|
||||
%ignore OBResidueAtomIter(OBResidue &);
|
||||
|
||||
|
||||
%ignore *::operator=;
|
||||
|
||||
%perlcode %{
|
||||
# http://www.perl.com/pub/a/2005/06/16/iterators.html
|
||||
sub gen_iterator {
|
||||
my $iterator_function = shift;
|
||||
return sub {
|
||||
my $iter = new $iterator_function(shift);
|
||||
|
||||
my ($current_state, $done);
|
||||
|
||||
return sub {
|
||||
# code to calculate $next_state or $done;
|
||||
return undef if $done;
|
||||
my $next_state = $iter->deref();
|
||||
$iter->inc();
|
||||
if (!$iter->good()) {$done = 1;};
|
||||
return $current_state = $next_state;
|
||||
};
|
||||
};
|
||||
}
|
||||
%}
|
||||
|
||||
%define MAKE_ITER_CLASS(itername, renamediter)
|
||||
%rename itername renamediter;
|
||||
%perlcode %{
|
||||
package Chemistry::OpenBabel::itername;
|
||||
|
||||
sub new {
|
||||
my $pkg = shift;
|
||||
my $self = Chemistry::OpenBabel::gen_iterator(Chemistry::OpenBabel::renamediter)->(shift);
|
||||
bless($self, $pkg);
|
||||
}
|
||||
%}
|
||||
%enddef
|
||||
|
||||
MAKE_ITER_CLASS(OBAtomAtomIter, _OBAtomAtomIter)
|
||||
MAKE_ITER_CLASS(OBAtomBondIter, _OBAtomBondIter)
|
||||
MAKE_ITER_CLASS(OBMolAngleIter, _OBMolAngleIter)
|
||||
MAKE_ITER_CLASS(OBMolAtomIter, _OBMolAtomIter)
|
||||
MAKE_ITER_CLASS(OBMolAtomBFSIter, _OBMolAtomBFSIter)
|
||||
MAKE_ITER_CLASS(OBMolAtomDFSIter, _OBMolAtomDFSIter)
|
||||
MAKE_ITER_CLASS(OBMolBondIter, _OBMolBondIter)
|
||||
MAKE_ITER_CLASS(OBMolPairIter, _OBMolPairIter)
|
||||
MAKE_ITER_CLASS(OBMolRingIter, _OBMolRingIter)
|
||||
MAKE_ITER_CLASS(OBMolTorsionIter, _OBMolTorsionIter)
|
||||
MAKE_ITER_CLASS(OBResidueAtomIter, _OBResidueAtomIter)
|
||||
MAKE_ITER_CLASS(OBFingerprintIter, _OBFingerprintIter)
|
||||
|
||||
%include <openbabel/obiter.h>
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <openbabel/alias.h>
|
||||
#include <openbabel/atomclass.h>
|
||||
|
||||
#include <openbabel/kinetics.h>
|
||||
#include <openbabel/rotamer.h>
|
||||
|
||||
|
||||
%}
|
||||
@@ -113,16 +115,35 @@ VECTORTEMPLATE_WRAP(pOBGenericData, OpenBabel::OBGenericData*)
|
||||
|
||||
}
|
||||
|
||||
|
||||
%define CAST_GENERICDATA_TO(subclass)
|
||||
%inline %{
|
||||
OpenBabel::OBPairData *toPairData(OpenBabel::OBGenericData *data) {
|
||||
return (OpenBabel::OBPairData *) data;
|
||||
}
|
||||
|
||||
OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) {
|
||||
return (OpenBabel::OBUnitCell *) data;
|
||||
OpenBabel::OB ## subclass *to ## subclass(OpenBabel::OBGenericData *data) {
|
||||
return (OpenBabel::OB ## subclass *) data;
|
||||
}
|
||||
%}
|
||||
%enddef
|
||||
CAST_GENERICDATA_TO(AngleData)
|
||||
CAST_GENERICDATA_TO(AtomClassData)
|
||||
CAST_GENERICDATA_TO(ChiralData)
|
||||
CAST_GENERICDATA_TO(CommentData)
|
||||
CAST_GENERICDATA_TO(ConformerData)
|
||||
CAST_GENERICDATA_TO(ExternalBondData)
|
||||
CAST_GENERICDATA_TO(GridData)
|
||||
CAST_GENERICDATA_TO(MatrixData)
|
||||
CAST_GENERICDATA_TO(NasaThermoData)
|
||||
CAST_GENERICDATA_TO(PairData)
|
||||
// CAST_GENERICDATA_TO(PairTemplate)
|
||||
CAST_GENERICDATA_TO(RateData)
|
||||
CAST_GENERICDATA_TO(RotamerList)
|
||||
CAST_GENERICDATA_TO(RotationData)
|
||||
CAST_GENERICDATA_TO(SerialNums)
|
||||
CAST_GENERICDATA_TO(SetData)
|
||||
CAST_GENERICDATA_TO(SymmetryData)
|
||||
CAST_GENERICDATA_TO(TorsionData)
|
||||
CAST_GENERICDATA_TO(UnitCell)
|
||||
CAST_GENERICDATA_TO(VectorData)
|
||||
CAST_GENERICDATA_TO(VibrationData)
|
||||
CAST_GENERICDATA_TO(VirtualBond)
|
||||
|
||||
// These methods are renamed to valid Python method names, as otherwise
|
||||
// they cannot be used from Python
|
||||
|
||||
Reference in New Issue
Block a user