Tulip
5.3.0
Large graphs analysis and drawing
|
#include <LayoutProperty.h>
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 | setAllEdgeValue (tlp::StoredType< std::vector< Coord >>::ReturnedConstValue v, const Graph *graph) override |
void | setAllNodeValue (tlp::StoredType< Coord >::ReturnedConstValue v) override |
void | setAllNodeValue (tlp::StoredType< Coord >::ReturnedConstValue v, const Graph *graph) 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 |
bool | setAllEdgeStringValue (const std::string &inV, const Graph *graph) override |
virtual void | setAllEdgeValue (typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v) |
virtual void | setAllEdgeValue (typename tlp::StoredType< typename edgeType ::RealType >::ReturnedConstValue v, const Graph *graph) |
void | setAllNodeDataMemValue (const DataMem *v) override |
bool | setAllNodeStringValue (const std::string &inV) override |
bool | setAllNodeStringValue (const std::string &inV, const Graph *graph) override |
virtual void | setAllNodeValue (typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v) |
virtual void | setAllNodeValue (typename tlp::StoredType< typename nodeType ::RealType >::ReturnedConstValue v, const Graph *graph) |
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 51 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 |