Eclipse SUMO - Simulation of Urban MObility
|
Class passing values from a GUIGlObject to another object. More...
#include <GLObjectValuePassConnector.h>
Public Member Functions | |
GLObjectValuePassConnector (GUIGlObject &o, ValueSource< T > *source, ValueRetriever< T > *retriever) | |
Constructor. | |
virtual | ~GLObjectValuePassConnector () |
Destructor. | |
Static Public Member Functions | |
static methods for interactions | |
static void | updateAll () |
Updates all instances (passes values) | |
static void | clear () |
Deletes all instances. | |
static void | removeObject (GUIGlObject &o) |
Removes all instances that pass values from the object with the given id. | |
Protected Member Functions | |
virtual bool | passValue () |
Passes the value to the retriever. | |
Protected Attributes | |
GUIGlObject & | myObject |
The object to get the values of (the object that must be active) | |
ValueRetriever< T > * | myRetriever |
The destination for values. | |
ValueSource< T > * | mySource |
The source for values. | |
Static Protected Attributes | |
static std::vector< GLObjectValuePassConnector< T > * > | myContainer |
The container of items that shall be updated. | |
static FXMutex | myLock |
The mutex used to avoid concurrent updates of the connectors container. | |
Private Member Functions | |
GLObjectValuePassConnector (const GLObjectValuePassConnector< T > &) | |
Invalidated copy constructor. | |
GLObjectValuePassConnector< T > & | operator= (const GLObjectValuePassConnector< T > &) |
Invalidated assignment operator. | |
Class passing values from a GUIGlObject to another object.
A templated instance has some static member variables. They have to be defined in a cpp file. They may be found in GUINet.cpp. Two instances are used:
Definition at line 57 of file GLObjectValuePassConnector.h.
|
inline |
Constructor.
[in] | o | The object to get the value from |
[in] | source | The method for obtaining the value |
[in] | retriever | The object to pass the value to |
Definition at line 64 of file GLObjectValuePassConnector.h.
References GLObjectValuePassConnector< T >::myContainer, and GLObjectValuePassConnector< T >::myLock.
|
inlinevirtual |
Destructor.
Definition at line 72 of file GLObjectValuePassConnector.h.
References GLObjectValuePassConnector< T >::myContainer, GLObjectValuePassConnector< T >::myLock, and GLObjectValuePassConnector< T >::mySource.
|
private |
Invalidated copy constructor.
|
inlinestatic |
Deletes all instances.
Definition at line 98 of file GLObjectValuePassConnector.h.
References GLObjectValuePassConnector< T >::myContainer, and GLObjectValuePassConnector< T >::myLock.
|
private |
Invalidated assignment operator.
|
inlineprotectedvirtual |
Passes the value to the retriever.
Retrieves the value from the object, in the case the object is active. Passes the value to the retriever.
Definition at line 132 of file GLObjectValuePassConnector.h.
References GLObjectValuePassConnector< T >::myRetriever, and GLObjectValuePassConnector< T >::mySource.
|
inlinestatic |
Removes all instances that pass values from the object with the given id.
Used if for example a vehicle leaves the network
[in] | o | The object which shall no longer be asked for values |
Definition at line 112 of file GLObjectValuePassConnector.h.
References GUIGlObject::getGlID(), GLObjectValuePassConnector< T >::myContainer, and GLObjectValuePassConnector< T >::myLock.
Referenced by GUIGlObject::~GUIGlObject().
|
inlinestatic |
Updates all instances (passes values)
Definition at line 88 of file GLObjectValuePassConnector.h.
References GLObjectValuePassConnector< T >::myContainer, and GLObjectValuePassConnector< T >::myLock.
Referenced by GUINet::guiSimulationStep().
|
staticprotected |
The container of items that shall be updated.
Definition at line 152 of file GLObjectValuePassConnector.h.
Referenced by GLObjectValuePassConnector< T >::clear(), GLObjectValuePassConnector< T >::GLObjectValuePassConnector(), GLObjectValuePassConnector< T >::removeObject(), GLObjectValuePassConnector< T >::updateAll(), and GLObjectValuePassConnector< T >::~GLObjectValuePassConnector().
|
staticprotected |
The mutex used to avoid concurrent updates of the connectors container.
Definition at line 149 of file GLObjectValuePassConnector.h.
Referenced by GLObjectValuePassConnector< T >::clear(), GLObjectValuePassConnector< T >::GLObjectValuePassConnector(), GLObjectValuePassConnector< T >::removeObject(), GLObjectValuePassConnector< T >::updateAll(), and GLObjectValuePassConnector< T >::~GLObjectValuePassConnector().
|
protected |
The object to get the values of (the object that must be active)
Definition at line 140 of file GLObjectValuePassConnector.h.
|
protected |
The destination for values.
Definition at line 146 of file GLObjectValuePassConnector.h.
Referenced by GLObjectValuePassConnector< T >::passValue().
|
protected |
The source for values.
Definition at line 143 of file GLObjectValuePassConnector.h.
Referenced by GLObjectValuePassConnector< T >::passValue(), and GLObjectValuePassConnector< T >::~GLObjectValuePassConnector().