BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
BALL::VIEW::AddBallAndStickModel Class Reference

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

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

Public Member Functions

virtual bool createGeometricObjects ()
 
Constructors and Destructors
 AddBallAndStickModel ()
 
 AddBallAndStickModel (const AddBallAndStickModel &add_ball_and_stick_model)
 
virtual ~AddBallAndStickModel ()
 
virtual void clear ()
 
Assignment
void set (const AddBallAndStickModel &add_ball_and_stick_model)
 
const AddBallAndStickModeloperator= (const AddBallAndStickModel &processor)
 
Accessors: inspectors and mutators

This methods are used to specify the appearance of the model. This processor can either be used for creating a ball and stick model or a stick model. For the ball-component (the graphical representation of the Atom object) and the stick-component (the graphical representation of the Bond object) different radi can be assigned.

void setBallRadius (const float radius) throw (Exception::OutOfRange)
 
float getBallRadius () const
 
void setStickRadius (const float radius) throw (Exception::OutOfRange)
 
float getStickRadius () const
 
void enableBallAndStickModel ()
 
void enableStickModel ()
 
Processor specific methods
virtual Processor::Result operator() (Composite &composite)
 
Predicates
bool isBallAndStickModel () const
 
bool isStickModel () const
 
bool dashedBondsEnabled () const
 
void enableDashedBonds (bool state)
 
debuggers and diagnostics
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
 
- Public Member Functions inherited from BALL::VIEW::AtomBondModelBaseProcessor
 AtomBondModelBaseProcessor ()
 
 AtomBondModelBaseProcessor (const AtomBondModelBaseProcessor &baseProcessor)
 
virtual ~AtomBondModelBaseProcessor ()
 
void set (const AtomBondModelBaseProcessor &processor)
 
const AtomBondModelBaseProcessoroperator= (const AtomBondModelBaseProcessor &processor)
 
virtual void clearComposites ()
 
- 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 std::string &name)
 
void setProperty (const std::string &name, bool value)
 
void setProperty (const std::string &name, int value)
 
void setProperty (const std::string &name, unsigned int value)
 
void setProperty (const std::string &name, float value)
 
void setProperty (const std::string &name, double value)
 
void setProperty (const std::string &name, const std::string &value)
 
void setProperty (const std::string &name, const PersistentObject &value)
 
const NamedPropertygetProperty (const std::string &name) const
 
NamedPropertyIterator beginNamedProperty ()
 
NamedPropertyIterator endNamedProperty ()
 
void clearProperty (const std::string &name)
 
Size countNamedProperties () const
 
bool hasProperty (Property property) const
 Query for an unnamed property. More...
 
