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

#include <BALL/VIEW/KERNEL/representation.h>

Inheritance diagram for BALL::VIEW::Representation:
BALL::PropertyManager

Public Types

Enums
enum  Properties { PROPERTY__ALWAYS_FRONT = 0, PROPERTY__IS_COORDINATE_SYSTEM }
 Properties. More...
 

Public Member Functions

Constructors and Destuctor
 Representation ()
 
 Representation (ModelType model_type, DrawingPrecision drawing_precision, DrawingMode drawing_mode)
 
 Representation (const Representation &representation)
 
virtual ~Representation ()
 
Predicats and Accessors
const Representationoperator= (const Representation &rep)
 
void clear ()
 Clears all properties. More...
 
void setHidden (bool state)
 
bool isHidden () const
 
void setDrawingPrecision (DrawingPrecision precision)
 
DrawingPrecision getDrawingPrecision () const
 
float getSurfaceDrawingPrecision () const
 
void setSurfaceDrawingPrecision (float precision)
 
void setDrawingMode (DrawingMode mode)
 
DrawingMode getDrawingMode () const
 
Size getTransparency () const
 get transparency (0 - 255) More...
 
void setTransparency (Size value)
 set transparency (0 - 255) More...
 
const GeometricObjectListgetGeometricObjects () const
 
GeometricObjectListgetGeometricObjects ()
 
void setGeometricObjects (GeometricObjectList &gol)
 
void insert (GeometricObject &object)
 
const std::list< const
Composite * > & 
getComposites () const
 
void setComposites (const std::list< const Composite * > &composites)
 
void setComposite (const Composite *composite)
 
const ModelProcessorgetModelProcessor () const
 
ModelProcessorgetModelProcessor ()
 
void setModelProcessor (ModelProcessor *processor)
 
ColorProcessorgetColorProcessor ()
 
void setColorProcessor (ColorProcessor *processor)
 
void setModelType (ModelType type)
 
ModelType getModelType () const
 
String getName () const
 
void setName (const String &name)
 
String getCompositeName () const
 Returns a human-readable, potentially abbreviated string describing the molecular entity this representation belongs to. More...
 
void setColoringMethod (ColoringMethod type)
 
ColoringMethod getColoringMethod () const
 
void enableModelUpdate (bool state)
 
void enableColoringUpdate (bool state)
 
bool modelUpdateEnabled () const
 
bool coloringUpdateEnabled () const
 
String getProperties () const
 Get a descpription string (nr triangles and geometric objects, transparency, mode) More...
 
bool isValid () const
 Check if drawing mode, transparency and drawing precision have reasonable values. More...
 
void update (bool rebuild)
 
void clearGeometricObjects ()
 Clear and destroy all stored GeometricObject. More...
 
const PreciseTimegetModelBuildTime () const
 
bool needsUpdate () const
 
void setNeedsUpdate (bool state=true)
 
void dump (std::ostream &s=std::cout, Size depth=0) const
 Dum to ostream for debugging. More...
 
String toString () const
 Get a String containing all settings for Usage in project files. More...
 
void setModelInformation (const ModelInformation &mi)
 Set a custom ModelInformation e.g. when new models were added external of the library. More...
 
const ModelInformationgetModelInformation () const
 
bool operator== (const Representation &object) const
 
bool operator< (const Representation &object) const
 Needed for MSVC. More...
 
- 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 update_ ()
 
void collectRecursive_ (const Composite &c, HashMap< const Composite *, Position > &hashmap) const
 

Protected Attributes

DrawingMode drawing_mode_
 
DrawingPrecision drawing_precision_
 
float surface_drawing_precision_
 
ModelType model_type_
 
ColoringMethod coloring_method_
 
Size transparency_
 
ModelProcessormodel_processor_
 
ColorProcessorcolor_processor_
 
std::list< const Composite * > composites_
 
PreciseTime model_build_time_
 
bool needs_update_
 
bool rebuild_
 
bool changed_color_processor_
 
bool hidden_
 
GeometricObjectList geometric_objects_
 
bool model_update_enabled_
 
bool coloring_update_enabled_
 
String name_
 
const ModelInformationcustom_model_information_
 

Static Protected Attributes

static MolecularInformation information_
 
static ModelInformation model_information_
 

Friends

class UpdateRepresentationThread
 
class RepresentationManager
 

Detailed Description

