1 %include <openbabel/stereo/tetranonplanar.h> 2 %include <openbabel/stereo/tetraplanar.h> 3 %include <openbabel/stereo/tetrahedral.h> 4 %include <openbabel/stereo/cistrans.h> 5 %include <openbabel/stereo/squareplanar.h> 6 %include <openbabel/stereo/bindings.h> 7 8 %extend OpenBabel::OBTetrahedralStereo { 9 SetConfig(const OpenBabel::OBTetrahedralConfig & config)10 void SetConfig(const OpenBabel::OBTetrahedralConfig &config) 11 { 12 self->SetConfig(OpenBabel::OBTetrahedralConfig::Convert(config)); 13 } 14 15 OpenBabel::OBTetrahedralConfig GetConfig(OBStereo::Winding winding = OBStereo::Clockwise, OBStereo::View view = OBStereo::ViewFrom) 16 { 17 OpenBabel::OBTetrahedralStereo::Config cConfig = self->GetConfig(winding, view); 18 19 OpenBabel::OBTetrahedralConfig pyConfig; 20 pyConfig.center = cConfig.center; 21 pyConfig.from_or_towards = cConfig.from; 22 pyConfig.refs = cConfig.refs; 23 pyConfig.winding = cConfig.winding; 24 pyConfig.view = cConfig.view; 25 pyConfig.specified = cConfig.specified; 26 27 return pyConfig; 28 } 29 30 OpenBabel::OBTetrahedralConfig GetConfig(unsigned long from_or_towards, OBStereo::Winding winding = OBStereo::Clockwise, OBStereo::View view = OBStereo::ViewFrom) 31 { 32 OpenBabel::OBTetrahedralStereo::Config cConfig = self->GetConfig(from_or_towards, winding, view); 33 34 OpenBabel::OBTetrahedralConfig pyConfig; 35 pyConfig.center = cConfig.center; 36 pyConfig.from_or_towards = cConfig.from; 37 pyConfig.refs = cConfig.refs; 38 pyConfig.winding = cConfig.winding; 39 pyConfig.view = cConfig.view; 40 pyConfig.specified = cConfig.specified; 41 42 return pyConfig; 43 } 44 45 } 46 47 %extend OpenBabel::OBCisTransStereo { 48 SetConfig(const OpenBabel::OBCisTransConfig & config)49 void SetConfig(const OpenBabel::OBCisTransConfig &config) 50 { 51 self->SetConfig(OpenBabel::OBCisTransConfig::Convert(config)); 52 } 53 54 OpenBabel::OBCisTransConfig GetConfig(OBStereo::Shape shape = OBStereo::ShapeU) 55 { 56 OpenBabel::OBCisTransStereo::Config cConfig = self->GetConfig(shape); 57 58 OpenBabel::OBCisTransConfig pyConfig; 59 pyConfig.begin = cConfig.begin; 60 pyConfig.end = cConfig.end; 61 pyConfig.refs = cConfig.refs; 62 pyConfig.shape = cConfig.shape; 63 pyConfig.specified = cConfig.specified; 64 65 return pyConfig; 66 } 67 68 OpenBabel::OBCisTransConfig GetConfig(unsigned long start, OBStereo::Shape shape = OBStereo::ShapeU) 69 { 70 OpenBabel::OBCisTransStereo::Config cConfig = self->GetConfig(start, shape); 71 72 OpenBabel::OBCisTransConfig pyConfig; 73 pyConfig.begin = cConfig.begin; 74 pyConfig.end = cConfig.end; 75 pyConfig.refs = cConfig.refs; 76 pyConfig.shape = cConfig.shape; 77 pyConfig.specified = cConfig.specified; 78 79 return pyConfig; 80 } 81 82 } 83 84 %extend OpenBabel::OBSquarePlanarStereo { 85 SetConfig(const OpenBabel::OBSquarePlanarConfig & config)86 void SetConfig(const OpenBabel::OBSquarePlanarConfig &config) 87 { 88 self->SetConfig(OpenBabel::OBSquarePlanarConfig::Convert(config)); 89 } 90 91 OpenBabel::OBSquarePlanarConfig GetConfig(OBStereo::Shape shape = OBStereo::ShapeU) 92 { 93 OpenBabel::OBSquarePlanarStereo::Config cConfig = self->GetConfig(shape); 94 95 OpenBabel::OBSquarePlanarConfig pyConfig; 96 pyConfig.center = cConfig.center; 97 pyConfig.refs = cConfig.refs; 98 pyConfig.shape = cConfig.shape; 99 pyConfig.specified = cConfig.specified; 100 101 return pyConfig; 102 } 103 104 OpenBabel::OBSquarePlanarConfig GetConfig(unsigned long start, OBStereo::Shape shape = OBStereo::ShapeU) 105 { 106 OpenBabel::OBSquarePlanarStereo::Config cConfig = self->GetConfig(start, shape); 107 108 OpenBabel::OBSquarePlanarConfig pyConfig; 109 pyConfig.center = cConfig.center; 110 pyConfig.refs = cConfig.refs; 111 pyConfig.shape = cConfig.shape; 112 pyConfig.specified = cConfig.specified; 113 114 return pyConfig; 115 } 116 117 } 118