BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Friends | List of all members
BALL::VIEW::RepresentationManager Class Reference

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

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

Public Types

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

Public Member Functions

Constructors and Destructor
 RepresentationManager (MainControl *mc=0)
 
 RepresentationManager (const RepresentationManager &pm)
 
virtual ~RepresentationManager ()
 
- Public Member Functions inherited from BALL::Object
 Object ()
 Default constructor. More...
 
 Object (const Object &object)
 Copy constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
const Objectoperator= (const Object &)
 
bool operator== (const Object &object) const
 
bool operator!= (const Object &object) const
 
bool operator< (const Object &object) const
 
bool operator<= (const Object &object) const
 
bool operator>= (const Object &object) const
 
bool operator> (const Object &object) const
 
int compare (const Object &object) const
 
virtual bool isValid () const
 
virtual void dump (::std::ostream &s=std::cout, Size depth=0) const
 
Handle getHandle () const
 
- Public Member Functions inherited from BALL::AutoDeletable
virtual ~AutoDeletable ()
 
void * operator new (size_t size)
 
void operator delete (void *ptr)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *ptr, void *)
 
bool isAutoDeletable () const
 
void setAutoDeletable (bool enable)
 

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. More...
 
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. More...
 
Size getNumberOfRepresentations () const
 Get the number of the Representations. More...
 
RepresentationcreateRepresentation ()
 Create a Representation and insert it. More...
 
bool has (const Representation &representation) const
 Test if a Representation is inserted. More...
 
void dump (std::ostream &s, Size depth=0) const
 Dump the internal state to an output stream. More...
 
RepresentationsIterator begin ()
 Iterator to the first Representation. More...
 
RepresentationsConstIterator begin () const
 ConstIterator to the first Representation. More...
 
RepresentationsIterator end ()
 Iterator pointing behind the last Representation. More...
 
RepresentationsConstIterator end () const
 Const Iterator pointing behind the last Representation. More...
 
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. More...
 
bool updateRunning () const
 Return true, if a Representation is currently beeing updated. More...
 
bool startRendering (Representation *rep)
 
void finishedRendering (Representation *rep)
 
bool isBeeingRendered (const Representation *rep) const
 Used by UpdateRepresentationThread. More...
 
RepresentationpopRepresentationToUpdate ()
 
void finishedUpdate_ (Representation *rep)
 
void update_ (Representation &rep)
 

Additional Inherited Members

- Static Public Member Functions inherited from BALL::Object
static Handle getNextHandle ()
 
static Handle getNewHandle ()
 
- Static Public Member Functions inherited from BALL::AutoDeletable
static void clearLastPtr ()
 
- Protected Member Functions inherited from BALL::AutoDeletable
 AutoDeletable ()
 
 AutoDeletable (const AutoDeletable &auto_deletable, bool deep=false)
 

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

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

Iterator to the first Representation.

Definition at line 134 of file representationManager.h.

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

ConstIterator to the first Representation.

Definition at line 138 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.

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

Iterator pointing behind the last Representation.

Definition at line 142 of file representationManager.h.

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

Const Iterator pointing behind the last Representation.

Definition at line 146 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

HashSet<Representation*> BALL::VIEW::RepresentationManager::beeing_rendered_
protected

Definition at line 216 of file representationManager.h.

HashSet<Representation*> BALL::VIEW::RepresentationManager::beeing_updated_
protected

Definition at line 217 of file representationManager.h.

vector<ClippingPlane*> BALL::VIEW::RepresentationManager::clipping_planes_
protected

Definition at line 220 of file representationManager.h.

MainControl* BALL::VIEW::RepresentationManager::main_control_
protected

Definition at line 230 of file representationManager.h.

bool BALL::VIEW::RepresentationManager::no_update_
protected

Definition at line 227 of file representationManager.h.

RepresentationList BALL::VIEW::RepresentationManager::representations_
protected

Definition at line 214 of file representationManager.h.

bool BALL::VIEW::RepresentationManager::still_to_notify_
protected

Definition at line 228 of file representationManager.h.

UpdateRepresentationThread* BALL::VIEW::RepresentationManager::thread_
protected

Definition at line 226 of file representationManager.h.

HashSet<Representation*> BALL::VIEW::RepresentationManager::to_update_
protected

Definition at line 218 of file representationManager.h.

Mutex BALL::VIEW::RepresentationManager::update_mutex_
mutableprotected

Definition at line 224 of file representationManager.h.