Representation A Representation is a collection of geometric objects for a group of composites and a given model, for example a surface. An instance of Representation manages the memory for the geometric objects, the ColorProcessor and the ModelProcessor. So when a Representation is destroyed, so are its geometric objects and processors. It stores the drawing precision and mode.

Definition at line 57 of file representation.h.

Member Enumeration Documentation

Properties.

Enumerator
PROPERTY__ALWAYS_FRONT 
PROPERTY__IS_COORDINATE_SYSTEM 

Definition at line 71 of file representation.h.

Constructor & Destructor Documentation

BALL::VIEW::Representation::Representation ( )

Default Constructor

BALL::VIEW::Representation::Representation ( ModelType  model_type,
DrawingPrecision  drawing_precision,
DrawingMode  drawing_mode 
)
BALL::VIEW::Representation::Representation ( const Representation representation)

Copy constructor

virtual BALL::VIEW::Representation::~Representation ( )
virtual

Destructor

Member Function Documentation

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

Clears all properties.

Reimplemented from BALL::PropertyManager.

void BALL::VIEW::Representation::clearGeometricObjects ( )

Clear and destroy all stored GeometricObject.

void BALL::VIEW::Representation::collectRecursive_ ( const Composite c,
HashMap< const Composite *, Position > &  hashmap 
) const
protected
bool BALL::VIEW::Representation::coloringUpdateEnabled ( ) const
inline

Definition at line 212 of file representation.h.

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

Dum to ostream for debugging.

void BALL::VIEW::Representation::enableColoringUpdate ( bool  state)
inline

Definition at line 206 of file representation.h.

void BALL::VIEW::Representation::enableModelUpdate ( bool  state)
ColoringMethod BALL::VIEW::Representation::getColoringMethod ( ) const
ColorProcessor* BALL::VIEW::Representation::getColorProcessor ( )
String BALL::VIEW::Representation::getCompositeName ( ) const

Returns a human-readable, potentially abbreviated string describing the molecular entity this representation belongs to.

const std::list<const Composite*>& BALL::VIEW::Representation::getComposites ( ) const
inline

Definition at line 157 of file representation.h.

DrawingMode BALL::VIEW::Representation::getDrawingMode ( ) const
DrawingPrecision BALL::VIEW::Representation::getDrawingPrecision ( ) const
const GeometricObjectList& BALL::VIEW::Representation::getGeometricObjects ( ) const
GeometricObjectList& BALL::VIEW::Representation::getGeometricObjects ( )
const PreciseTime& BALL::VIEW::Representation::getModelBuildTime ( ) const

Get the time when the model was builded This is needed for updating the Representation, after the vector of atom attributes was modified.

See also
Atom::getAttributesModificationTime
const ModelInformation& BALL::VIEW::Representation::getModelInformation ( ) const
const ModelProcessor* BALL::VIEW::Representation::getModelProcessor ( ) const
ModelProcessor* BALL::VIEW::Representation::getModelProcessor ( )
ModelType BALL::VIEW::Representation::getModelType ( ) const
String BALL::VIEW::Representation::getName ( ) const
String BALL::VIEW::Representation::getProperties ( ) const

Get a descpription string (nr triangles and geometric objects, transparency, mode)

float BALL::VIEW::Representation::getSurfaceDrawingPrecision ( ) const
Size BALL::VIEW::Representation::getTransparency ( ) const

get transparency (0 - 255)

void BALL::VIEW::Representation::insert ( GeometricObject object)
bool BALL::VIEW::Representation::isHidden ( ) const
bool BALL::VIEW::Representation::isValid ( ) const

Check if drawing mode, transparency and drawing precision have reasonable values.

bool BALL::VIEW::Representation::modelUpdateEnabled ( ) const
inline

Definition at line 209 of file representation.h.

bool BALL::VIEW::Representation::needsUpdate ( ) const

Returns true, if Representation needs to be updated. Called by GeometricControl. Uses needs_update_.

bool BALL::VIEW::Representation::operator< ( const Representation object) const
inline

Needed for MSVC.

Definition at line 262 of file representation.h.