bool hasProperty (const std::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

void visualiseBond_ (const Bond &bond)
 
virtual void visualiseRings_ ()
 
void renderStandardBond_ (const Bond &bond)
 
void renderMultipleBond_ (const Bond &bond, Vector3 normal, Vector3 dir)
 
void renderDashedBond_ (const Bond &bond, Vector3 n) throw (Exception::DivisionByZero)
 
void collectRingBonds_ ()
 
Vector3 getSP2Plane_ (const Atom &atom, const Bond &bond, const Vector3 &dir) const
 
- Protected Member Functions inherited from BALL::VIEW::AtomBondModelBaseProcessor
void insertAtom_ (const Atom *atom)
 
void clearUsedAtoms_ ()
 
std::list< const Atom * > & getAtomList_ ()
 
HashSet< const Atom * > & getAtomSet_ ()
 
void buildBondModels_ ()
 

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
 
- Protected Attributes inherited from BALL::VIEW::AtomBondModelBaseProcessor
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_
 

Detailed Description

AddBallAndStickModel class. The class AddBallAndStickModel is a model processor that is responsible for creating either a ball and stick model or a stick model. In a ball and stick model the graphical representation of the Atom objects (Sphere objects) have a different radius than the representation of the Bond objects (Tube objects). Otherwise in the stick model the radi of the ball and the stick components are equal. For information about the processor concept see Processor in the BALL documentation.

Definition at line 35 of file ballAndStickModel.h.

Constructor & Destructor Documentation

BALL::VIEW::AddBallAndStickModel::AddBallAndStickModel ( )

Default Constructor. Set the appearance to:

  • set the appearance to ball and stick model
  • set the ball radius to 0.4
  • set the stick radius to 0.2
BALL::VIEW::AddBallAndStickModel::AddBallAndStickModel ( const AddBallAndStickModel add_ball_and_stick_model)

Copy constructor.

virtual BALL::VIEW::AddBallAndStickModel::~AddBallAndStickModel ( )
virtual

Destructor.

Member Function Documentation

virtual void BALL::VIEW::AddBallAndStickModel::clear ( )
virtual

Explicit default initialization. Reset the state of this AddBallAndStickModel to:

Reimplemented from BALL::VIEW::AtomBondModelBaseProcessor.

void BALL::VIEW::AddBallAndStickModel::collectRingBonds_ ( )
protected
virtual bool BALL::VIEW::AddBallAndStickModel::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::AtomBondModelBaseProcessor.

bool BALL::VIEW::AddBallAndStickModel::dashedBondsEnabled ( ) const
inline

Definition at line 164 of file ballAndStickModel.h.

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

Internal value dump. Dump the current state of this AddBallAndStickModel to the output ostream s with dumping depth depth. Calls AtomBondModelBaseProcessor::dump.

Parameters
soutput stream where to output the state
depththe dumping depth

Reimplemented from BALL::VIEW::AtomBondModelBaseProcessor.

void BALL::VIEW::AddBallAndStickModel::enableBallAndStickModel ( )

Enable the creation of the ball and stick model.

void BALL::VIEW::AddBallAndStickModel::enableDashedBonds ( bool  state)
inline

Definition at line 168 of file ballAndStickModel.h.

void BALL::VIEW::AddBallAndStickModel::enableStickModel ( )

Enable the creation of the stick model.

float BALL::VIEW::AddBallAndStickModel::getBallRadius ( ) const

Inspection of the radius of the ball-component.

Vector3 BALL::VIEW::AddBallAndStickModel::getSP2Plane_ ( const Atom atom,
const Bond bond,
const Vector3 dir 
) const
protected
float BALL::VIEW::AddBallAndStickModel::getStickRadius ( ) const

Inspection of the radius of the stick-component.

bool BALL::VIEW::AddBallAndStickModel::isBallAndStickModel ( ) const

Test if create ball and stick model.

Returns
bool true if a ball and stick model should be created, false if stick model
bool BALL::VIEW::AddBallAndStickModel::isStickModel ( ) const

Test if create a stick model.

Returns
bool true if a stick model should be created, false if ball and stick model
virtual Processor::Result BALL::VIEW::AddBallAndStickModel::operator() ( Composite composite)
virtual

Operator () method. This method iterates over each Composite object reachable in the Composite tree. If the composite is of kind Atom than a Sphere is created for that atom, and the atom is inserted with the method insertAtom_(). If the AddBallAndStickModel should create a ball and stick model the radius assigned to the sphere will be the ball radius (see method setBallRadius()); if a stick model should be created than the stick radius is assigned to the sphere (see method setStickRadius()). All atoms inserted with the method insertAtom_() will later used for creating the model of the reachable Bond objects. Those models will be created with the method buildBondModels_().

Parameters
compositethe Composite object that will be processed
Returns
Processor::Result the result
Exceptions
OutOfMemorythrown if the memory allocation for a Sphere object failed

Reimplemented from BALL::VIEW::AtomBondModelBaseProcessor.

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

Assignment operator. Calls set().

void BALL::VIEW::AddBallAndStickModel::renderDashedBond_ ( const Bond bond,
Vector3  n 
)
throw (Exception::DivisionByZero
)
inlineprotected
void BALL::VIEW::AddBallAndStickModel::renderMultipleBond_ ( const Bond bond,
Vector3  normal,
Vector3  dir 
)
inlineprotected
void BALL::VIEW::AddBallAndStickModel::renderStandardBond_ ( const Bond bond)
inlineprotected
void BALL::VIEW::AddBallAndStickModel::set ( const AddBallAndStickModel add_ball_and_stick_model)

Assignment. Calls AtomBondModelBaseProcessor::set.

void BALL::VIEW::AddBallAndStickModel::setBallRadius ( const float  radius)
throw (Exception::OutOfRange
)

Change the radius of the ball-component.

Parameters
radiusthe new radius of the ball-component: (radius > 0)
Exceptions
OutOfRangethrown if radius <= 0
void BALL::VIEW::AddBallAndStickModel::setStickRadius ( const float  radius)
throw (Exception::OutOfRange
)

Change the radius of the stick-component.

Parameters
radiusthe new radius of the stick-component: (radius > 0)
Exceptions
OutOfRangethrown if radius <= 0
void BALL::VIEW::AddBallAndStickModel::visualiseBond_ ( const Bond bond)
protectedvirtual
virtual void BALL::VIEW::AddBallAndStickModel::visualiseRings_ ( )
protectedvirtual