BALL::VIEW::Representation Class Reference
[Geometric primitives and their management]

Representation A Representation is a collection of geometric objects for a group of composites and a given model, for example a surface. More...

#include <representation.h>

Inheritance diagram for BALL::VIEW::Representation:
Inheritance graph
[legend]

List of all members.


Public Types

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

Public Member Functions

Constructors and Destuctor
Representation ()
Default Constructor.
Representation (ModelType model_type, DrawingPrecision drawing_precision, DrawingMode drawing_mode)
Representation (const Representation &representation)
Copy constructor.
virtual ~Representation ()
Destructor.
Predicats and Accessors
const Representation & operator= (const Representation &rep)
void clear ()
Clears all properties.
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)
void setTransparency (Size value)
set transparency (0 - 255)
const GeometricObjectList & getGeometricObjects () const
GeometricObjectList & getGeometricObjects ()
void setGeometricObjects (GeometricObjectList &gol)
void insert (GeometricObject &object)
const List< const Composite * > & getComposites () const
void setComposites (const List< const Composite * > &composites)
void setComposite (const Composite *composite)
const ModelProcessor * getModelProcessor () const
ModelProcessor * getModelProcessor ()
void setModelProcessor (ModelProcessor *processor)
ColorProcessor * getColorProcessor ()
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.
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).
bool isValid () const
Check if drawing mode, transparency and drawing precision have reasonable values.
void update (bool rebuild)
Apply ModelProcessor (if rebuild) and ColorProcessor.
void clearGeometricObjects ()
Clear and destroy all stored GeometricObject.
const PreciseTime & 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.
bool needsUpdate () const
Returns true, if Representation needs to be updated.
void setNeedsUpdate (bool state=true)
void dump (std::ostream &s=std::cout, Size depth=0) const
Dum to ostream for debugging.
String toString () const
Get a String containing all settings for Usage in project files.
void setModelInformation (const ModelInformation &mi)
Set a custom ModelInformation e.g. when new models were added external of the library.
const ModelInformation & getModelInformation () const
bool operator== (const Representation &object) const
bool operator< (const Representation &object) const
Needed for MSVC.

Protected Member Functions

void update_ ()
Wrapper method for multithreading.
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_
ModelProcessor * model_processor_
ColorProcessor * color_processor_
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 ModelInformation * custom_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.


Member Function Documentation

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

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

Returns true, if Representation needs to be updated.

Called by GeometricControl. Uses needs_update_.

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.


Generated on Thu Aug 6 18:30:56 2009 for BALL by doxygen 1.5.8