#include <BALL/STRUCTURE/reconstructFragmentProcessor.h>
Public Member Functions | |
Constructors and Destructors | |
ReconstructFragmentProcessor () | |
ReconstructFragmentProcessor (const FragmentDB &db) | |
ReconstructFragmentProcessor (const ReconstructFragmentProcessor &db) | |
virtual | ~ReconstructFragmentProcessor () |
Processor-related methods | |
virtual bool | start () |
virtual bool | finish () |
virtual Processor::Result | operator() (Fragment &) |
Accessors | |
list< Atom * > & | getInsertedAtoms () |
Size | getNumberOfInsertedAtoms () const |
void | setFragmentDB (const FragmentDB &fragment_db) |
const FragmentDB * | getFragmentDB () const |
Static Public Member Functions | |
Static methods. | |
static Matrix4x4 | mapThreeVectors (const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3) |
static Triple< bool, const Atom *, const Atom * > | getTwoReferenceAtoms (const Atom &ref_center_atom, const HashSet< const Atom * > &allowed) |
static list< Atom * > | reconstructFragment (Fragment &frag, const Fragment &tplate) |
Protected Attributes | |
const FragmentDB * | fragment_db_ |
list< Atom * > | inserted_atoms_ |
Definition at line 33 of file reconstructFragmentProcessor.h.
BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor | ( | ) |
Default constructor. Create a new ReconstructFragmentProcessor, which is not yet bound to a FragmentDB , i.e. which cannot yet reconstruct fragments.
BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor | ( | const FragmentDB & | db | ) |
Detailed constructor. Create a new ReconstructFragmentProcessor, which is bound to the FragmentDB db
.
BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor | ( | const ReconstructFragmentProcessor & | db | ) |
Copy Constructor.
virtual BALL::ReconstructFragmentProcessor::~ReconstructFragmentProcessor | ( | ) | [virtual] |
Destructor
virtual bool BALL::ReconstructFragmentProcessor::finish | ( | ) | [virtual] |
Processor finish method
Reimplemented from BALL::UnaryProcessor< Fragment >.
const FragmentDB* BALL::ReconstructFragmentProcessor::getFragmentDB | ( | ) | const |
Return the current fragment database.
list<Atom*>& BALL::ReconstructFragmentProcessor::getInsertedAtoms | ( | ) |
Returns a list of inserted atoms.
Size BALL::ReconstructFragmentProcessor::getNumberOfInsertedAtoms | ( | ) | const |
Returns number of recently inserted atoms.
static Triple<bool, const Atom*, const Atom*> BALL::ReconstructFragmentProcessor::getTwoReferenceAtoms | ( | const Atom & | ref_center_atom, | |
const HashSet< const Atom * > & | allowed | |||
) | [static] |
Search for the next atoms suitable as reference points. This method performs a BFS-like search for atoms in the same residue the ref_center_atom
is in. It will consider only atoms contained in the hash set allowed
.
static Matrix4x4 BALL::ReconstructFragmentProcessor::mapThreeVectors | ( | const Vector3 & | w1, | |
const Vector3 & | w2, | |||
const Vector3 & | w3, | |||
const Vector3 & | v1, | |||
const Vector3 & | v2, | |||
const Vector3 & | v3 | |||
) | [static] |
Map three vectors onto each other. This method computes the transformation which move the three points given in v1
, v2
, and v3
onto the the three reference points w1
, w2
, and w3
. v1
is always mapped exactly onto w1
, and the plane spanned by v1
, v2
, and v3
is always mapped onto the plane spanned by the three reference points. Furthermore, v2
is mapped such that the vector connecting v1
and v2
is parallel to the vector connecting w1
and w2
after the transformation. Well-defined, but less meaningful transformations are obtained if any of the two point sets is co-linear.
virtual Processor::Result BALL::ReconstructFragmentProcessor::operator() | ( | Fragment & | ) | [virtual] |
Processor applicaiton method. Tries to reconstruct the current fragment from a matching fragment from the current FragmentDB .
Reimplemented from BALL::UnaryProcessor< Fragment >.
static list<Atom*> BALL::ReconstructFragmentProcessor::reconstructFragment | ( | Fragment & | frag, | |
const Fragment & | tplate | |||
) | [static] |
void BALL::ReconstructFragmentProcessor::setFragmentDB | ( | const FragmentDB & | fragment_db | ) |
Set the fragment database
virtual bool BALL::ReconstructFragmentProcessor::start | ( | ) | [virtual] |
Processor start method
Reimplemented from BALL::UnaryProcessor< Fragment >.
const FragmentDB* BALL::ReconstructFragmentProcessor::fragment_db_ [protected] |
Definition at line 151 of file reconstructFragmentProcessor.h.
list<Atom*> BALL::ReconstructFragmentProcessor::inserted_atoms_ [protected] |
Definition at line 155 of file reconstructFragmentProcessor.h.