Loading...
Searching...
No Matches
reconstructFragmentProcessor.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_STRUCTURE_RECONSTRUCFRAGMENTPROCESSOR_H
#define BALL_STRUCTURE_RECONSTRUCFRAGMENTPROCESSOR_H
#include <list>
#ifndef BALL_COMMON_H
# include <BALL/common.h>
#endif
#ifndef BALL_DATATYPE_TRIPLE_H
# include <BALL/DATATYPE/triple.h>
#endif
#ifndef BALL_MATHS_MATRIX44_H
# include <BALL/MATHS/matrix44.h>
#endif
#ifndef BALL_KERNEL_FRAGMENT_H
# include <BALL/KERNEL/fragment.h>
#endif
namespace BALL
{
class FragmentDB;
class BALL_EXPORT ReconstructFragmentProcessor
: public UnaryProcessor<Fragment>
{
public:
ReconstructFragmentProcessor();
ReconstructFragmentProcessor(const FragmentDB& db);
ReconstructFragmentProcessor(const ReconstructFragmentProcessor& db);
virtual ~ReconstructFragmentProcessor();
virtual bool start();
virtual bool finish();
virtual Processor::Result operator() (Fragment&);
list<Atom*>& getInsertedAtoms();
Size getNumberOfInsertedAtoms() const;
void setFragmentDB(const FragmentDB& fragment_db);
const FragmentDB* getFragmentDB() const;
// ???? This should be replaced by the corresponding method in StructureMapper
// We don't need two implementations with the same code.
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:
/*_ @name Protected attributes
*/
//_@{
/*_ Pointer to the fragment DB
*/
const FragmentDB* fragment_db_;
/*_ List of atoms inserted during the last application of the processor.
*/
list<Atom*> inserted_atoms_;
//_@}
};
} // namespace BALL
#endif // BALL_STRUCTURE_RECONSTRUCFRAGMENTPROCESSOR_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
db
db
Definition GAFFTypeProcessor.h:74
BALL::Atom
Definition atom.h:90
BALL::FragmentDB
Definition fragmentDB.h:45
BALL::Fragment
Definition fragment.h:22
BALL::HashSet
Definition hashSet.h:46
BALL::Processor::Result
int Result
Definition processor.h:36
BALL::ReconstructFragmentProcessor::~ReconstructFragmentProcessor
virtual ~ReconstructFragmentProcessor()
BALL::ReconstructFragmentProcessor::finish
virtual bool finish()
BALL::ReconstructFragmentProcessor::getTwoReferenceAtoms
static Triple< bool, const Atom *, const Atom * > getTwoReferenceAtoms(const Atom &ref_center_atom, const HashSet< const Atom * > &allowed)
BALL::ReconstructFragmentProcessor::reconstructFragment
static list< Atom * > reconstructFragment(Fragment &frag, const Fragment &tplate)
BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor
ReconstructFragmentProcessor(const FragmentDB &db)
BALL::ReconstructFragmentProcessor::getInsertedAtoms
list< Atom * > & getInsertedAtoms()
BALL::ReconstructFragmentProcessor::mapThreeVectors
static Matrix4x4 mapThreeVectors(const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
BALL::ReconstructFragmentProcessor::start
virtual bool start()
BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor
ReconstructFragmentProcessor(const ReconstructFragmentProcessor &db)
BALL::ReconstructFragmentProcessor::inserted_atoms_
list< Atom * > inserted_atoms_
Definition reconstructFragmentProcessor.h:155
BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor
ReconstructFragmentProcessor()
BALL::ReconstructFragmentProcessor::setFragmentDB
void setFragmentDB(const FragmentDB &fragment_db)
BALL::ReconstructFragmentProcessor::getNumberOfInsertedAtoms
Size getNumberOfInsertedAtoms() const
BALL::ReconstructFragmentProcessor::getFragmentDB
const FragmentDB * getFragmentDB() const
BALL::ReconstructFragmentProcessor::fragment_db_
const FragmentDB * fragment_db_
Definition reconstructFragmentProcessor.h:151
BALL::Triple
Definition triple.h:25
BALL::UnaryProcessor< Fragment >::UnaryProcessor
UnaryProcessor()
Definition processor.h:69
common.h
fragment.h
BALL::Matrix4x4
TMatrix4x4< float > Matrix4x4
Definition matrix44.h:2184
matrix44.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Vector3
TVector3< float > Vector3
Definition vector3.h:1084
triple.h