20 #ifndef NUMERICPROPERTY_H
21 #define NUMERICPROPERTY_H
23 #include <tulip/PropertyInterface.h>
102 nodesUniformQuantification(k);
103 edgesUniformQuantification(k);
141 bool ascendingOrder =
true);
152 bool ascendingOrder =
true);
165 bool ascendingOrder =
true);
Interface all numerical properties. Property values are always returned as double.
virtual void edgesUniformQuantification(unsigned int)=0
computes a uniform quantification for the edges associated values
virtual double getEdgeDoubleValue(const edge e) const =0
Returns the value associated with the edge e in this property.
virtual Iterator< node > * getSortedNodes(const Graph *sg=nullptr, bool ascendingOrder=true)
Gets an iterator sorting nodes according to their values in that numeric property.
virtual Iterator< edge > * getSortedEdgesByExtremitiesValues(const Graph *sg=nullptr, bool ascendingOrder=true)
Gets an iterator sorting edges according to the values of their extremities in that numeric property....
virtual double getEdgeDoubleMin(const Graph *graph=nullptr)=0
Gets the minimum value on the edges.
virtual double getEdgeDoubleMax(const Graph *graph=nullptr)=0
Gets the maximum value on the edges.
virtual double getEdgeDoubleDefaultValue() const =0
Gets the default edge value of the property.
virtual double getNodeDoubleDefaultValue() const =0
Gets the default node value of the property.
virtual double getNodeDoubleValue(const node n) const =0
Returns the value associated with the node n in this property.
void uniformQuantification(unsigned int k)
computes a uniform quantification for the nodes/edges associated values
virtual double getNodeDoubleMax(const Graph *graph=nullptr)=0
Gets the maximum value on the nodes.
virtual void nodesUniformQuantification(unsigned int)=0
computes a uniform quantification for the nodes associated values
virtual double getNodeDoubleMin(const Graph *graph=nullptr)=0
Gets the minimum value on the nodes.
virtual Iterator< edge > * getSortedEdges(const Graph *sg=nullptr, bool ascendingOrder=true)
Gets an iterator sorting edges according to their values in that numeric property.
virtual NumericProperty * copyProperty(Graph *graph)=0
Creates a property of the same type (e.g. tlp::DoubleProperty) The new property will be a copy of thi...
virtual Iterator< edge > * getSortedEdgesByTargetValue(const Graph *sg=nullptr, bool ascendingOrder=true)
Gets an iterator sorting edges according to the values of their target nodes in that numeric property...
virtual Iterator< edge > * getSortedEdgesBySourceValue(const Graph *sg=nullptr, bool ascendingOrder=true)
Gets an iterator sorting edges according to the values of their source nodes in that numeric property...
PropertyInterface describes the interface of a graph property.
Interface for Tulip iterators. Allows basic iteration operations only.
The edge struct represents an edge in a Graph object.
The node struct represents a node in a Graph object.