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

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

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

List of all members.

Public Types

Type definitions

typedef HashSet< Representation * > RepresentationSet
typedef
RepresentationList::iterator 
RepresentationsIterator
 Iteration to the Representations.
typedef
RepresentationList::const_iterator 
RepresentationsConstIterator
 ConstIterator to the Representations.

Public Member Functions

Constructors and Destructor

 RepresentationManager (MainControl *mc=0)
 RepresentationManager (const RepresentationManager &pm)
virtual ~RepresentationManager ()

Friends

class Representation
class UpdateRepresentationThread
class BALLThread
class MainControl

Accessors



RepresentationList representations_
HashSet< Representation * > beeing_rendered_
HashSet< Representation * > beeing_updated_
HashSet< Representation * > to_update_
vector< ClippingPlane * > clipping_planes_
Mutex update_mutex_
UpdateRepresentationThreadthread_
bool no_update_
bool still_to_notify_
MainControlmain_control_
const RepresentationManageroperator= (const RepresentationManager &pm)
bool operator== (const RepresentationManager &pm) const
void clear ()
 Clears also the representations.
bool remove (Representation &representation, bool send_message=true)
bool insert (Representation &representation, bool send_message=true)
const RepresentationListgetRepresentations () const
 Get the list with the Representations.
Size getNumberOfRepresentations () const
 Get the number of the Representations.
RepresentationcreateRepresentation ()
 Create a Representation and insert it.
bool has (const Representation &representation) const
 Test if a Representation is inserted.
void dump (std::ostream &s, Size depth=0) const
 Dump the internal state to an output stream.
RepresentationsIterator begin ()
 Iterator to the first Representation.
RepresentationsConstIterator begin () const
 ConstIterator to the first Representation.
RepresentationsIterator end ()
 Iterator pointing behind the last Representation.
RepresentationsConstIterator end () const
 Const Iterator pointing behind the last Representation.
RepresentationList removedComposite (const Composite &composite, bool update=true)
RepresentationList getRepresentationsOf (const Composite &composite)
void rebuildAllRepresentations ()
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
 Return true if a Representation will be updated.
bool updateRunning () const
 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)

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.

Definition at line 45 of file representationManager.h.


Member Typedef Documentation

typedef RepresentationList::const_iterator BALL::VIEW::RepresentationManager::RepresentationsConstIterator

ConstIterator to the Representations.

Definition at line 68 of file representationManager.h.

Definition at line 62 of file representationManager.h.

typedef RepresentationList::iterator BALL::VIEW::RepresentationManager::RepresentationsIterator

Iteration to the Representations.

Definition at line 65 of file representationManager.h.


Constructor & Destructor Documentation

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

Default Constructor The MainControl is needed for sending Messages.

BALL::VIEW::RepresentationManager::RepresentationManager ( const RepresentationManager pm  ) 

Copy constructor

virtual BALL::VIEW::RepresentationManager::~RepresentationManager (  )  [virtual]

Destructor


Member Function Documentation

RepresentationsConstIterator BALL::VIEW::RepresentationManager::begin (  )  const [inline]

ConstIterator to the first Representation.

Definition at line 138 of file representationManager.h.

RepresentationsIterator BALL::VIEW::RepresentationManager::begin (  )  [inline]

Iterator to the first Representation.

Definition at line 134 of file representationManager.h.

void BALL::VIEW::RepresentationManager::clear (  )  [virtual]

Clears also the representations.

Reimplemented from BALL::Object.

Representation* BALL::VIEW::RepresentationManager::createRepresentation (  ) 

Create a Representation and insert it.

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

Dump the internal state to an output stream.

RepresentationsConstIterator BALL::VIEW::RepresentationManager::end (  )  const [inline]

Const Iterator pointing behind the last Representation.

Definition at line 146 of file representationManager.h.

RepresentationsIterator BALL::VIEW::RepresentationManager::end (  )  [inline]

Iterator pointing behind the last Representation.

Definition at line 142 of file representationManager.h.

void BALL::VIEW::RepresentationManager::finishedRendering ( Representation rep  ) 
void BALL::VIEW::RepresentationManager::finishedUpdate_ ( Representation rep  )  [protected]
void BALL::VIEW::RepresentationManager::focusRepresentation ( const Representation rep  ) 
const vector<ClippingPlane*>& BALL::VIEW::RepresentationManager::getClippingPlanes (  )  const [inline]

Definition at line 168 of file representationManager.h.

Size BALL::VIEW::RepresentationManager::getNumberOfRepresentations (  )  const [inline]

Get the number of the Representations.

Definition at line 121 of file representationManager.h.

const RepresentationList& BALL::VIEW::RepresentationManager::getRepresentations (  )  const [inline]

Get the list with the Representations.

Definition at line 117 of file representationManager.h.

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

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 BALL::VIEW::RepresentationManager::has ( const Representation representation  )  const

Test if a Representation is inserted.

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

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

void BALL::VIEW::RepresentationManager::insertClippingPlane ( ClippingPlane plane  ) 
bool BALL::VIEW::RepresentationManager::isBeeingRendered ( const Representation rep  )  const
const RepresentationManager& BALL::VIEW::RepresentationManager::operator= ( const RepresentationManager pm  ) 
bool BALL::VIEW::RepresentationManager::operator== ( const RepresentationManager pm  )  const
Representation* BALL::VIEW::RepresentationManager::popRepresentationToUpdate (  )  [protected]
void BALL::VIEW::RepresentationManager::rebuildAllRepresentations (  ) 
bool BALL::VIEW::RepresentationManager::remove ( Representation representation,
bool  send_message = true 
)

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.

bool BALL::VIEW::RepresentationManager::removeClippingPlane ( ClippingPlane plane  ) 
RepresentationList BALL::VIEW::RepresentationManager::removedComposite ( const Composite composite,
bool  update = true 
)

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.
void BALL::VIEW::RepresentationManager::restoreRepresentations ( const INIFile in,
const vector< const Composite * > &  new_systems 
)
bool BALL::VIEW::RepresentationManager::startRendering ( Representation rep  ) 
void BALL::VIEW::RepresentationManager::storeRepresentations ( INIFile out  ) 
void BALL::VIEW::RepresentationManager::update_ ( Representation rep  )  [protected]
bool BALL::VIEW::RepresentationManager::updateRunning (  )  const

Return true, if a Representation is currently beeing updated.

bool BALL::VIEW::RepresentationManager::willBeUpdated ( const Representation rep  )  const

Return true if a Representation will be updated.


Friends And Related Function Documentation

friend class BALLThread [friend]

Definition at line 50 of file representationManager.h.

friend class MainControl [friend]

Definition at line 51 of file representationManager.h.

friend class Representation [friend]

Definition at line 48 of file representationManager.h.

friend class UpdateRepresentationThread [friend]

Definition at line 49 of file representationManager.h.


Member Data Documentation

Definition at line 216 of file representationManager.h.

Definition at line 217 of file representationManager.h.

Definition at line 220 of file representationManager.h.

Definition at line 230 of file representationManager.h.

Definition at line 227 of file representationManager.h.

Definition at line 214 of file representationManager.h.

Definition at line 228 of file representationManager.h.

Definition at line 226 of file representationManager.h.

Definition at line 218 of file representationManager.h.

Definition at line 224 of file representationManager.h.

Generated by  doxygen 1.6.3