![]() |
Tulip
5.5.0
Large graphs analysis and drawing
|
#include <minmaxproperty.h>
Public Member Functions | |
MinMaxProperty (tlp::Graph *graph, const std::string &name, typename nodeType::RealType NodeMin, typename nodeType::RealType NodeMax, typename edgeType::RealType EdgeMin, typename edgeType::RealType EdgeMax) | |
edgeType::RealType | getEdgeMax (const Graph *graph=nullptr) |
edgeType::RealType | getEdgeMin (const Graph *graph=nullptr) |
nodeType::RealType | getNodeMax (const Graph *graph=nullptr) |
nodeType::RealType | getNodeMin (const Graph *graph=nullptr) |
void | treatEvent (const tlp::Event &ev) override |
void | updateAllEdgesValues (typename edgeType::RealType newValue) |
void | updateAllNodesValues (typename nodeType::RealType newValue) |
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) |
![]() | |
AbstractProperty (Graph *, const std::string &n="") | |
int | compare (const edge e1, const edge e2) const override |
int | compare (const node n1, const node n2) const override |
void | computeMetaValue (edge e, tlp::Iterator< edge > *itE, Graph *mg) override |
void | computeMetaValue (node n, Graph *sg, Graph *mg) override |
bool | copy (const edge destination, const edge source, PropertyInterface *property, bool ifNotDefault=false) override |
bool | copy (const node destination, const node source, PropertyInterface *property, bool ifNotDefault=false) override |
void | copy (PropertyInterface *property) override |
unsigned int | edgeValueSize () const override |
void | erase (const edge e) override |
void | erase (const node n) override |
DataMem * | getEdgeDataMemValue (const edge e) const override |
DataMem * | getEdgeDefaultDataMemValue () const override |
std::string | getEdgeDefaultStringValue () const override |
edgeType ::RealType | getEdgeDefaultValue () const |
virtual tlp::Iterator< edge > * | getEdgesEqualTo (typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v, const Graph *g=nullptr) const |
std::string | getEdgeStringValue (const edge e) const override |
tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue | getEdgeValue (const edge e) const |
DataMem * | getNodeDataMemValue (const node n) const override |
DataMem * | getNodeDefaultDataMemValue () const override |
std::string | getNodeDefaultStringValue () const override |
nodeType ::RealType | getNodeDefaultValue () const |
virtual tlp::Iterator< node > * | getNodesEqualTo (typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v, const Graph *g=nullptr) const |
std::string | getNodeStringValue (const node n) const override |
tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue | getNodeValue (const node n) const |
DataMem * | getNonDefaultDataMemValue (const edge e) const override |
DataMem * | getNonDefaultDataMemValue (const node n) const override |
tlp::Iterator< edge > * | getNonDefaultValuatedEdges (const Graph *g=nullptr) const override |
tlp::Iterator< node > * | getNonDefaultValuatedNodes (const Graph *g=nullptr) const override |
bool | hasNonDefaultValuatedEdges (const Graph *g=nullptr) const override |
bool | hasNonDefaultValuatedNodes (const Graph *g=nullptr) const override |
unsigned int | nodeValueSize () const override |
unsigned int | numberOfNonDefaultValuatedEdges (const Graph *=nullptr) const override |
unsigned int | numberOfNonDefaultValuatedNodes (const Graph *g=nullptr) const override |
virtual AbstractProperty< nodeType, edgeType, PropertyInterface > & | operator= (AbstractProperty< nodeType, edgeType, PropertyInterface > &prop) |
bool | readEdgeDefaultValue (std::istream &) override |
bool | readEdgeValue (std::istream &, edge) override |
bool | readNodeDefaultValue (std::istream &) override |
bool | readNodeValue (std::istream &, node) override |
void | setAllEdgeDataMemValue (const DataMem *v) override |
bool | setAllEdgeStringValue (const std::string &inV) override |
virtual void | setAllEdgeValue (typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v) |
void | setAllNodeDataMemValue (const DataMem *v) override |
bool | setAllNodeStringValue (const std::string &inV) override |
virtual void | setAllNodeValue (typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v) |
void | setEdgeDataMemValue (const edge e, const DataMem *v) override |
bool | setEdgeDefaultStringValue (const std::string &inV) override |
virtual void | setEdgeDefaultValue (typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v) |
bool | setEdgeStringValue (const edge inE, const std::string &inV) override |
virtual void | setEdgeValue (const edge e, typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v) |
void | setMetaValueCalculator (PropertyInterface::MetaValueCalculator *mvCalc) override |
void | setNodeDataMemValue (const node n, const DataMem *v) override |
bool | setNodeDefaultStringValue (const std::string &inV) override |
virtual void | setNodeDefaultValue (typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v) |
bool | setNodeStringValue (const node inN, const std::string &inV) override |
virtual void | setNodeValue (const node n, typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v) |
bool | setStringValueToGraphEdges (const std::string &inV, const Graph *graph) override |
bool | setStringValueToGraphNodes (const std::string &inV, const Graph *graph) override |
virtual void | setValueToGraphEdges (typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v, const Graph *graph) |
virtual void | setValueToGraphNodes (typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v, const Graph *graph) |
void | writeEdgeDefaultValue (std::ostream &) const override |
void | writeEdgeValue (std::ostream &, edge) const override |
void | writeNodeDefaultValue (std::ostream &) const override |
void | writeNodeValue (std::ostream &, node) const override |
![]() | |
virtual PropertyInterface * | clonePrototype (Graph *graph, const std::string &name) const =0 |
virtual unsigned int | edgeValueSize () const =0 |
virtual const std::string & | getCppClassName () const =0 |
virtual DataMem * | getEdgeDefaultDataMemValue () const =0 |
virtual std::string | getEdgeDefaultStringValue () const =0 |
tlp::Graph * | getGraph () const |
MetaValueCalculator * | getMetaValueCalculator () |
const std::string & | getName () const |
virtual DataMem * | getNodeDefaultDataMemValue () const =0 |
virtual std::string | getNodeDefaultStringValue () const =0 |
virtual const std::string & | getTypename () const =0 |
virtual unsigned int | nodeValueSize () const =0 |
bool | rename (const std::string &newName) |
![]() | |
void | addListener (Observable &listener) const |
void | addListener (Observable *const listener) const |
void | addObserver (Observable &observer) 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 &listener) const |
void | removeListener (Observable *const listener) const |
void | removeObserver (Observable &observer) const |
void | removeObserver (Observable *const observer) const |
Protected Member Functions | |
MINMAX_MAP (edgeType) minMaxEdge | |
MINMAX_MAP (nodeType) minMaxNode | |
MINMAX_PAIR (edgeType) computeMinMaxEdge(const Graph *graph) | |
MINMAX_PAIR (nodeType) computeMinMaxNode(const Graph *graph) | |
void | removeListenersAndClearEdgeMap () |
void | removeListenersAndClearNodeMap () |
![]() | |
virtual void | clone_handler (AbstractProperty< nodeType, edgeType, 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 () |
void | notifyRename (const std::string &newName) |
![]() | |
Observable (const Observable &) | |
bool | hasOnlookers () const |
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 |
bool | needGraphListener |
![]() | |
edgeType ::RealType | edgeDefaultValue |
MutableContainer< typename edgeType ::RealType > | edgeProperties |
nodeType ::RealType | nodeDefaultValue |
MutableContainer< typename nodeType ::RealType > | nodeProperties |
![]() | |
Graph * | graph |
MetaValueCalculator * | metaValueCalculator |
std::string | name |
Additional Inherited Members | |
![]() | |
static void | disableEventNotification () |
static void | enableEventNotification () |
static tlp::node | getNode (const tlp::Observable *obs) |
static Observable * | getObject (tlp::node n) |
static const tlp::VectorGraph & | getObservableGraph () |
static unsigned int | getScheduled (tlp::node n) |
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 41 of file minmaxproperty.h.
tlp::MinMaxProperty< nodeType, edgeType, propType >::MinMaxProperty | ( | tlp::Graph * | graph, |
const 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, propType >::getEdgeMax | ( | const Graph * | graph = nullptr | ) |
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 80 of file minmaxproperty.cxx.
edgeType::RealType tlp::MinMaxProperty< nodeType, edgeType, propType >::getEdgeMin | ( | const Graph * | graph = nullptr | ) |
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 64 of file minmaxproperty.cxx.
nodeType::RealType tlp::MinMaxProperty< nodeType, edgeType, propType >::getNodeMax | ( | const Graph * | graph = nullptr | ) |
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 48 of file minmaxproperty.cxx.
nodeType::RealType tlp::MinMaxProperty< nodeType, edgeType, propType >::getNodeMin | ( | const Graph * | graph = nullptr | ) |
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 32 of file minmaxproperty.cxx.
|
overridevirtual |
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 313 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType, propType >::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 300 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType, propType >::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 287 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType, propType >::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 261 of file minmaxproperty.cxx.
void tlp::MinMaxProperty< nodeType, edgeType, propType >::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 235 of file minmaxproperty.cxx.