const Representation& BALL::VIEW::Representation::operator= ( const Representation rep)
bool BALL::VIEW::Representation::operator== ( const Representation object) const
void BALL::VIEW::Representation::setColoringMethod ( ColoringMethod  type)
void BALL::VIEW::Representation::setColorProcessor ( ColorProcessor processor)
void BALL::VIEW::Representation::setComposite ( const Composite composite)
void BALL::VIEW::Representation::setComposites ( const std::list< const Composite * > &  composites)
void BALL::VIEW::Representation::setDrawingMode ( DrawingMode  mode)
void BALL::VIEW::Representation::setDrawingPrecision ( DrawingPrecision  precision)
void BALL::VIEW::Representation::setGeometricObjects ( GeometricObjectList gol)
inline

Definition at line 150 of file representation.h.

void BALL::VIEW::Representation::setHidden ( bool  state)
void BALL::VIEW::Representation::setModelInformation ( const ModelInformation mi)

Set a custom ModelInformation e.g. when new models were added external of the library.

void BALL::VIEW::Representation::setModelProcessor ( ModelProcessor processor)
void BALL::VIEW::Representation::setModelType ( ModelType  type)
void BALL::VIEW::Representation::setName ( const String name)
void BALL::VIEW::Representation::setNeedsUpdate ( bool  state = true)
void BALL::VIEW::Representation::setSurfaceDrawingPrecision ( float  precision)
void BALL::VIEW::Representation::setTransparency ( Size  value)

set transparency (0 - 255)

String BALL::VIEW::Representation::toString ( ) const

Get a String containing all settings for Usage in project files.

void BALL::VIEW::Representation::update ( bool  rebuild)

Apply ModelProcessor (if rebuild) and ColorProcessor. The usage of these processors can be disabled, either by setting a NULL-pointer accordingly or call enableColoringUpdate(false) and enableModelUpdate(false).

void BALL::VIEW::Representation::update_ ( )
protected

Wrapper method for multithreading. Can be called by update() directly, or by the RepresentationManager' s UpdateRepresentationThread.

Friends And Related Function Documentation

friend class RepresentationManager
friend

Definition at line 61 of file representation.h.

friend class UpdateRepresentationThread
friend

Definition at line 60 of file representation.h.

Member Data Documentation

bool BALL::VIEW::Representation::changed_color_processor_
protected

Definition at line 316 of file representation.h.

ColorProcessor* BALL::VIEW::Representation::color_processor_
protected

Definition at line 301 of file representation.h.

ColoringMethod BALL::VIEW::Representation::coloring_method_
protected

Definition at line 292 of file representation.h.

bool BALL::VIEW::Representation::coloring_update_enabled_
protected

Definition at line 328 of file representation.h.

std::list<const Composite*> BALL::VIEW::Representation::composites_
protected

Definition at line 304 of file representation.h.

const ModelInformation* BALL::VIEW::Representation::custom_model_information_
protected

Definition at line 338 of file representation.h.

DrawingMode BALL::VIEW::Representation::drawing_mode_
protected

Definition at line 280 of file representation.h.

DrawingPrecision BALL::VIEW::Representation::drawing_precision_
protected

Definition at line 283 of file representation.h.

GeometricObjectList BALL::VIEW::Representation::geometric_objects_
protected

Definition at line 322 of file representation.h.

bool BALL::VIEW::Representation::hidden_
protected

Definition at line 319 of file representation.h.

MolecularInformation BALL::VIEW::Representation::information_
staticprotected

Definition at line 333 of file representation.h.

PreciseTime BALL::VIEW::Representation::model_build_time_
protected

Definition at line 307 of file representation.h.

ModelInformation BALL::VIEW::Representation::model_information_
staticprotected

Definition at line 336 of file representation.h.

ModelProcessor* BALL::VIEW::Representation::model_processor_
protected

Definition at line 298 of file representation.h.

ModelType BALL::VIEW::Representation::model_type_
protected

Definition at line 289 of file representation.h.

bool BALL::VIEW::Representation::model_update_enabled_
protected

Definition at line 325 of file representation.h.

String BALL::VIEW::Representation::name_
protected

Definition at line 330 of file representation.h.

bool BALL::VIEW::Representation::needs_update_
protected

Definition at line 310 of file representation.h.

bool BALL::VIEW::Representation::rebuild_
protected

Definition at line 313 of file representation.h.

float BALL::VIEW::Representation::surface_drawing_precision_
protected

Definition at line 286 of file representation.h.

Size BALL::VIEW::Representation::transparency_
protected

Definition at line 295 of file representation.h.