BALL::VIEW::AtomBondModelBaseProcessor Class Reference
[Model Processors]

#include <BALL/VIEW/MODELS/atomBondModelBaseProcessor.h>

Inheritance diagram for BALL::VIEW::AtomBondModelBaseProcessor:
BALL::VIEW::ModelProcessor BALL::UnaryProcessor< Composite > BALL::PropertyManager BALL::UnaryFunctor< Composite, Processor::Result > BALL::VIEW::AddBallAndStickModel BALL::VIEW::AddLineModel BALL::VIEW::AddVanDerWaalsModel BALL::VIEW::HBondModelProcessor

List of all members.


Public Member Functions

Constructors and Destructors
 AtomBondModelBaseProcessor ()
 AtomBondModelBaseProcessor (const AtomBondModelBaseProcessor &baseProcessor)
virtual ~AtomBondModelBaseProcessor ()
virtual void clear ()
Assignment
void set (const AtomBondModelBaseProcessor &processor)
const AtomBondModelBaseProcessoroperator= (const AtomBondModelBaseProcessor &processor)
Processor specific methods
virtual Processor::Result operator() (Composite &composite)
debuggers and diagnostics
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
virtual void clearComposites ()
virtual bool createGeometricObjects ()

Protected Member Functions

virtual void visualiseBond_ (const Bond &bond)
virtual void visualiseRings_ ()
Protected members

This methods are provided for easy generation of models. With the method insertAtom_() all Atom objects that will be part of the newly created model will be stored. This stored atoms are later used (in the method buildBondModels_()) to create the models of the Bond objects that can be reached from the atoms. The other methods are access method for the stored atoms.



void insertAtom_ (const Atom *atom)
void clearUsedAtoms_ ()
List< const Atom * > & getAtomList_ ()
HashSet< const Atom * > & getAtomSet_ ()
void buildBondModels_ ()

Protected Attributes

vector< vector< Atom * > > rings_
HashSet< const Atom * > ring_atoms_

Private Attributes

List< const Atom * > used_atoms_
HashSet< const Atom * > atom_set_

Detailed Description

AtomBondModelBaseProcessor class. The class AtomBondModelBaseProcessor is the base class for all models whose structure is somewhat orientated after the Atom and Bond structure (e.g. the model Ball And Stick)


Constructor & Destructor Documentation

BALL::VIEW::AtomBondModelBaseProcessor::AtomBondModelBaseProcessor (  ) 

Default Constructor. Clear all used Atom objects.

BALL::VIEW::AtomBondModelBaseProcessor::AtomBondModelBaseProcessor ( const AtomBondModelBaseProcessor baseProcessor  ) 

Copy constructor.

virtual BALL::VIEW::AtomBondModelBaseProcessor::~AtomBondModelBaseProcessor (  )  [virtual]

Destructor.


Member Function Documentation

void BALL::VIEW::AtomBondModelBaseProcessor::buildBondModels_ (  )  [protected]

Build the bond models. This method is called from the finish method. It iterates over every Bond object that can be reached from the stored Atom objects and calls visualiseBond_(), which has to be overloaded in derived classes.

virtual void BALL::VIEW::AtomBondModelBaseProcessor::clear (  )  [virtual]

Explicit default initialization. Reset the state of this AtomBondModelBaseProcessor:

Reimplemented from BALL::VIEW::ModelProcessor.

Reimplemented in BALL::VIEW::AddBallAndStickModel, and BALL::VIEW::HBondModelProcessor.

virtual void BALL::VIEW::AtomBondModelBaseProcessor::clearComposites (  )  [virtual]

Needed in derived classes, which store references to the Composite instances they worked on. Here only needed for a common interface and therefore empty.

Reimplemented from BALL::VIEW::ModelProcessor.

void BALL::VIEW::AtomBondModelBaseProcessor::clearUsedAtoms_ (  )  [protected]

Clear all used atoms.

virtual bool BALL::VIEW::AtomBondModelBaseProcessor::createGeometricObjects (  )  [virtual]

Method to create geometric objects. This method is called in Representation::update() after all operator() was called for all Composites. To be overloaded in derived classes

Reimplemented from BALL::VIEW::ModelProcessor.

Reimplemented in BALL::VIEW::AddBallAndStickModel.

virtual void BALL::VIEW::AtomBondModelBaseProcessor::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [virtual]

Internal value dump. Dump the current state to the output ostream s with dumping depth depth. Calls ModelProcessor::dump.

Parameters:
s output stream where to output the state
depth the dumping depth

Reimplemented from BALL::VIEW::ModelProcessor.

Reimplemented in BALL::VIEW::AddBallAndStickModel, BALL::VIEW::AddLineModel, and BALL::VIEW::AddVanDerWaalsModel.

List<const Atom*>& BALL::VIEW::AtomBondModelBaseProcessor::getAtomList_ (  )  [protected]

Mutable inspection of the list of used atoms.

HashSet<const Atom*>& BALL::VIEW::AtomBondModelBaseProcessor::getAtomSet_ (  )  [protected]

Mutable inspection of the hash set of used atoms.

void BALL::VIEW::AtomBondModelBaseProcessor::insertAtom_ ( const Atom atom  )  [protected]

Insert an Atom into the used atoms structure. All the inserted atoms will be later processed to generate the graphical representation of the Bond objects that can be reached from each inserted atom.

Parameters:
atom the Atom object to inserted
virtual Processor::Result BALL::VIEW::AtomBondModelBaseProcessor::operator() ( Composite composite  )  [virtual]

Operator method. This method iterates over each Composite object reachable in the Composite tree. If a Composite is of kind Moleculue and has aromatic rings, these rings are stored for later processing in the finish method.

Parameters:
composite the Composite object that will be processed

Reimplemented from BALL::UnaryProcessor< Composite >.

Reimplemented in BALL::VIEW::AddBallAndStickModel, BALL::VIEW::HBondModelProcessor, BALL::VIEW::AddLineModel, and BALL::VIEW::AddVanDerWaalsModel.

const AtomBondModelBaseProcessor& BALL::VIEW::AtomBondModelBaseProcessor::operator= ( const AtomBondModelBaseProcessor processor  ) 

Assignment operator. Calls set.

void BALL::VIEW::AtomBondModelBaseProcessor::set ( const AtomBondModelBaseProcessor processor  ) 

Assignment. Calls clearUsedAtoms_(). Calls ModelProcessor::set.

virtual void BALL::VIEW::AtomBondModelBaseProcessor::visualiseBond_ ( const Bond bond  )  [protected, virtual]
virtual void BALL::VIEW::AtomBondModelBaseProcessor::visualiseRings_ (  )  [inline, protected, virtual]

Member Data Documentation