BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
BALL::VIEW::ColorProcessor Class Reference

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

Inheritance diagram for BALL::VIEW::ColorProcessor:
BALL::UnaryProcessor< GeometricObject * > BALL::UnaryFunctor< GeometricObject *, Processor::Result > BALL::VIEW::AtomDistanceColorProcessor BALL::VIEW::ColorByGridProcessor BALL::VIEW::CustomColorProcessor BALL::VIEW::ElementColorProcessor BALL::VIEW::InterpolateColorProcessor BALL::VIEW::PositionColorProcessor BALL::VIEW::ResidueNameColorProcessor BALL::VIEW::ResidueNumberColorProcessor BALL::VIEW::ResidueTypeColorProcessor BALL::VIEW::SecondaryStructureColorProcessor

List of all members.

Public Types

typedef HashSet< const
Composite * > 
CompositeSet
 A HashSet with the used Composites, see also Representation.
typedef HashGrid3< const Atom * > AtomGrid
 a threedimensioal grid with the pointers to the atoms
typedef HashGridBox3< const
Atom * > 
AtomBox
 a single box in the threedimensional grid

Public Member Functions

 ColorProcessor ()
 Default Constructor.
 ColorProcessor (const ColorProcessor &color_calculator)
 Copy constructor.
virtual ~ColorProcessor ()
 Destructor.
virtual void clear ()
void set (const ColorProcessor &color_calculator)
 Assignment.
virtual bool start ()
const ColorProcessoroperator= (const ColorProcessor &color_calculator)
bool updateAlwaysNeeded ()
void setDefaultColor (const ColorRGBA &color)
const ColorRGBAgetDefaultColor () const
virtual Processor::Result operator() (GeometricObject *&object)
virtual void getColor (const Composite &composite, ColorRGBA &color_to_be_set)
Size getTransparency () const
virtual void setTransparency (Size value)
void setComposites (const std::list< const Composite * > *composites)
const std::list< const
Composite * > * 
getComposites ()
 Return a pointer to the Composites.
void clearAtomGrid ()
void setAdditionalGridDistance (float distance)
float getAdditionalGridDistance () const
void setMinGridSpacing (float spacing)
AtomGridgetAtomGrid ()
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
void setModelType (ModelType type)
virtual void createAtomGrid (const Composite *from_mesh=0)
const AtomgetClosestItem (const Vector3 &v) const

Protected Member Functions

virtual void colorMeshFromGrid_ (Mesh &mesh)
virtual bool canUseMeshShortcut_ (const Composite &)

Protected Attributes

bool update_always_needed_
ColorRGBA default_color_
ColorRGBA selection_color_
Size transparency_
const std::list< const
Composite * > * 
composites_
AtomGrid atom_grid_
ModelType model_type_
const Compositelast_composite_of_grid_
float additional_grid_distance_
float min_spacing_

Detailed Description

Calculating colors for given GeometricObject instances. This class defines the interface and basic algorithms to colorize geometric objects, e.g. Sphere, Tube, TwoColoredTube, etc. Derived classes implement special ways to colorize, e.g. by charge or element. They have to overload the method getColor(Composite, ColorRGBA).
If no color can be calculated for a GeometricObject, e.g. if it has no Composite, the default color is set.
A bit tricky is the coloring of meshes. The goal was to give every triangle of a mesh a color according to its nearest Atom. To do so, a threedimensional HashGrid3 is used. It is computed, when the ColorProcessor first encounters a Mesh in the operator (). For this a pointer to the HashSet with the used Composite instances exists, which is set by the Representation.

Definition at line 50 of file colorProcessor.h.


Member Typedef Documentation

a single box in the threedimensional grid

Definition at line 64 of file colorProcessor.h.

a threedimensioal grid with the pointers to the atoms

Definition at line 61 of file colorProcessor.h.

A HashSet with the used Composites, see also Representation.

Definition at line 58 of file colorProcessor.h.


Constructor & Destructor Documentation

Default Constructor.

Copy constructor.

Destructor.


Member Function Documentation

virtual bool BALL::VIEW::ColorProcessor::canUseMeshShortcut_ ( const Composite ) [inline, protected, virtual]
virtual void BALL::VIEW::ColorProcessor::clear ( ) [virtual]

Explicit default initialization. Reset the state of the default_color_ to red ( "FF0000FF"). The grid is cleared and the pointer to the CompositeSet is set to NULL.

virtual void BALL::VIEW::ColorProcessor::colorMeshFromGrid_ ( Mesh mesh) [protected, virtual]
virtual void BALL::VIEW::ColorProcessor::createAtomGrid ( const Composite from_mesh = 0) [virtual]
virtual void BALL::VIEW::ColorProcessor::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [virtual]

Internal value dump. Dump the current state of this ColorProcessor to the output ostream s with dumping depth depth.

Parameters:
soutput stream where to output the state of this ColorProcessor
depththe dumping depth

Definition at line 150 of file colorProcessor.h.

Definition at line 157 of file colorProcessor.h.

virtual void BALL::VIEW::ColorProcessor::getColor ( const Composite composite,
ColorRGBA color_to_be_set 
) [virtual]
const std::list<const Composite*>* BALL::VIEW::ColorProcessor::getComposites ( ) [inline]

Return a pointer to the Composites.

Definition at line 139 of file colorProcessor.h.

Non-mutable inspection of the default color.

Definition at line 109 of file colorProcessor.h.

Definition at line 125 of file colorProcessor.h.

virtual Processor::Result BALL::VIEW::ColorProcessor::operator() ( GeometricObject *&  object) [virtual]
const ColorProcessor& BALL::VIEW::ColorProcessor::operator= ( const ColorProcessor color_calculator)

Assignment operator. Calls set.

void BALL::VIEW::ColorProcessor::set ( const ColorProcessor color_calculator)

Assignment.

Definition at line 146 of file colorProcessor.h.

void BALL::VIEW::ColorProcessor::setComposites ( const std::list< const Composite * > *  composites)

Set the pointer to the CompositeSet. This method is called by Representation::setColorProcessor and Representation::update.

Change the default color.

Definition at line 154 of file colorProcessor.h.

Definition at line 169 of file colorProcessor.h.

virtual void BALL::VIEW::ColorProcessor::setTransparency ( Size  value) [virtual]
virtual bool BALL::VIEW::ColorProcessor::start ( ) [virtual]

Some coloring processors need only to be applied to a Representation if the hierarchy of the Representations Composite is changed, or the Composites Names or Type (like SecondaryStructure::Type) is changed. As this is seldom the case, we can speedup the call to Representation::update() in most cases. This method defines if a ColoringMethod needs to be applied in all cases. The default value is false. Initialise the member update_always_needed_ to true in derived classes, if the derived ColorProcessor shall always be applied.

Definition at line 101 of file colorProcessor.h.


Member Data Documentation

Definition at line 197 of file colorProcessor.h.

Definition at line 194 of file colorProcessor.h.

const std::list<const Composite*>* BALL::VIEW::ColorProcessor::composites_ [protected]

Definition at line 192 of file colorProcessor.h.

Definition at line 187 of file colorProcessor.h.

Definition at line 196 of file colorProcessor.h.

Definition at line 198 of file colorProcessor.h.

Definition at line 195 of file colorProcessor.h.

Definition at line 189 of file colorProcessor.h.

Definition at line 190 of file colorProcessor.h.

Definition at line 185 of file colorProcessor.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines