![]() |
Tulip
5.4.0
Large graphs analysis and drawing
|
#include <LayoutProperty.h>
Inheritance diagram for tlp::LayoutProperty:
Collaboration diagram for tlp::LayoutProperty:Public Member Functions | |
| LayoutProperty (Graph *graph, const std::string &name="") | |
| std::vector< double > | angularResolutions (const node n, const Graph *subgraph=nullptr) const |
| double | averageAngularResolution (const Graph *subgraph=nullptr) const |
| double | averageAngularResolution (const node n, const Graph *subgraph=nullptr) const |
| double | averageEdgeLength (const Graph *subgraph=nullptr) const |
| void | center (const Graph *subgraph=nullptr) |
| void | center (const Vec3f &newCenter, const Graph *subgraph=nullptr) |
| PropertyInterface * | clonePrototype (Graph *, const std::string &) const override |
| void | computeEmbedding (Graph *subgraph=nullptr) |
| void | computeEmbedding (const node n, Graph *subgraph=nullptr) |
| double | edgeLength (const edge e) const |
| Coord | getMax (const Graph *subgraph=nullptr) |
| Coord | getMin (const Graph *subgraph=nullptr) |
| const std::string & | getTypename () const override |
| void | normalize (const Graph *subgraph=nullptr) |
| void | perfectAspectRatio (const Graph *subgraph=nullptr) |
| void | rotateX (const double &alpha, const Graph *subgraph=nullptr) |
| void | rotateX (const double &alpha, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
| void | rotateY (const double &alpha, const Graph *subgraph=nullptr) |
| void | rotateY (const double &alpha, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
| void | rotateZ (const double &alpha, const Graph *subgraph=nullptr) |
| void | rotateZ (const double &alpha, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
| void | scale (const Vec3f &scaleFactors, const Graph *subgraph=nullptr) |
| void | scale (const Vec3f &scaleFactors, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
| void | setAllEdgeValue (tlp::StoredType< std::vector< Coord >>::ReturnedConstValue v) override |
| void | setAllNodeValue (tlp::StoredType< Coord >::ReturnedConstValue v) override |
| void | setEdgeValue (const edge, tlp::StoredType< std::vector< Coord >>::ReturnedConstValue v) override |
| void | setNodeValue (const node, tlp::StoredType< Coord >::ReturnedConstValue v) override |
| void | setValueToGraphEdges (tlp::StoredType< std::vector< Coord >>::ReturnedConstValue v, const Graph *graph) override |
| void | setValueToGraphNodes (tlp::StoredType< Coord >::ReturnedConstValue v, const Graph *graph) override |
| void | translate (const Vec3f &move, const Graph *subgraph=nullptr) |
| void | translate (const Vec3f &move, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
Public Member Functions inherited from 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) | |
| 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) |
| 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, propType > | |
| AbstractProperty (Graph *, const std::string &n="") | |
| int | compare (const node n1, const node n2) const override |
| int | compare (const edge e1, const edge e2) const override |
| void | computeMetaValue (node n, Graph *sg, Graph *mg) override |
| void | computeMetaValue (edge e, tlp::Iterator< edge > *itE, Graph *mg) override |
| bool | copy (const node destination, const node source, PropertyInterface *property, bool ifNotDefault=false) override |
| bool | copy (const edge destination, const edge source, PropertyInterface *property, bool ifNotDefault=false) override |
| void | copy (PropertyInterface *property) override |
| unsigned int | edgeValueSize () const override |
| void | erase (const node n) override |
| void | erase (const edge e) 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 node n) const override |
| DataMem * | getNonDefaultDataMemValue (const edge e) 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, propType > & | operator= (AbstractProperty< nodeType, edgeType, propType > &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 |
Public Attributes | |
| unsigned int | nbBendedEdges |
Static Public Attributes | |
| static const std::string | propertyTypename |
Protected Member Functions | |
| void | clone_handler (AbstractProperty< tlp::PointType, tlp::LineType > &) override |
Protected Member Functions inherited from tlp::MinMaxProperty< nodeType, edgeType, propType > | |
| MINMAX_MAP (nodeType) minMaxNode | |
| MINMAX_MAP (edgeType) minMaxEdge | |
| MINMAX_PAIR (nodeType) computeMinMaxNode(const Graph *graph) | |
| MINMAX_PAIR (edgeType) computeMinMaxEdge(const Graph *graph) | |
| void | removeListenersAndClearEdgeMap () |
| void | removeListenersAndClearNodeMap () |
Protected Member Functions inherited from tlp::AbstractProperty< nodeType, edgeType, propType > | |
| virtual void | clone_handler (AbstractProperty< nodeType, edgeType, propType > &) |
Additional Inherited Members | |
Protected Attributes inherited from tlp::MinMaxProperty< nodeType, edgeType, propType > | |
| edgeType::RealType | _edgeMax |
| edgeType::RealType | _edgeMin |
| nodeType::RealType | _nodeMax |
| nodeType::RealType | _nodeMin |
| bool | needGraphListener |
Protected Attributes inherited from tlp::AbstractProperty< nodeType, edgeType, propType > | |
| edgeType ::RealType | edgeDefaultValue |
| MutableContainer< typename edgeType ::RealType > | edgeProperties |
| nodeType ::RealType | nodeDefaultValue |
| MutableContainer< typename nodeType ::RealType > | nodeProperties |
A graph property that maps a tlp::Coord value to graph nodes and std::vector<tlp::Coord> for edges.
Definition at line 50 of file LayoutProperty.h.
| std::vector<double> tlp::LayoutProperty::angularResolutions | ( | const node | n, |
| const Graph * | subgraph = nullptr |
||
| ) | const |
Returns a vector of all angular resolution of a node. It is only defined for 2D drawing, meaning the third coordinate is omitted
| n | the graph node on which to compute the angular resolution |
| subgraph | If not null, only computes the average angular resolution for the node in that subgraph |
| double tlp::LayoutProperty::averageAngularResolution | ( | const Graph * | subgraph = nullptr | ) | const |
Returns the average angular resolution of the layout. It is only defined for 2D drawing, meaning the third coordinate is omitted
| subgraph | It not null, only computes the average angular resolution for that subgraph |
| double tlp::LayoutProperty::averageAngularResolution | ( | const node | n, |
| const Graph * | subgraph = nullptr |
||
| ) | const |
Returns the average angular resolution of a node. It is only defined for 2D drawing, meaning the third coordinate is omitted
| n | the graph node on which to compute the angular resolution |
| subgraph | If not null, only computes the average angular resolution for the node in that subgraph |
| double tlp::LayoutProperty::averageEdgeLength | ( | const Graph * | subgraph = nullptr | ) | const |
Returns the average edge length of the layout, the bends are taken into account
| subgraph | If not null, only compute the average edge length for that subgraph |
| void tlp::LayoutProperty::center | ( | const Graph * | subgraph = nullptr | ) |
Centers the layout, meaning translating it in order that the center of its bounding box is (0,0,0)
| subgraph | If not null, only centers the layout of that subgraph |
| void tlp::LayoutProperty::center | ( | const Vec3f & | newCenter, |
| const Graph * | subgraph = nullptr |
||
| ) |
Centers the layout to newCenter, meaning translating it in order that the center of its bounding box is equal to newCenter
| newCenter | the coordinate of the new layout center |
| subgraph | If not null, only centers the layout of that subgraph |
| void tlp::LayoutProperty::computeEmbedding | ( | Graph * | subgraph = nullptr | ) |
Fixes embedding of the graph according to the layout ie. sort edges around nodes according to their neighbors/bends position in the layout/ Only works in 2D, the third coordinate is not taken into account.
| subgraph | It not null, only fixes embedding in that subgraph |
Fixes embedding of the node according to the layout ie. sort edges around the node according to its neighbors/bends position in the layout/ Only work in 2D, the third coordinate is not taken into account.
| n | the graph node on which to fix embedding |
| subgraph | If not null, only fixes the embedding of the node in that subgraph |
| double tlp::LayoutProperty::edgeLength | ( | const edge | e | ) | const |
Returns the length of an edge, the bends are taken into account. Thus, it measure the length of a polyline.
| e | the graph edge on which to compute its length |
| Coord tlp::LayoutProperty::getMax | ( | const Graph * | subgraph = nullptr | ) |
Returns the maximum coordinate of the layout, i.e. the top-right corner of the induced bounding box
| subgraph | If not null, returns the maximum coordinate for a subgraph layout |
| Coord tlp::LayoutProperty::getMin | ( | const Graph * | subgraph = nullptr | ) |
Returns the minimum coordinate of the layout, i.e. the bottom-left corner of the induced bounding box
| subgraph | If not null, returns the minimum coordinate for a subgraph layout |
| void tlp::LayoutProperty::normalize | ( | const Graph * | subgraph = nullptr | ) |
Normalizes the layout, meaning dividing each nodes and edges coordinate by the maximum magnitude of the whole coordinates set
| subgraph | If not null, only normalizes the layout of that subgraph |
| void tlp::LayoutProperty::perfectAspectRatio | ( | const Graph * | subgraph = nullptr | ) |
Scales the layout in order to approach an aspect ratio (width / height) of 1.0 .
| subgraph | If not null, only scales the layout of that subgraph |
| void tlp::LayoutProperty::rotateX | ( | const double & | alpha, |
| const Graph * | subgraph = nullptr |
||
| ) |
Rotates the layout around the X-axis according to an angle in degrees.
| alpha | an angle in degrees |
| subgraph | If not null, only rotates the layout of that subgraph |
| void tlp::LayoutProperty::rotateX | ( | const double & | alpha, |
| Iterator< node > * | itNodes, | ||
| Iterator< edge > * | itEdges | ||
| ) |
Rotates the layout around the X-axis of the nodes and edges provided through iterators according to an angle in degrees.
| alpha | an angle in degrees |
| itNodes | an iterator on graph nodes |
| itEdges | an iterator on graph edges |
| void tlp::LayoutProperty::rotateY | ( | const double & | alpha, |
| const Graph * | subgraph = nullptr |
||
| ) |
Rotates the layout around the Y-axis according to an angle in degrees.
| alpha | an angle in degrees |
| subgraph | If not null, only rotates the layout of that subgraph |
| void tlp::LayoutProperty::rotateY | ( | const double & | alpha, |
| Iterator< node > * | itNodes, | ||
| Iterator< edge > * | itEdges | ||
| ) |
Rotates the layout around the Y-axis of the nodes and edges provided through iterators according to an angle in degrees.
| alpha | an angle in degrees |
| itNodes | an iterator on graph nodes |
| itEdges | an iterator on graph edges |
| void tlp::LayoutProperty::rotateZ | ( | const double & | alpha, |
| const Graph * | subgraph = nullptr |
||
| ) |
Rotates the layout around the Z-axis according to an angle in degrees.
| alpha | an angle in degrees |
| subgraph | If not null, only rotates the layout of that subgraph |
| void tlp::LayoutProperty::rotateZ | ( | const double & | alpha, |
| Iterator< node > * | itNodes, | ||
| Iterator< edge > * | itEdges | ||
| ) |
Rotates the layout around the Z-axis of the nodes and edges provided through iterators according to an angle in degrees.
| alpha | an angle in degrees |
| itNodes | an iterator on graph nodes |
| itEdges | an iterator on graph edges |
| void tlp::LayoutProperty::scale | ( | const Vec3f & | scaleFactors, |
| const Graph * | subgraph = nullptr |
||
| ) |
Scales the current layout according to a vector of scale factors (sx, sy, sz).
| scaleFactors | a vector of scale factors |
| subgraph | If not null, only scales the layout of that subgraph |
| void tlp::LayoutProperty::scale | ( | const Vec3f & | scaleFactors, |
| Iterator< node > * | itNodes, | ||
| Iterator< edge > * | itEdges | ||
| ) |
Scales the layout of a set of nodes and edges provided through iterators according to a vector of scale factors (sx, sy, sz).
| scaleFactors | a vector of scale factors |
| itNodes | an iterator on graph nodes |
| itEdges | an iterator on graph edges |
|
override |
Returns the number of crossings in the layout
| void tlp::LayoutProperty::translate | ( | const Vec3f & | move, |
| const Graph * | subgraph = nullptr |
||
| ) |
Translates the current layout according to a movement vector
| move | a movement vector |
| subgraph | If not null, only translates the layout of that subgraph |
| void tlp::LayoutProperty::translate | ( | const Vec3f & | move, |
| Iterator< node > * | itNodes, | ||
| Iterator< edge > * | itEdges | ||
| ) |
Translates the layout of a set of nodes and edges provided through iterators according to a movement vector
| move | a movement vector |
| itNodes | an iterator on graph nodes |
| itEdges | an iterator on graph edges |