tlp::Graph(3) Interface for a graph.

SYNOPSIS


#include <Graph.h>

Inherits tlp::Observable, and tlp::ObservableGraph.

Public Member Functions


Graph ()

virtual ~Graph ()

virtual void clear ()=0

virtual Graph * addSubGraph (BooleanProperty *selection=0)=0

virtual void delSubGraph (Graph *)=0

virtual void delAllSubGraphs (Graph *)=0

virtual Graph * getSuperGraph () const =0

Graph * getFather () const

virtual Graph * getRoot () const =0

virtual void setSuperGraph (Graph *)=0

void setFather (Graph *sg)

virtual Iterator< Graph * > * getSubGraphs () const =0

virtual node addNode ()=0

virtual void addNode (const node)=0

virtual void delNode (const node)=0

virtual void delAllNode (const node)=0

virtual edge addEdge (const node, const node)=0

virtual void addEdge (const edge)=0

virtual void delEdge (const edge)=0

virtual void delAllEdge (const edge)=0

virtual void setEdgeOrder (const node, const std::vector< edge > &)=0

virtual void swapEdgeOrder (const node, const edge, const edge)=0

virtual void reverse (const edge)=0

virtual node getOneNode () const =0
Return an existing node of the graph.
virtual Iterator< node > * getNodes () const =0
Return an iterator on the nodes.
virtual node getInNode (const node, unsigned int) const =0
Return the ith successor of a node.
virtual Iterator< node > * getInNodes (const node) const =0
Return an iterator on the predecessors of a node.
virtual node getOutNode (const node, unsigned int) const =0
Return the ith predecessor of a node.
virtual Iterator< node > * getOutNodes (const node) const =0
Return an iterator on the successors of a node.
virtual Iterator< node > * getInOutNodes (const node) const =0
Return an iterator on the neighbours of a node.
virtual Graph * getNodeMetaInfo (const node) const =0
Returns the underlying graph of a meta node.
virtual Iterator< edge > * getEdges () const =0
Return an iterator on the edges.
virtual edge getOneEdge () const =0
Return an existing edge of the graph.
virtual Iterator< edge > * getOutEdges (const node) const =0
Return an iterator on the out-edges of a node.
virtual Iterator< edge > * getInOutEdges (const node) const =0
Return an iterator on the in-out-edges of a node.
virtual Iterator< edge > * getInEdges (const node) const =0
Return an iterator on the in--edges of a node.
virtual Iterator< edge > * getEdgeMetaInfo (const edge) const =0
Return an iterator on the underlying edges of a meta edge.
int getId () const
Return the graph's id, this id is unique.
virtual unsigned int numberOfNodes () const =0
Return the number of nodes in the graph.
virtual unsigned int numberOfEdges () const =0
Return the number of edges in the graph.
virtual unsigned int deg (const node) const =0
Return degree of a node.
virtual unsigned int indeg (const node) const =0
Return indegree of a node.
virtual unsigned int outdeg (const node) const =0
Return outdegree of a node.
virtual node source (const edge) const =0
Return the source of the edge.
virtual node target (const edge) const =0
Return the target of the edge.
virtual node opposite (const edge, const node) const =0
Return the opposite node for s in the edge e.
virtual bool isElement (const node) const =0
Return true if the node is element of the graph.
virtual bool isMetaNode (const node) const =0
Return true if the node is a meta node.
virtual bool isElement (const edge) const =0
Return true if the edge is element of the graph.
virtual bool isMetaEdge (const edge) const =0
Return true if the edge is a meta edge.
virtual edge existEdge (const node, const node) const =0

virtual DataSet & getAttributes ()=0
Return graph attributes.
template<typename ATTRIBUTETYPE > bool getAttribute (const std::string &name, ATTRIBUTETYPE &value)

template<typename ATTRIBUTETYPE > ATTRIBUTETYPE getAttribute (const std::string &name)
deprecated version of the previous method
template<typename ATTRIBUTETYPE > void setAttribute (const std::string &name, const ATTRIBUTETYPE &value)
Set an attribute of the graph.
void removeAttribute (const std::string &name)
remove an existing attribute
bool attributeExist (const std::string &name)
return if the attribute exist
virtual void addLocalProperty (const std::string &name, PropertyInterface *prop)=0

template<typename Proxytype > Proxytype * getLocalProperty (const std::string &name)

template<typename Proxytype > bool computeProperty (const std::string &algorithm, Proxytype result, std::string &msg, PluginProgress *progress=0, DataSet *data=0)

template<typename Proxytype > Proxytype * getProperty (const std::string &name)

virtual PropertyInterface * getProperty (const std::string &name)=0

virtual bool existProperty (const std::string &name)=0

virtual bool existLocalProperty (const std::string &name)=0

virtual void delLocalProperty (const std::string &name)=0

virtual Iterator< std::string > * getLocalProperties ()=0

virtual Iterator< std::string > * getInheritedProperties ()=0

virtual Iterator< std::string > * getProperties ()=0

virtual void push ()=0

virtual void pop ()=0

virtual void unpop ()=0

virtual bool canPop ()=0

virtual bool canUnpop ()=0

Protected Member Functions


virtual node restoreNode (node)=0

virtual edge restoreEdge (edge, node source, node target)=0

virtual void removeNode (const node)=0

virtual void removeEdge (const edge, const node=node())=0

virtual void removeSubGraph (Graph *)=0

virtual void clearSubGraphs ()=0

virtual void restoreSubGraph (Graph *, bool restoreSubGraphs=false)=0

virtual void setSubGraphToKeep (Graph *)=0

Friends


class GraphUpdatesRecorder

Detailed Description

Interface for a graph.

The class Graph is the interface of a Graph in the Tulip Library.

Member Function Documentation

virtual PropertyInterface* tlp::Graph::getProperty (const std::string & name) [pure virtual]Returns a pointer on an existing property. If the property does not exist return NULL. In DEBUG the existence of a property is checked using an assertion.

Friends And Related Function Documentation

friend class GraphUpdatesRecorder [friend]

Author

Generated automatically by Doxygen for Tulip Graph Library from the source code.