File: addHydrogenProcessor.sip

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 239,888 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 95
file content (28 lines) | stat: -rw-r--r-- 852 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class AddHydrogenProcessor
	: CompositeProcessor
{
%TypeHeaderCode
	#include <BALL/PYTHON/EXTENSIONS/pyUnaryProcessors.h>
	#include <BALL/STRUCTURE/addHydrogenProcessor.h>
%End

	public:
	AddHydrogenProcessor();
	virtual ~AddHydrogenProcessor();
	virtual bool start();
	virtual Processor::Result operator() (Composite &composite);
	Size getConnectivity(const Atom& atom) const;
	Size getNumberOfAddedHydrogens() const;

	protected:
	Processor::Result placePeptideBondH_(Residue* res);

	Size countBondOrders(const Atom& atom) const;
	void addHydrogen_(Atom& atom, Vector3 position);
	bool isRingAtom_(const Atom& atom) const;
	vector<Atom*> getPartners_(Atom& atom) const;
	Vector3 getNormal_(const Vector3& v) const;
	bool normalize_(Vector3& v) const;
	bool hasMultipleBond_(const Atom& atom) const;
	float getBondLength_(Position element) const;
};