Tulip
4.1.0
Better Visualization Through Research
|
#include <minmaxproperty.h>
Inherits tlp::AbstractProperty< nodeType, edgeType >.
Inherited by tlp::DoubleProperty, and tlp::LayoutProperty.
Public Member Functions | |
MinMaxProperty (tlp::Graph *graph, std::string name, typename nodeType::RealType NodeMin, typename nodeType::RealType NodeMax, typename edgeType::RealType EdgeMin, typename edgeType::RealType EdgeMax) | |
edgeType::RealType | getEdgeMax (Graph *graph=NULL) |
edgeType::RealType | getEdgeMin (Graph *graph=NULL) |
nodeType::RealType | getNodeMax (Graph *graph=NULL) |
nodeType::RealType | getNodeMin (Graph *graph=NULL) |
virtual void | treatEvent (const tlp::Event &ev) |
void | updateAllEdgesValues (typename edgeType::RealType newValue) |
void | updateAllNodesValues (typename nodeType::RealType newValue) |
template<> | |
void | updateEdgeValue (tlp::edge e, tlp::LineType::RealType newValue) |
void | updateEdgeValue (tlp::edge e, typename edgeType::RealType newValue) |
void | updateNodeValue (tlp::node n, typename nodeType::RealType newValue) |
Public Member Functions inherited from tlp::AbstractProperty< nodeType, edgeType > | |
AbstractProperty (Graph *, std::string n="") | |
int | compare (const node n1, const node n2) const |
int | compare (const edge e1, const edge e2) const |
virtual void | computeMetaValue (node n, Graph *sg, Graph *mg) |
virtual void | computeMetaValue (edge e, tlp::Iterator< edge > *itE, Graph *mg) |
virtual bool | copy (const node destination, const node source, PropertyInterface *property, bool ifNotDefault=false) |
virtual bool | copy (const edge destination, const edge source, PropertyInterface *property, bool ifNotDefault=false) |
virtual void | copy (PropertyInterface *property) |
virtual void | erase (const node n) |
virtual void | erase (const edge e) |
virtual DataMem * | getEdgeDataMemValue (const edge e) const |
virtual DataMem * | getEdgeDefaultDataMemValue () const |
virtual std::string | getEdgeDefaultStringValue () const |
edgeType::RealType | getEdgeDefaultValue () const |
virtual std::string | getEdgeStringValue (const edge e) const |
tlp::StoredType< typename edgeType::RealType > ::ReturnedConstValue | getEdgeValue (const edge e) const |
virtual DataMem * | getNodeDataMemValue (const node n) const |
virtual DataMem * | getNodeDefaultDataMemValue () const |
virtual std::string | getNodeDefaultStringValue () const |
nodeType::RealType | getNodeDefaultValue () const |
virtual std::string | getNodeStringValue (const node n) const |
tlp::StoredType< typename nodeType::RealType > ::ReturnedConstValue | getNodeValue (const node n) const |
virtual DataMem * | getNonDefaultDataMemValue (const node n) const |
virtual DataMem * | getNonDefaultDataMemValue (const edge e) const |
virtual tlp::Iterator< edge > * | getNonDefaultValuatedEdges (const Graph *g=NULL) const |
virtual tlp::Iterator< node > * | getNonDefaultValuatedNodes (const Graph *g=NULL) const |
virtual AbstractProperty < nodeType, edgeType > & | operator= (AbstractProperty< nodeType, edgeType > &prop) |
virtual void | setAllEdgeDataMemValue (const DataMem *v) |
virtual bool | setAllEdgeStringValue (const std::string &inV) |
virtual void | setAllEdgeValue (const typename edgeType::RealType &v) |
virtual void | setAllNodeDataMemValue (const DataMem *v) |
virtual bool | setAllNodeStringValue (const std::string &inV) |
virtual void | setAllNodeValue (const typename nodeType::RealType &v) |
virtual void | setEdgeDataMemValue (const edge e, const DataMem *v) |
virtual bool | setEdgeStringValue (const edge inE, const std::string &inV) |
virtual void | setEdgeValue (const edge e, const typename edgeType::RealType &v) |
virtual void | setMetaValueCalculator (PropertyInterface::MetaValueCalculator *mvCalc) |
virtual void | setNodeDataMemValue (const node n, const DataMem *v) |
virtual bool | setNodeStringValue (const node inN, const std::string &inV) |
virtual void | setNodeValue (const node n, const typename nodeType::RealType &v) |
Public Member Functions inherited from tlp::PropertyInterface | |
void | addPropertyObserver (Observable *pObs) |
virtual PropertyInterface * | clonePrototype (Graph *graph, const std::string &name)=0 |
tlp::Graph * | getGraph () const |
MetaValueCalculator * | getMetaValueCalculator () |
const std::string & | getName () const |
virtual std::string | getTypename () const =0 |
void | removePropertyObserver (Observable *pObs) |
Public Member Functions inherited from tlp::Observable | |
void | addListener (Observable *const listener) const |
void | addObserver (Observable *const observer) const |
unsigned int | countListeners () const |
unsigned int | countObservers () const |
unsigned int | getReceived () const |
unsigned int | getSent () const |
void | removeListener (Observable *const listener) const |
void | removeObserver (Observable *const observerver) const |
Protected Member Functions | |
void | computeMinMaxEdge (Graph *graph) |
template<> | |
void | computeMinMaxNode (Graph *sg) |
void | computeMinMaxNode (Graph *graph) |
Protected Member Functions inherited from tlp::AbstractProperty< nodeType, edgeType > | |
virtual void | clone_handler (AbstractProperty< nodeType, edgeType > &) |
Protected Member Functions inherited from tlp::PropertyInterface | |
void | notifyAfterSetAllEdgeValue () |
void | notifyAfterSetAllNodeValue () |
void | notifyAfterSetEdgeValue (const edge e) |
void | notifyAfterSetNodeValue (const node n) |
void | notifyBeforeSetAllEdgeValue () |
void | notifyBeforeSetAllNodeValue () |
void | notifyBeforeSetEdgeValue (const edge e) |
void | notifyBeforeSetNodeValue (const node n) |
void | notifyDestroy () |
Protected Member Functions inherited from tlp::Observable | |
Observable (const Observable &) | |
tlp::Iterator< tlp::Observable * > * | getObservables () const |
bool | hasOnlookers () const |
void | notifyObservers () |
void | observableDeleted () |
Observable & | operator= (const Observable &) |
void | sendEvent (const Event &message) |
virtual void | treatEvents (const std::vector< Event > &events) |
Protected Attributes | |
edgeType::RealType | _edgeMax |
edgeType::RealType | _edgeMin |
nodeType::RealType | _nodeMax |
nodeType::RealType | _nodeMin |
TLP_HASH_MAP< unsigned int, bool > | edgeValueUptodate |
TLP_HASH_MAP< unsigned int, typename edgeType::RealType > | maxEdge |
TLP_HASH_MAP< unsigned int, typename nodeType::RealType > | maxNode |
TLP_HASH_MAP< unsigned int, typename edgeType::RealType > | minEdge |
TLP_HASH_MAP< unsigned int, typename nodeType::RealType > | minNode |
TLP_HASH_MAP< unsigned int, bool > | nodeValueUptodate |
Protected Attributes inherited from tlp::AbstractProperty< nodeType, edgeType > | |
edgeType::RealType | edgeDefaultValue |
MutableContainer< typename edgeType::RealType > | edgeProperties |
nodeType::RealType | nodeDefaultValue |
MutableContainer< typename nodeType::RealType > | nodeProperties |
Protected Attributes inherited from tlp::PropertyInterface | |
Graph * | graph |
MetaValueCalculator * | metaValueCalculator |
std::string | name |
Additional Inherited Members | |
Static Public Member Functions inherited from tlp::Observable | |
static Observable * | getObject (tlp::node n) |
static const tlp::VectorGraph & | getObservableGraph () |
static void | holdObservers () |
static bool | isAlive (tlp::node n) |
static unsigned int | observersHoldCounter () |
static void | unholdObservers () |
Abstracts the computation of minimal and maximal values on node and edge values of properties.
The value is lazily computed on first request. The value is cached, and the cache is invalidated whenever it cannot be simply updated.
Definition at line 38 of file minmaxproperty.h.
tlp::MinMaxProperty< nodeType, edgeType >::MinMaxProperty | ( | tlp::Graph * | graph, |
std::string | name, | ||
typename nodeType::RealType | NodeMin, | ||
typename nodeType::RealType | NodeMax, | ||
typename edgeType::RealType | EdgeMin, | ||
typename edgeType::RealType | EdgeMax | ||
) |
Constructs a MinMaxProperty.
graph | The graph to attach the property to. |
name | The name of the property. |
NodeMin | The minimal value the property can take for nodes (e.g. INT_MIN) |
NodeMax | The maximal value the property can take for nodes (e.g. INT_MIN) |
EdgeMin | The minimal value the property can take for edges (e.g. INT_MIN) |
EdgeMax | The maximal value the property can take for edges (e.g. INT_MIN) |
Definition at line 23 of file minmaxproperty.cxx.
edgeType::RealType tlp::MinMaxProperty< nodeType, edgeType >::getEdgeMax | ( | tlp::Graph * | graph = NULL | ) |
Computes the maximum value on the edges. It is only computed if it has never been retrieved before, or if the cached value could not be updated.
graph | The graph on which to compute. |
Definition at line 74 of file minmaxproperty.cxx.
edgeType::RealType tlp::MinMaxProperty< nodeType, edgeType >::getEdgeMin | ( | tlp::Graph * | graph = NULL | ) |
Computes the minimum value on the edges. It is only computed if it has never been retrieved before, or if the cached value could not be updated.
graph | The graph on which to compute. |
Definition at line 59 of file minmaxproperty.cxx.
nodeType::RealType tlp::MinMaxProperty< nodeType, edgeType >::getNodeMax | ( | tlp::Graph * | graph = NULL | ) |
Computes the maximum value on the nodes. It is only computed if it has never been retrieved before, or if the cached value could not be updated.
graph | The graph on which to compute. |
Definition at line 44 of file minmaxproperty.cxx.
nodeType::RealType tlp::MinMaxProperty< nodeType, edgeType >::getNodeMin | ( | tlp::Graph * | graph = NULL | ) |
Gets the minimum value on the nodes. It is only computed if it has never been retrieved before, or if the cached value could not be updated.
graph | The graph on which to compute. |
Definition at line 29 of file minmaxproperty.cxx.
|
virtual |
treatEvent This function is called when events are sent to the Listeners, and Listeners only.
Is it passed a reference to the event that just happened.
message | The event that was sent. |
Reimplemented from tlp::Observable.
Definition at line 231 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType >::updateAllEdgesValues | ( | typename edgeType::RealType | newValue | ) |
Updates the value of all edges, setting the maximum and minimum values to this. Should be called by subclasses in order to keep the cache up to date.
newValue | The new maximal and minimal value. |
Definition at line 217 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType >::updateAllNodesValues | ( | typename nodeType::RealType | newValue | ) |
Updates the value of all nodes, setting the maximum and minimum values to this. Should be called by subclasses in order to keep the cache up to date.
newValue | The new maximal and minimal value. |
Definition at line 203 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType >::updateEdgeValue | ( | tlp::edge | e, |
typename edgeType::RealType | newValue | ||
) |
Updates the value on an edge, and updates the minimal/maximal cached values if necessary. Should be called by subclasses in order to keep the cache up to date.
e | The edge for which the value is updated. |
newValue | The new value on this edge. |
Definition at line 175 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType >::updateNodeValue | ( | tlp::node | n, |
typename nodeType::RealType | newValue | ||
) |
Updates the value on a node, and updates the minimal/maximal cached values if necessary. Should be called by subclasses in order to keep the cache up to date.
n | The node for which the value is updated. |
newValue | The new value on this node. |
Definition at line 147 of file minmaxproperty.cxx.