36 class OBSmartsPattern;
55 bool Build(
OBMol &mol,
bool stereoWarnings =
true);
75 std::vector<vector3> GetFragmentCoord(std::string smiles);
96 static bool Connect(
OBMol &mol,
int a,
int b,
vector3 &newpos,
int bondOrder = 1);
107 static bool Connect(
OBMol &mol,
int a,
int b,
int bondOrder = 1);
135 static bool Swap(
OBMol &mol,
int a,
int b,
int c,
int d);
147 static bool CorrectStereoBonds(
OBMol &mol);
153 static bool CorrectStereoAtoms(
OBMol &mol,
bool warn =
true);
156 static bool IsSpiroAtom(
unsigned long atomId,
OBMol &mol);
167 static std::vector<std::string> _rigid_fragments;
168 static std::vector<std::pair<OBSmartsPattern*, std::vector<vector3> > > _ring_fragments;
169 static std::map<std::string, int> _rigid_fragments_index;
170 static std::map<std::string, std::vector<vector3> > _rigid_fragments_cache;
173 static void ConnectFrags(
OBMol &mol,
OBMol &workmol, std::vector<int> match, std::vector<vector3> coords,
174 std::vector<int> pivot);
176 static void FlipSpiro(
OBMol &mol,
int idx);
177 static bool FixRingStereo(std::vector<std::pair<OBStereo::Ref, bool> > atomIds,
180 static bool SwapWithVector(
OBMol &mol,
int a,
int b,
int c,
const vector3 &newlocation);
186 #endif // OB_BUILDER_H Class to build 3D structures.
Definition: builder.h:42
void UnsetKeepRings()
Definition: builder.h:69
void SetKeepRings()
Definition: builder.h:68
Molecule Class.
Definition: mol.h:118
Process molecular stereochemistry information.
A speed-optimized vector of bits.
Definition: bitvec.h:57
Represents a vector in 3-dimensional real space.
Definition: vector3.h:44
OBBuilder()
Definition: builder.h:45
std::vector< Ref > Refs
Definition: stereo.h:156
Global namespace for all Open Babel code.
Definition: alias.h:22
Atom class.
Definition: atom.h:71