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

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

Inheritance diagram for BALL::VIEW::RepresentationManager:
BALL::Object BALL::AutoDeletable

List of all members.


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)
 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.


Member Typedef Documentation


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.

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

Iterator to the first Representation.

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.

Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().

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.

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

Iterator pointing behind the last Representation.

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]
Size BALL::VIEW::RepresentationManager::getNumberOfRepresentations (  )  const [inline]

Get the number of the Representations.

Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().

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

Get the list with the Representations.

Referenced by BALL::VIEW::DemoTutorialDialog::nextStepDemo_().

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]
friend class MainControl [friend]
friend class Representation [friend]
friend class UpdateRepresentationThread [friend]

Member Data Documentation