Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

VIEW::RepresentationManager Class Reference
[Geometric primitives and their management]

RepresentationManager manages the graphical Representation objects and all GeometricObject. More...

#include <representationManager.h>

Inheritance diagram for VIEW::RepresentationManager:

Object AutoDeletable List of all members.

Accessors

const RepresentationManageroperator= (const RepresentationManager &pm) throw ()
bool operator== (const RepresentationManager &pm) const throw ()
void clear () throw ()
 Clears also the representations.
bool remove (Representation &representation, bool send_message=true) throw ()
 Delete a representation.
bool insert (Representation &representation, bool send_message=true) throw ()
 Insert a Representation If send_message is set to true, a RepresentationMessage with type ADD is send to notify all ModularWidget's.
const RepresentationListgetRepresentations () const throw ()
 Get the list with the Representations.
Size getNumberOfRepresentations () const throw ()
 Get the number of the Representations.
RepresentationcreateRepresentation () throw ()
 Create a Representation and insert it.
bool has (const Representation &representation) const throw ()
 Test if a Representation is inserted.
void dump (std::ostream &s, Size depth=0) const throw ()
 Dump the internal state to an output stream.
RepresentationsIterator begin () throw ()
 Iterator to the first Representation.
RepresentationsConstIterator begin () const throw ()
 ConstIterator to the first Representation.
RepresentationsIterator end () throw ()
 Iterator pointing behind the last Representation.
RepresentationsConstIterator end () const throw ()
 Const Iterator pointing behind the last Representation.
RepresentationList removedComposite (const Composite &composite, bool update=true) throw ()
 Clean up after a Composite was removed.
RepresentationList getRepresentationsOf (const Composite &composite) throw ()
 Get a list of Representation, which were build for a Composite.
void rebuildAllRepresentations () throw ()
const vector< ClippingPlane * > & getClippingPlanes () const
bool removeClippingPlane (ClippingPlane *plane)
void insertClippingPlane (ClippingPlane *plane)
void storeRepresentations (INIFile &out)
void restoreRepresentations (const INIFile &in, const vector< const Composite * > &new_systems)
void focusRepresentation (const Representation &rep)
bool willBeUpdated (const Representation &rep) const throw ()
 Return true if a Representation will be updated.
bool updateRunning () const throw ()
 Return true, if a Representation is currently beeing updated.
bool startRendering (Representation *rep)
void finishedRendering (Representation *rep)
bool isBeeingRendered (const Representation *rep) const
 Used by UpdateRepresentationThread.
RepresentationpopRepresentationToUpdate ()
void finishedUpdate_ (Representation *rep)
void update_ (Representation &rep) throw ()
RepresentationList representations_
HashSet< Representation * > beeing_rendered_
HashSet< Representation * > beeing_updated_
HashSet< Representation * > to_update_
vector< ClippingPlane * > clipping_planes_
UpdateRepresentationThread * thread_
QMutex update_mutex_
bool no_update_
bool still_to_notify_
MainControlmain_control_

Public Types

Type definitions
typedef HashSet< Representation * > RepresentationSet
typedef RepresentationList::Iterator RepresentationsIterator
 Iteration to the Representations.
typedef RepresentationList::ConstIterator RepresentationsConstIterator
 ConstIterator to the Representations.

Public Member Functions

Constructors and Destructor
 RepresentationManager (MainControl *mc=0) throw ()
 Default Constructor The MainControl is needed for sending Messages.
 RepresentationManager (const RepresentationManager &pm) throw ()
 Copy constructor.
virtual ~RepresentationManager () throw ()
 Destructor.

Friends

class Representation
class UpdateRepresentationThread
class BALLThread
class MainControl

Detailed Description

RepresentationManager manages the graphical Representation objects and all GeometricObject.

All Representation objects which shall be inserted should be created using createRepresentation(). When the RepresentationManager is destroyed, all inserted Representation are deleted. The RepresentationManager has also the capability for multithreaded updateing of the Representation's:\ Representation::update() calls RepresentationManager::update_(Representation)\ if the code is build with support for multithreading. The update itself is done in an instance of UpdateRepresentationThread.


Constructor & Destructor Documentation

VIEW::RepresentationManager::RepresentationManager MainControl mc = 0  )  throw ()
 

Default Constructor The MainControl is needed for sending Messages.


Member Function Documentation

RepresentationList VIEW::RepresentationManager::getRepresentationsOf const Composite composite  )  throw ()
 

Get a list of Representation, which were build for a Composite.

Method is called in MainControl, after receiving CompositeChangedMessage.

Returns:
a list with the pointers of representations, which are to be updated.

bool VIEW::RepresentationManager::insert Representation representation,
bool  send_message = true
throw ()
 

Insert a Representation If send_message is set to true, a RepresentationMessage with type ADD is send to notify all ModularWidget's.

bool VIEW::RepresentationManager::remove Representation representation,
bool  send_message = true
throw ()
 

Delete a representation.

It will be removed from the list of representations, its GeometricObject will be deleted. If send_message is set to true, a RepresentationMessage with type REMOVE is send to notify all ModularWidget's.

RepresentationList VIEW::RepresentationManager::removedComposite const Composite composite,
bool  update = true
throw ()
 

Clean up after a Composite was removed.

Method is called in MainControl, after removal of a composite (e.g. a System) and it removes all representations, which contain the Composite. It can also update all Representations, which have still have other Composites than the one to be deleted.

Returns:
a list with the pointers of all removed representations.