BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Protected Member Functions | Protected Attributes | Private Attributes | List of all members
BALL::VIEW::AtomBondModelBaseProcessor Class Reference

#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

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 ()
 
- Public Member Functions inherited from BALL::VIEW::ModelProcessor
 ModelProcessor ()
 
 ModelProcessor (const ModelProcessor &model_processor)
 
virtual ~ModelProcessor ()
 
virtual bool isValid () const
 
GeometricObjectListgetGeometricObjects ()
 Return the list with the created geometric objects. More...
 
const GeometricObjectListgetGeometricObjects () const
 Return the list with the created geometric objects. More...
 
void setDrawingPrecision (Index precision)
 
Index getDrawingPrecision () const
 
void setSurfaceDrawingPrecision (float precision)
 
float getSurfaceDrawingPrecision () const
 
- Public Member Functions inherited from BALL::UnaryProcessor< Composite >
 UnaryProcessor ()
 
 UnaryProcessor (const UnaryProcessor &)
 
virtual ~UnaryProcessor ()
 
virtual bool start ()
 
virtual bool finish ()
 
- Public Member Functions inherited from BALL::PropertyManager
BALL_INLINE PropertyManager ()
 Default constructor. More...
 
BALL_INLINE PropertyManager (const PropertyManager &property_manager)
 Copy constructor. More...
 
virtual ~PropertyManager ()
 Destructor. More...
 
virtual void destroy ()
 Clears all properties. More...
 
void set (const PropertyManager &property_manager)
 
const PropertyManageroperator= (const PropertyManager &property_manager)
 
void get (PropertyManager &property_manager) const
 
void swap (PropertyManager &property_manager)
 
BitVectorgetBitVector ()
 
const BitVectorgetBitVector () const
 
 operator BitVector & ()
 
void setProperty (Property property)
 
void clearProperty (Property property)
 
void toggleProperty (Property property)
 
Size countProperties () const
 
const NamedPropertygetNamedProperty (Position index) const
 
NamedPropertygetNamedProperty (Position index)
 
void setProperty (const NamedProperty &property)
 
void setProperty (const string &name)
 
void setProperty (const string &name, bool value)
 
void setProperty (const string &name, int value)
 
void setProperty (const string &name, unsigned int value)
 
void setProperty (const string &name, float value)
 
void setProperty (const string &name, double value)
 
void setProperty (const string &name, const string &value)
 
void setProperty (const string &name, const PersistentObject &value)
 
const NamedPropertygetProperty (const string &name) const
 
NamedPropertyIterator beginNamedProperty ()
 
NamedPropertyIterator endNamedProperty ()
 
void clearProperty (const string &name)
 
Size countNamedProperties () const
 
bool hasProperty (Property property) const
 Query for an unnamed property. More...
 
bool hasProperty (const string &name) const
 Query for a named property. More...
 
bool operator== (const PropertyManager &pm) const
 
bool operator!= (const PropertyManager &pm) const
 Inequality operator. More...
 
void write (PersistenceManager &pm) const
 Persistent stream writing. More...
 
bool read (PersistenceManager &pm)
 Persistent stream reading. More...
 
bool isValid () const
 
void dump (std::ostream &s=std::cout, Size depth=0) const
 

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_ ()
 
std::list< const Atom * > & getAtomList_ ()
 
HashSet< const Atom * > & getAtomSet_ ()
 
void buildBondModels_ ()
 

Protected Attributes

vector< vector< Atom * > > rings_
 
HashSet< const Atom * > ring_atoms_
 
- Protected Attributes inherited from BALL::VIEW::ModelProcessor
GeometricObjectList geometric_objects_
 
Index drawing_precision_
 
float surface_drawing_precision_
 

Private Attributes

std::list< const Atom * > used_atoms_
 
HashSet< const Atom * > atom_set_
 

Additional Inherited Members

- Public Types inherited from BALL::UnaryFunctor< Composite, Processor::Result >
typedef Processor::Result result_type
 
typedef Composite argument_type
 
typedef Compositeargument_reference
 
typedef const Compositeconst_argument_reference
 
typedef Compositeargument_pointer
 
typedef const Compositeconst_argument_pointer
 

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)

Definition at line 31 of file atomBondModelBaseProcessor.h.

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
soutput stream where to output the state
depththe dumping depth

Reimplemented from BALL::VIEW::ModelProcessor.

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

std::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
atomthe 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
compositethe 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)
protectedvirtual
virtual void BALL::VIEW::AtomBondModelBaseProcessor::visualiseRings_ ( )
inlineprotectedvirtual

Reimplemented in BALL::VIEW::AddBallAndStickModel.

Definition at line 157 of file atomBondModelBaseProcessor.h.

Member Data Documentation

HashSet<const Atom*> BALL::VIEW::AtomBondModelBaseProcessor::atom_set_
private

Definition at line 165 of file atomBondModelBaseProcessor.h.

HashSet<const Atom*> BALL::VIEW::AtomBondModelBaseProcessor::ring_atoms_
protected

Definition at line 160 of file atomBondModelBaseProcessor.h.

vector<vector<Atom*> > BALL::VIEW::AtomBondModelBaseProcessor::rings_
protected

Definition at line 157 of file atomBondModelBaseProcessor.h.

std::list<const Atom*> BALL::VIEW::AtomBondModelBaseProcessor::used_atoms_
private

Definition at line 164 of file atomBondModelBaseProcessor.h.