BALL::FragmentDistanceCollector Class Reference
[Geometric property processors.]

#include <BALL/STRUCTURE/geometricProperties.h>

Inheritance diagram for BALL::FragmentDistanceCollector:
BALL::UnaryProcessor< Composite > BALL::UnaryFunctor< Composite, Processor::Result >

List of all members.


Public Member Functions

Constructors and Destructors
 FragmentDistanceCollector ()
 FragmentDistanceCollector (const Composite &composite)
 FragmentDistanceCollector (const Composite &composite, float distance)
virtual ~FragmentDistanceCollector ()
Processor related methods
virtual bool start ()
virtual bool finish ()
virtual Processor::Result operator() (Composite &composite)
Accessors
Size getNumberOfFragments ()
void setComposite (const Composite &composite)
const CompositegetComposite () const
float getDistance () const
void setDistance (float distance)

Public Attributes

std::vector< Fragment * > fragments

Protected Attributes

std::vector< Fragment * > all_fragments_
const Compositereference_composite_
float squared_distance_

Detailed Description

Collects all MolecularFragments that are close enough to another molecular fragment. This processor examines the distances between every atom of a given fragment (further referred to as the reference fragment) and all other atoms in a molecular object he is applied to. If any atom of a fragment is closer to any atom of the reference fragment, the whole fragment is collected in an array.

The reference fragment itself is also contained in this array, if it is part of the molecular object the collector is applied to.
The array only contains pointers to the fragments, the fragments are neither changed, nor removed from the molecular object.
The reference fragment may either be given by a specialized constructor (also together with the distance) or using setFragment .
The fragment array is emptied prior to each collection run.

Constructor & Destructor Documentation

BALL::FragmentDistanceCollector::FragmentDistanceCollector (  ) 

Default constructor

BALL::FragmentDistanceCollector::FragmentDistanceCollector ( const Composite composite  ) 

Constructor. Creates a new collector and sets the reference composite

Parameters:
composite the reference composite
BALL::FragmentDistanceCollector::FragmentDistanceCollector ( const Composite composite,
float  distance 
)

Constructor. Creates a new collector and sets the reference composite and the distance.

Parameters:
composite the reference composite
distance the maximum distance between any two atoms
virtual BALL::FragmentDistanceCollector::~FragmentDistanceCollector (  )  [inline, virtual]

Member Function Documentation

virtual bool BALL::FragmentDistanceCollector::finish (  )  [virtual]

finish method

Reimplemented from BALL::UnaryProcessor< Composite >.

const Composite* BALL::FragmentDistanceCollector::getComposite (  )  const

Gets the reference composite

Returns:
a const pointer to the reference composite
float BALL::FragmentDistanceCollector::getDistance (  )  const

Gets the maximum distance

Returns:
the maximum distance
Size BALL::FragmentDistanceCollector::getNumberOfFragments (  ) 

Returns the number of molecular fragments found

Returns:
the number of fragments in the array
virtual Processor::Result BALL::FragmentDistanceCollector::operator() ( Composite  )  [virtual]

operator ()

Reimplemented from BALL::UnaryProcessor< Composite >.

void BALL::FragmentDistanceCollector::setComposite ( const Composite composite  ) 

Sets the reference composite

Parameters:
composite the new reference composite
void BALL::FragmentDistanceCollector::setDistance ( float  distance  ) 

Sets the maximum distance

Parameters:
distance the new maximum distance
virtual bool BALL::FragmentDistanceCollector::start (  )  [virtual]

start method

Reimplemented from BALL::UnaryProcessor< Composite >.


Member Data Documentation

The array containing all molecular fragments collected