5#ifndef BALL_VIEW_KERNEL_REPRESENTATION_H
6#define BALL_VIEW_KERNEL_REPRESENTATION_H
8#ifndef BALL_CONCEPT_PROPERTY_H
12#ifndef BALL_CONCEPT_COMPOSITE_H
16#ifndef BALL_VIEW_KERNEL_COMMON_H
20#ifndef BALL_CONCEPT_MOLECULARINFORMATION_H
24#ifndef BALL_VIEW_KERNEL_MODELINFORMATION_H
29#ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
33#ifndef BALL_VIEW_MODELS_COLORPROCESSOR_H
44 class GeometricObject;
45 class UpdateRepresentationThread;
46 class RepresentationManager;
74 PROPERTY__ALWAYS_FRONT = 0,
77 PROPERTY__IS_COORDINATE_SYSTEM
151 { geometric_objects_ = gol;}
158 {
return composites_;}
246 void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
263 {
return this < &object;}
344# ifndef BALL_NO_INLINE_FUNCTIONS
345# include <BALL/VIEW/KERNEL/representation.iC>
#define BALL_CREATE(name)
DrawingPrecision
Enumeration for Drawing Precisions.
std::list< Representation * > RepresentationList
std::list< GeometricObject * > GeometricObjectList
DrawingMode
Enumeration for Drawing Modes.
HashMap class based on the STL map (containing serveral convenience functions)
ColoringMethod coloring_method_
void setNeedsUpdate(bool state=true)
static MolecularInformation information_
bool modelUpdateEnabled() const
Representation(const Representation &representation)
ColorProcessor * color_processor_
ModelProcessor * model_processor_
String getProperties() const
Get a descpription string (nr triangles and geometric objects, transparency, mode)
DrawingPrecision drawing_precision_
const ModelInformation & getModelInformation() const
GeometricObjectList geometric_objects_
bool isValid() const
Check if drawing mode, transparency and drawing precision have reasonable values.
void setSurfaceDrawingPrecision(float precision)
void enableModelUpdate(bool state)
Size getTransparency() const
get transparency (0 - 255)
PreciseTime model_build_time_
void setModelInformation(const ModelInformation &mi)
Set a custom ModelInformation e.g. when new models were added external of the library.
GeometricObjectList & getGeometricObjects()
void clearGeometricObjects()
Clear and destroy all stored GeometricObject.
void setHidden(bool state)
void setModelType(ModelType type)
void collectRecursive_(const Composite &c, HashMap< const Composite *, Position > &hashmap) const
const std::list< const Composite * > & getComposites() const
float getSurfaceDrawingPrecision() const
std::list< const Composite * > composites_
const PreciseTime & getModelBuildTime() const
void setDrawingMode(DrawingMode mode)
void setTransparency(Size value)
set transparency (0 - 255)
DrawingPrecision getDrawingPrecision() const
ModelProcessor * getModelProcessor()
void enableColoringUpdate(bool state)
void dump(std::ostream &s=std::cout, Size depth=0) const
Dum to ostream for debugging.
bool model_update_enabled_
void setComposite(const Composite *composite)
virtual ~Representation()
String getCompositeName() const
Returns a human-readable, potentially abbreviated string describing the molecular entity this represe...
ModelType getModelType() const
float surface_drawing_precision_
bool changed_color_processor_
const ModelInformation * custom_model_information_
void clear()
Clears all properties.
void setName(const String &name)
void setColorProcessor(ColorProcessor *processor)
ColoringMethod getColoringMethod() const
DrawingMode getDrawingMode() const
void update(bool rebuild)
static ModelInformation model_information_
void setDrawingPrecision(DrawingPrecision precision)
Representation(ModelType model_type, DrawingPrecision drawing_precision, DrawingMode drawing_mode)
void insert(GeometricObject &object)
bool coloring_update_enabled_
DrawingMode drawing_mode_
ColorProcessor * getColorProcessor()
void setComposites(const std::list< const Composite * > &composites)
void setColoringMethod(ColoringMethod type)
const GeometricObjectList & getGeometricObjects() const
String toString() const
Get a String containing all settings for Usage in project files.
const ModelProcessor * getModelProcessor() const
void setModelProcessor(ModelProcessor *processor)
bool coloringUpdateEnabled() const
void setGeometricObjects(GeometricObjectList &gol)