Tulip
4.1.0
Better Visualization Through Research
|
#include <LayoutProperty.h>
Inherits tlp::MinMaxProperty< nodeType, edgeType >.
Public Member Functions | |
LayoutProperty (Graph *graph, std::string name="", bool updateOnEdgeReversal=true) | |
std::vector< double > | angularResolutions (const node n, const Graph *subgraph=NULL) const |
double | averageAngularResolution (const Graph *subgraph=NULL) const |
double | averageAngularResolution (const node n, const Graph *subgraph=NULL) const |
double | averageEdgeLength (const Graph *subgraph=NULL) const |
void | center (Graph *subgraph=NULL) |
void | center (const Vec3f &newCenter, Graph *subgraph=NULL) |
PropertyInterface * | clonePrototype (Graph *, const std::string &) |
void | computeEmbedding (Graph *subgraph=NULL) |
void | computeEmbedding (const node n, Graph *subgraph=NULL) |
unsigned int | crossingNumber () const |
double | edgeLength (const edge e) const |
Coord | getMax (Graph *subgraph=NULL) |
Coord | getMin (Graph *subgraph=NULL) |
std::string | getTypename () const |
void | normalize (Graph *subgraph=NULL) |
void | perfectAspectRatio () |
void | rotateX (const double &alpha, Graph *subgraph=NULL) |
void | rotateX (const double &alpha, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
void | rotateY (const double &alpha, Graph *subgraph=NULL) |
void | rotateY (const double &alpha, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
void | rotateZ (const double &alpha, Graph *subgraph=NULL) |
void | rotateZ (const double &alpha, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
void | scale (const Vec3f &scaleFactors, Graph *subgraph=NULL) |
void | scale (const Vec3f &scaleFactors, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
virtual void | setAllEdgeValue (const std::vector< Coord > &v) |
virtual void | setAllNodeValue (const Coord &v) |
virtual void | setEdgeValue (const edge, const std::vector< Coord > &v) |
virtual void | setNodeValue (const node, const Coord &v) |
void | translate (const Vec3f &move, Graph *subgraph=NULL) |
void | translate (const Vec3f &move, Iterator< node > *itNodes, Iterator< edge > *itEdges) |
Public Member Functions inherited from tlp::MinMaxProperty< nodeType, edgeType > | |
MinMaxProperty (tlp::Graph *graph, std::string name, typename nodeType::RealType NodeMin, typename nodeType::RealType NodeMax, typename edgeType::RealType EdgeMin, typename edgeType::RealType EdgeMax) | |
edgeType::RealType | getEdgeMax (Graph *graph=NULL) |
edgeType::RealType | getEdgeMin (Graph *graph=NULL) |
nodeType::RealType | getNodeMax (Graph *graph=NULL) |
nodeType::RealType | getNodeMin (Graph *graph=NULL) |
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 > | |
AbstractProperty (Graph *, std::string n="") | |
int | compare (const node n1, const node n2) const |
int | compare (const edge e1, const edge e2) const |
virtual void | computeMetaValue (node n, Graph *sg, Graph *mg) |
virtual void | computeMetaValue (edge e, tlp::Iterator< edge > *itE, Graph *mg) |
virtual bool | copy (const node destination, const node source, PropertyInterface *property, bool ifNotDefault=false) |
virtual bool | copy (const edge destination, const edge source, PropertyInterface *property, bool ifNotDefault=false) |
virtual void | copy (PropertyInterface *property) |
virtual void | erase (const node n) |
virtual void | erase (const edge e) |
virtual DataMem * | getEdgeDataMemValue (const edge e) const |
virtual DataMem * | getEdgeDefaultDataMemValue () const |
virtual std::string | getEdgeDefaultStringValue () const |
edgeType::RealType | getEdgeDefaultValue () const |
virtual std::string | getEdgeStringValue (const edge e) const |
tlp::StoredType< typename edgeType::RealType > ::ReturnedConstValue | getEdgeValue (const edge e) const |
virtual DataMem * | getNodeDataMemValue (const node n) const |
virtual DataMem * | getNodeDefaultDataMemValue () const |
virtual std::string | getNodeDefaultStringValue () const |
nodeType::RealType | getNodeDefaultValue () const |
virtual std::string | getNodeStringValue (const node n) const |
tlp::StoredType< typename nodeType::RealType > ::ReturnedConstValue | getNodeValue (const node n) const |
virtual DataMem * | getNonDefaultDataMemValue (const node n) const |
virtual DataMem * | getNonDefaultDataMemValue (const edge e) const |
virtual tlp::Iterator< edge > * | getNonDefaultValuatedEdges (const Graph *g=NULL) const |
virtual tlp::Iterator< node > * | getNonDefaultValuatedNodes (const Graph *g=NULL) const |
virtual AbstractProperty < nodeType, edgeType > & | operator= (AbstractProperty< nodeType, edgeType > &prop) |
virtual void | setAllEdgeDataMemValue (const DataMem *v) |
virtual bool | setAllEdgeStringValue (const std::string &inV) |
virtual void | setAllEdgeValue (const typename edgeType::RealType &v) |
virtual void | setAllNodeDataMemValue (const DataMem *v) |
virtual bool | setAllNodeStringValue (const std::string &inV) |
virtual void | setAllNodeValue (const typename nodeType::RealType &v) |
virtual void | setEdgeDataMemValue (const edge e, const DataMem *v) |
virtual bool | setEdgeStringValue (const edge inE, const std::string &inV) |
virtual void | setEdgeValue (const edge e, const typename edgeType::RealType &v) |
virtual void | setMetaValueCalculator (PropertyInterface::MetaValueCalculator *mvCalc) |
virtual void | setNodeDataMemValue (const node n, const DataMem *v) |
virtual bool | setNodeStringValue (const node inN, const std::string &inV) |
virtual void | setNodeValue (const node n, const typename nodeType::RealType &v) |
Public Member Functions inherited from tlp::PropertyInterface | |
void | addPropertyObserver (Observable *pObs) |
tlp::Graph * | getGraph () const |
MetaValueCalculator * | getMetaValueCalculator () |
const std::string & | getName () const |
void | removePropertyObserver (Observable *pObs) |
Public Member Functions inherited from tlp::Observable | |
void | addListener (Observable *const listener) 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 *const listener) const |
void | removeObserver (Observable *const observerver) const |
Static Public Attributes | |
static const std::string | propertyTypename |
Protected Member Functions | |
virtual void | clone_handler (AbstractProperty< tlp::PointType, tlp::LineType > &) |
Protected Member Functions inherited from tlp::MinMaxProperty< nodeType, edgeType > | |
void | computeMinMaxEdge (Graph *graph) |
template<> | |
void | computeMinMaxNode (Graph *sg) |
void | computeMinMaxNode (Graph *graph) |
Protected Member Functions inherited from tlp::AbstractProperty< nodeType, edgeType > | |
virtual void | clone_handler (AbstractProperty< nodeType, edgeType > &) |
Protected Member Functions inherited from tlp::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 () |
Protected Member Functions inherited from tlp::Observable | |
Observable (const Observable &) | |
tlp::Iterator< tlp::Observable * > * | getObservables () const |
bool | hasOnlookers () const |
void | notifyObservers () |
void | observableDeleted () |
Observable & | operator= (const Observable &) |
void | sendEvent (const Event &message) |
virtual void | treatEvents (const std::vector< Event > &events) |
Additional Inherited Members | |
Static Public Member Functions inherited from tlp::Observable | |
static Observable * | getObject (tlp::node n) |
static const tlp::VectorGraph & | getObservableGraph () |
static void | holdObservers () |
static bool | isAlive (tlp::node n) |
static unsigned int | observersHoldCounter () |
static void | unholdObservers () |
Protected Attributes inherited from tlp::MinMaxProperty< nodeType, edgeType > | |
edgeType::RealType | _edgeMax |
edgeType::RealType | _edgeMin |
nodeType::RealType | _nodeMax |
nodeType::RealType | _nodeMin |
TLP_HASH_MAP< unsigned int, bool > | edgeValueUptodate |
TLP_HASH_MAP< unsigned int, typename edgeType::RealType > | maxEdge |
TLP_HASH_MAP< unsigned int, typename nodeType::RealType > | maxNode |
TLP_HASH_MAP< unsigned int, typename edgeType::RealType > | minEdge |
TLP_HASH_MAP< unsigned int, typename nodeType::RealType > | minNode |
TLP_HASH_MAP< unsigned int, bool > | nodeValueUptodate |
A graph property that maps a tlp::Coord value to graph nodes and std::vector<tlp::Coord> for edges.
Definition at line 48 of file LayoutProperty.h.
std::vector<double> tlp::LayoutProperty::angularResolutions | ( | const node | n, |
const Graph * | subgraph = NULL |
||
) | 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 sub-graph |
double tlp::LayoutProperty::averageAngularResolution | ( | const Graph * | subgraph = NULL | ) | 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 sub-graph |
double tlp::LayoutProperty::averageAngularResolution | ( | const node | n, |
const Graph * | subgraph = NULL |
||
) | 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 sub-graph |
double tlp::LayoutProperty::averageEdgeLength | ( | const Graph * | subgraph = NULL | ) | 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 sub-graph |
void tlp::LayoutProperty::center | ( | Graph * | subgraph = NULL | ) |
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 sub-graph |
void tlp::LayoutProperty::center | ( | const Vec3f & | newCenter, |
Graph * | subgraph = NULL |
||
) |
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 sub-graph |
|
virtual |
Creates a property of the same type (e.g. tlp::DoubleProperty) in the graph. The new property will not contain a copy of this property's values.
graph | The Graph in which to create the new property. |
name | The name of the new property. |
Implements tlp::PropertyInterface.
void tlp::LayoutProperty::computeEmbedding | ( | Graph * | subgraph = NULL | ) |
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 sub-graph |
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 sub-graph |
unsigned int tlp::LayoutProperty::crossingNumber | ( | ) | const |
Returns the number of crossings in the layout
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 | ( | Graph * | subgraph = NULL | ) |
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 sub-graph layout |
Coord tlp::LayoutProperty::getMin | ( | Graph * | subgraph = NULL | ) |
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 sub-graph layout |
|
inlinevirtual |
Gets a string describing the type of the property (e.g. "graph", "double", "layout", "string", "integer", "color", "size").
Implements tlp::PropertyInterface.
Definition at line 55 of file LayoutProperty.h.
void tlp::LayoutProperty::normalize | ( | Graph * | subgraph = NULL | ) |
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 sub-graph |
void tlp::LayoutProperty::perfectAspectRatio | ( | ) |
Scales the layout in order to approach an aspect ratio (width / height) of 1.0 .
void tlp::LayoutProperty::rotateX | ( | const double & | alpha, |
Graph * | subgraph = NULL |
||
) |
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 sub-graph |
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, |
Graph * | subgraph = NULL |
||
) |
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 sub-graph |
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, |
Graph * | subgraph = NULL |
||
) |
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 sub-graph |
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, |
Graph * | subgraph = NULL |
||
) |
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 sub-graph |
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 |
void tlp::LayoutProperty::translate | ( | const Vec3f & | move, |
Graph * | subgraph = NULL |
||
) |
Translates the current layout according to a movement vector
move | a movement vector |
subgraph | If not null, only translates the layout of that sub-graph |
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 |