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