23 #include <tulip/tuliphash.h> 24 #include <tulip/PropertyTypes.h> 25 #include <tulip/AbstractProperty.h> 26 #include <tulip/PropertyAlgorithm.h> 30 class PropertyContext;
32 typedef AbstractProperty<tlp::SizeType, tlp::SizeType> AbstractSizeProperty;
43 Size getMax(
const Graph *sg=NULL);
44 Size getMin(
const Graph *sg=NULL);
45 void scale(
const tlp::Vector<float,3>&,
const Graph *sg=NULL );
46 void scale(
const tlp::Vector<float,3>&, Iterator<node> *, Iterator<edge> *);
50 static const std::string propertyTypename;
51 const std::string& getTypename()
const {
52 return propertyTypename;
57 virtual void setNodeValue(
const node n,
const Size &v);
58 virtual void setAllNodeValue(
const Size &v,
const Graph *graph = NULL);
60 int compare(
const node n1,
const node n2)
const;
66 TLP_HASH_MAP<unsigned int, Size> max,min;
67 TLP_HASH_MAP<unsigned int, bool> minMaxOk;
68 void computeMinMax(
const Graph * sg=NULL);
75 class TLP_SCOPE
SizeVectorProperty:
public AbstractVectorProperty<tlp::SizeVectorType, tlp::SizeType> {
81 static const std::string propertyTypename;
82 const std::string& getTypename()
const {
83 return propertyTypename;
PropertyInterface describes the interface of a graph property.
The node struct represents a node in a Graph object.
A graph property that maps a tlp::Size value to graph elements.
A graph property that maps a std::vector<tlp::Size> value to graph elements.