C++ main module for gpm Package  1.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
GPM_Graph Class Reference

This class describes a graph which is a list of nodes & ports. More...

#include <GPM_Graph.h>

Inheritance diagram for GPM_Graph:
Inheritance graph
[legend]
Collaboration diagram for GPM_Graph:
Collaboration graph
[legend]

Public Member Functions

const tGraphgetGraphImplement () const
 get the graph implementation More...
 
tGraphgetGraphImplement ()
 get the graph implementation More...
 
virtual SP::GPM_GraphElement newInstance (const tString &className) const
 create a new instance of token More...
 
virtual SP::GPM_Node newNode () const
 create a node More...
 
virtual void copy (const GPM_Graph &graph)
 void copy More...
 
tVertexIID addVertex (SP::GPM_Vertex vertex)
 add vertex vertex with id More...
 
tVertexIID addNode ()
 add vertex More...
 
tVertexIID addNode (const int &id)
 add vertex with id More...
 
void removeVertex (const tVertexIID &iid)
 remove vertex with internal id: iid WARNING: the vertexIID of all the nodes may changed ! More...
 
int getVerticesNumber () const
 the the vertices numbers More...
 
SP::GPM_Vertex getVertex (const tVertexIID &iid) const
 get vertex with internal id More...
 
int getVertexId (const tVertexIID &iid) const
 get the id of vertex with internal id More...
 
tVertexIID getVertexIID (const int &id) const
 get the internal id of vertex with id (for convenience use) More...
 
void getVertices (vector< tVertexIID > &vertexIIDs) const
 get the internal id of all vertices More...
 
void getVertices (SV::GPM_Vertex &vertexIIDs) const
 get the internal id of all vertices More...
 
void getConnectedVertices (const tVertexIID &iid, vector< tVertexIID > &vertexIIDs) const
 get the internal id vertices connected to vertex with internal iid More...
 
int getDegree (const tVertexIID &id) const
 get the edges number connected to vertex with id More...
 
virtual SP::GPM_Edge newEdge () const
 get the edge internal id More...
 
virtual SP::GPM_Edge newEdge (const int &id) const
 create a node More...
 
virtual SP::GPM_Edge newEdge (SP::GPM_Vertex source, SP::GPM_Vertex target) const
 create a node More...
 
tBoolean addEdgeFromIds (const int &source, const int &target, tEdgeIID &iid)
 add ad edge from vertex ids (convenience method) More...
 
tBoolean addEdgeFromIds (const int &source, const int &target)
 add vertex from vertex ids (convenience method) More...
 
virtual tBoolean addEdge (const tVertexIID &from, const tVertexIID &to, SP::GPM_Edge edge, tEdgeIID &iid)
 add an edge with name label between vertices from & to More...
 
virtual SP::GPM_Edge addEdge (const tVertexIID &from, const tVertexIID &to)
 add an edge with name label between vertices from & to More...
 
virtual tBoolean addEdge (const tVertexIID &from, const tVertexIID &to, tEdgeIID &eiid)
 add an edge with name label between vertices from & to More...
 
tBoolean removeEdge (const tEdgeIID &edgeId)
 remove edge with id WARNING: the edgeIID of all the edges may changed ! More...
 
tBoolean removeEdges (const tVertexIID &vertexIID)
 remove all edges from vertex with internal id WARNING: the edgeIID of all the edges may changed ! More...
 
tBoolean removeEdges (const tVertexIID &form, const tVertexIID &to)
 remove all edges from vertices from & to WARNING: the edgeIID of all the edges may changed ! More...
 
int getEdgesNumber () const
 get the edges number More...
 
void getEdges (vector< tEdgeIID > &ids) const
 get the index of edges of the graph More...
 
void getEdges (SV::GPM_Edge &edges) const
 get the index of edges of the graph More...
 
void getEdges (const tVertexIID &v, vector< tEdgeIID > &edges) const
 get the edges from vertex v More...
 
tBoolean getEdge (const tVertexIID &e1, const tVertexIID &e2, tEdgeIID &iid) const
 get edge between vertices e1 & e2 More...
 
tBoolean getEdgeFromIds (const int &e1, const int &e2, tEdgeIID &iid) const
 get edge between vertices e1 & e2 (convenience method) More...
 
tBoolean getEdgeFromIds (const int &e1, const int &e2) const
 get edge between vertices e1 & e2 (convenience method) More...
 
SP::GPM_Edge getEdge (const tEdgeIID &id)
 get edge with id for writing More...
 
SPC::GPM_Edge getEdge (const tEdgeIID &id) const
 get edge with id for reading More...
 
const GPM_EdgegetEdge (const tVertexIID &e1, const tVertexIID &e2) const
 get edge between vertices e1 & e2 More...
 
GPM_EdgegetEdge (const tVertexIID &e1, const tVertexIID &e2)
 get edge between vertices e1 & e2 More...
 
void getEdgeVertices (const tEdgeIID &id, tVertexIID &source, tVertexIID &target) const
 get vertices of edges More...
 
int getEdgeId (const tEdgeIID &iid) const
 get id of edge with internal id iid More...
 
tBoolean getEdgeIID (const int &id, tEdgeIID &iid) const
 get the internal id of edge with id (for convenience use) More...
 
void clear ()
 clear the graph More...
 
void close ()
 close the graph More...
 
tBoolean merge (const tVertexIID &from, const tVertexIID &to, CORE_Out &io)
 merge two vertex More...
 
void addSubGraph (const GPM_Graph &graph, map< tVertexIID, tVertexIID > &connections)
 add sub graph More...
 
void executeTriggerActions (CORE_Out &io)
 execute trigger actions More...
 
tBoolean saveToFile (const tString &fileName) const
 save graph to txt file More...
 
tBoolean loadFromFile (const tString &fileName, CORE_Out &io)
 load graph from txt file More...
 
virtual tBoolean exportToCurveFile (const tString &fileName, const tString &title, const tString &XLabel, const tString &YLabel) const
 export to a curve file More...
 
void printGroupId (CORE_Out &io) const
 print the group id More...
 
void updateGroupId ()
 update the group Id of all elements of graph More...
 
virtual tBoolean isMappingValid (const SV::GPM_Vertex &smallGraphVertices, const vector< tVertexIID > &mapping, CORE_Out &io) const
 return true if the mapping is valid More...
 
tBoolean isIsomorph (const GPM_Graph &g, vector< tVertexIID > &verticesMap, CORE_Out &io) const
 return true if graph is isomorph More...
 
tBoolean isIsomorph (SPC::GPM_Graph g, vector< tVertexIID > &verticesMap, CORE_Out &io) const
 return true if graph is isomorph More...
 
tBoolean isIsomorph (SPC::GPM_Graph g, CORE_Out &io) const
 return true if graph is isomorph More...
 
tBoolean isIsomorph (const GPM_Graph &g, CORE_Out &io) const
 return true if graph is isomorph More...
 
void getPatterns (const GPM_Graph &pattern, const tBoolean &isUpToAutomorphism, const tFlag &upToAutomorphismType, vector< vector< tVertexIID > > &homomorphisms, CORE_Out &io) const
 get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller More...
 
void getPatterns (SPC::GPM_Graph pattern, const tBoolean &isUpToAutomorphism, const tFlag &upToAutomorphismType, vector< vector< tVertexIID > > &homomorphisms, CORE_Out &io) const
 get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller More...
 
void getPatterns (const GPM_Graph &pattern, vector< vector< tVertexIID > > &homomorphisms, CORE_Out &io) const
 get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller More...
 
void getPatterns (SPC::GPM_Graph pattern, vector< vector< tVertexIID > > &homomorphisms, CORE_Out &io) const
 get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller More...
 
virtual tString toString () const
 set the graph to string More...
 
int generateVertexId ()
 generate a vertex id More...
 
int generateEdgeId ()
 generate a edge id More...
 
void getSharedPointer (SP::CORE_Object &p)
 get the shared pointer of this class into p More...
 
void getSharedPointer (SPC::CORE_Object &p) const
 get the shared pointer of this class into p More...
 
tString getClassName () const
 return the class name of the object More...
 
tString getIdentityString () const
 return the identity string of the object of the form className_at_address More...
 
tString getPointerAddress () const
 return the identity string of the object More...
 
template<class T >
tBoolean isInstanceOf () const
 return true if the object is an instance of T More...
 
virtual void print ()
 print the class More...
 
virtual ostream & print (ostream &out) const
 print the class More...
 
virtual void print (const tString &message)
 print the class More...
 
virtual void print (const tInteger &str)
 print More...
 
virtual void print (const tRelativeInteger &str)
 print More...
 
virtual void print (const tReal &str)
 print More...
 
virtual void print (const int &str)
 print More...
 

Static Public Member Functions

static SP::GPM_Graph New ()
 create a graphs More...
 
static void turnBodyTextToLine (tString &bdy)
 
static void turnBodyLineToText (tString &bdy)
 
static tString getClassName (const tString &identityString)
 return the class name of the object using only the identity string More...
 
template<class T >
static tString getTypeName ()
 get type name More...
 
static tBoolean is64Architecture ()
 return true if the machine is a 64 bits machine More...
 
static tBoolean is32Architecture ()
 return true if the machine is a 32 bits machine More...
 
static tString pointer2String (const void *obj)
 return the string represantation of a pointer More...
 
static void setOutput (ostream &out)
 set output More...
 
static ostream & getOutput ()
 get output More...
 
static void printObjectsInMemory ()
 print object in memory More...
 
static ostream & print (ostream &out, const tString &message)
 print the class More...
 
static void outputPrint (const tString &message)
 

Static Public Attributes

static const tVertexIID NULL_VERTEX =boost::graph_traits<tGraph>::null_vertex()
 
static const tFlag UP_TO_AUTOMORPHISM_ALL =0
 
static const tFlag UP_TO_AUTOMORPHISM_NODE =1
 
static const tFlag UP_TO_AUTOMORPHISM_PORT =2
 
static tBoolean mIsMemoryTesting =false
 indicator to store all classes created and deleted only for debuging version More...
 

Protected Member Functions

 GPM_Graph (void)
 create an object More...
 
virtual ~GPM_Graph (void)
 destroy an object. More...
 
tBoolean addEdge_ (const tVertexIID &from, const tVertexIID &to, SP::GPM_Edge edge, tEdgeIID &iid)
 add edge without verifications if edge or vertices exists More...
 
void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 
virtual void setType (tString type)
 set the type of the object More...
 
virtual void toDoAfterThisSetting ()
 method called after setThis() method this method can oly be called once. More...
 

Detailed Description

This class describes a graph which is a list of nodes & ports.

Author
Stéphane Despréaux
Version
1.0

Constructor & Destructor Documentation

GPM_Graph::GPM_Graph ( void  )
protected

create an object

References CORE_Object::setType().

Referenced by New().

Here is the call graph for this function:

Here is the caller graph for this function:

GPM_Graph::~GPM_Graph ( void  )
protectedvirtual

destroy an object.

References clear().

Here is the call graph for this function:

Member Function Documentation

tBoolean GPM_Graph::addEdge ( const tVertexIID from,
const tVertexIID to,
SP::GPM_Edge  edge,
tEdgeIID iid 
)
virtual

add an edge with name label between vertices from & to

References addEdge_(), EdgeProperties::edge, generateEdgeId(), getVertex(), null, and tBoolean.

Referenced by addEdge(), addEdgeFromIds(), GPMG_DrawPanel::addEdgeToNode(), GPM_PortGraph::addPortEdgeFromIds(), addSubGraph(), copy(), GPM_PortGraph::generateQuadGraph(), and merge().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual SP::GPM_Edge GPM_Graph::addEdge ( const tVertexIID from,
const tVertexIID to 
)
inlinevirtual

add an edge with name label between vertices from & to

References addEdge(), generateEdgeId(), and newEdge().

Here is the call graph for this function:

virtual tBoolean GPM_Graph::addEdge ( const tVertexIID from,
const tVertexIID to,
tEdgeIID eiid 
)
inlinevirtual

add an edge with name label between vertices from & to

References addEdge(), generateEdgeId(), newEdge(), and tBoolean.

Here is the call graph for this function:

tBoolean GPM_Graph::addEdge_ ( const tVertexIID from,
const tVertexIID to,
SP::GPM_Edge  edge,
tEdgeIID iid 
)
protected

add edge without verifications if edge or vertices exists

References EdgeProperties::edge.

Referenced by addEdge().

Here is the caller graph for this function:

tBoolean GPM_Graph::addEdgeFromIds ( const int &  source,
const int &  target,
tEdgeIID iid 
)
inline

add ad edge from vertex ids (convenience method)

References addEdge(), addNode(), generateEdgeId(), getVertexIID(), and newEdge().

Referenced by GPMG_DrawPanel::addEdge(), and addEdgeFromIds().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean GPM_Graph::addEdgeFromIds ( const int &  source,
const int &  target 
)
inline

add vertex from vertex ids (convenience method)

References addEdgeFromIds().

Here is the call graph for this function:

tVertexIID GPM_Graph::addNode ( )
inline

add vertex

Parameters
OUTiid: return the internal id of vertex

References addVertex(), generateVertexId(), and newNode().

Referenced by addEdgeFromIds(), GPMG_DrawPanel::addNode(), GPM_PortGraph::addPortEdgeFromIds(), copy(), and GPM_PortGraph::generateQuadGraph().

Here is the call graph for this function:

Here is the caller graph for this function:

tVertexIID GPM_Graph::addNode ( const int &  id)
inline

add vertex with id

Parameters
INid: id of the vertex
OUTiid: return the internal id of vertex

References addVertex(), and newNode().

Here is the call graph for this function:

void GPM_Graph::addSubGraph ( const GPM_Graph graph,
map< tVertexIID, tVertexIID > &  connections 
)

add sub graph

Parameters
graph:addinggraph
connectionsis the association between vertex of the sub graph to the corresponding vertex in graph This

References addEdge(), addVertex(), GPM_Vertex::copy(), GPM_GraphElement::copy(), generateEdgeId(), generateVertexId(), getEdge(), getEdges(), getVertex(), and getVertices().

Here is the call graph for this function:

tVertexIID GPM_Graph::addVertex ( SP::GPM_Vertex  vertex)

add vertex vertex with id

Parameters
INvertex: vertex to add
OUTiid: return the internal id of vertex

References generateVertexId(), VertexProperties::groupId, and VertexProperties::vertex.

Referenced by addNode(), GPM_PortGraph::addPort(), GPM_PortGraph::addPortEdgeFromIds(), addSubGraph(), copy(), and GPM_PortGraph::generateQuadGraph().

Here is the call graph for this function:

Here is the caller graph for this function:

void GPM_Graph::clear ( )

clear the graph

Referenced by copy(), GPM_PortGraph::generateQuadGraph(), and ~GPM_Graph().

Here is the caller graph for this function:

void GPM_Graph::close ( )

close the graph

void GPM_Graph::copy ( const GPM_Graph graph)
virtual
void GPM_Graph::executeTriggerActions ( CORE_Out io)

execute trigger actions

References CORE_Out::DEBUG_MSG, CORE_Out::println(), removeEdge(), removeVertex(), and CORE_Integer::toString().

Here is the call graph for this function:

tBoolean GPM_Graph::exportToCurveFile ( const tString fileName,
const tString title,
const tString XLabel,
const tString YLabel 
) const
virtual

export to a curve file

Reimplemented in GPM_PortGraph.

References GPM_Vertex::getCoordinates(), getEdges(), and null.

Here is the call graph for this function:

int GPM_Graph::generateEdgeId ( )

generate a edge id

Referenced by addEdge(), addEdgeFromIds(), and addSubGraph().

Here is the caller graph for this function:

int GPM_Graph::generateVertexId ( )

generate a vertex id

Referenced by addNode(), addSubGraph(), and addVertex().

Here is the caller graph for this function:

static tString CORE_Object::getClassName ( const tString identityString)
inlinestaticinherited

return the class name of the object using only the identity string

Referenced by CORE_Object::printObjectsInMemory().

Here is the caller graph for this function:

tString CORE_Object::getClassName ( ) const
inherited

return the class name of the object

Returns
the class name of the object

References tString.

Referenced by CORE_Object::getIdentityString().

Here is the caller graph for this function:

void GPM_Graph::getConnectedVertices ( const tVertexIID iid,
vector< tVertexIID > &  vertexIIDs 
) const

get the internal id vertices connected to vertex with internal iid

References NULL_VERTEX.

Referenced by GPM_PortGraph::findSegments(), GPM_PortGraph::getConnectedNodesToPort(), and GPMG_DrawPanel::getPopupMenu().

Here is the caller graph for this function:

int GPM_Graph::getDegree ( const tVertexIID id) const

get the edges number connected to vertex with id

References NULL_VERTEX.

tBoolean GPM_Graph::getEdge ( const tVertexIID e1,
const tVertexIID e2,
tEdgeIID iid 
) const
SP::GPM_Edge GPM_Graph::getEdge ( const tEdgeIID id)

get edge with id for writing

SPC::GPM_Edge GPM_Graph::getEdge ( const tEdgeIID id) const

get edge with id for reading

const GPM_Edge * GPM_Graph::getEdge ( const tVertexIID e1,
const tVertexIID e2 
) const

get edge between vertices e1 & e2

References getEdge(), and null.

Here is the call graph for this function:

GPM_Edge * GPM_Graph::getEdge ( const tVertexIID e1,
const tVertexIID e2 
)

get edge between vertices e1 & e2

References getEdge(), and null.

Here is the call graph for this function:

tBoolean GPM_Graph::getEdgeFromIds ( const int &  e1,
const int &  e2,
tEdgeIID iid 
) const
inline

get edge between vertices e1 & e2 (convenience method)

References getEdge(), and getVertexIID().

Here is the call graph for this function:

tBoolean GPM_Graph::getEdgeFromIds ( const int &  e1,
const int &  e2 
) const
inline

get edge between vertices e1 & e2 (convenience method)

References getEdge(), and getVertexIID().

Here is the call graph for this function:

int GPM_Graph::getEdgeId ( const tEdgeIID iid) const

get id of edge with internal id iid

References getEdge(), and null.

Here is the call graph for this function:

tBoolean GPM_Graph::getEdgeIID ( const int &  id,
tEdgeIID iid 
) const

get the internal id of edge with id (for convenience use)

Referenced by GPMG_DrawPanel::deleteEdge(), GPMG_RuleGraphDrawPanel::getPopupMenu(), and GPM_ModelFunction::readRulesFromFile().

Here is the caller graph for this function:

void GPM_Graph::getEdges ( vector< tEdgeIID > &  ids) const
void GPM_Graph::getEdges ( SV::GPM_Edge &  edges) const

get the index of edges of the graph

void GPM_Graph::getEdges ( const tVertexIID v,
vector< tEdgeIID > &  edges 
) const

get the edges from vertex v

References NULL_VERTEX.

int GPM_Graph::getEdgesNumber ( ) const

get the edges number

void GPM_Graph::getEdgeVertices ( const tEdgeIID id,
tVertexIID source,
tVertexIID target 
) const

get vertices of edges

Referenced by GPM_PortGraph::findSegments(), GPM_ModelFunction::readRulesFromFile(), and toString().

Here is the caller graph for this function:

const tGraph& GPM_Graph::getGraphImplement ( ) const
inline

get the graph implementation

Referenced by getPatterns(), GPM_PortGraph::isEdgeValid(), isIsomorph(), GPM_PortGraph::isValid(), and GPM_PrintCallback::operator()().

Here is the caller graph for this function:

tGraph& GPM_Graph::getGraphImplement ( )
inline

get the graph implementation

tString CORE_Object::getIdentityString ( ) const
inlineinherited

return the identity string of the object of the form className_at_address

Returns
the identity string of the object

References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.

Referenced by CORE_Object::toString().

Here is the call graph for this function:

Here is the caller graph for this function:

static ostream& CORE_Object::getOutput ( )
inlinestaticinherited

get output

void GPM_Graph::getPatterns ( const GPM_Graph pattern,
const tBoolean isUpToAutomorphism,
const tFlag upToAutomorphismType,
vector< vector< tVertexIID > > &  homomorphisms,
CORE_Out io 
) const

get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller

References getGraphImplement(), and VertexProperties::groupId.

Referenced by GPM_PortGraph::findMesh(), and getPatterns().

Here is the call graph for this function:

Here is the caller graph for this function:

void GPM_Graph::getPatterns ( SPC::GPM_Graph  pattern,
const tBoolean isUpToAutomorphism,
const tFlag upToAutomorphismType,
vector< vector< tVertexIID > > &  homomorphisms,
CORE_Out io 
) const
inline

get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller

References getPatterns(), and null.

Here is the call graph for this function:

void GPM_Graph::getPatterns ( const GPM_Graph pattern,
vector< vector< tVertexIID > > &  homomorphisms,
CORE_Out io 
) const
inline

get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller

References getPatterns().

Here is the call graph for this function:

void GPM_Graph::getPatterns ( SPC::GPM_Graph  pattern,
vector< vector< tVertexIID > > &  homomorphisms,
CORE_Out io 
) const
inline

get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller

References getPatterns().

Here is the call graph for this function:

tString CORE_Object::getPointerAddress ( ) const
inlineinherited

return the identity string of the object

Returns
the identity string of the object

References CORE_Object::pointer2String().

Here is the call graph for this function:

void CORE_Object::getSharedPointer ( SP::CORE_Object &  p)
inlineinherited
void CORE_Object::getSharedPointer ( SPC::CORE_Object &  p) const
inlineinherited

get the shared pointer of this class into p

template<class T >
static tString CORE_Object::getTypeName ( )
inlinestaticinherited

get type name

References tString.

SP::GPM_Vertex GPM_Graph::getVertex ( const tVertexIID iid) const
int GPM_Graph::getVertexId ( const tVertexIID iid) const

get the id of vertex with internal id

References NULL_VERTEX.

Referenced by GPM_ModelFunction::readRulesFromFile().

Here is the caller graph for this function:

tVertexIID GPM_Graph::getVertexIID ( const int &  id) const
void GPM_Graph::getVertices ( vector< tVertexIID > &  vertexIIDs) const
void GPM_Graph::getVertices ( SV::GPM_Vertex &  vertexIIDs) const

get the internal id of all vertices

int GPM_Graph::getVerticesNumber ( ) const

the the vertices numbers

Referenced by isIsomorph(), and GPM_PrintCallback::operator()().

Here is the caller graph for this function:

static tBoolean CORE_Object::is32Architecture ( )
inlinestaticinherited

return true if the machine is a 32 bits machine

References CORE_Object::is64Architecture().

Here is the call graph for this function:

tBoolean CORE_Object::is64Architecture ( )
staticinherited

return true if the machine is a 64 bits machine

Referenced by CORE_Object::is32Architecture().

Here is the caller graph for this function:

template<class T >
tBoolean CORE_Object::isInstanceOf ( ) const
inlineinherited

return true if the object is an instance of T

References null.

Referenced by MATH_BinaryOperator::insertInTree(), MATH_UnaryOperator::insertInTree(), and MATH_EndBlock::insertInTree().

Here is the caller graph for this function:

tBoolean GPM_Graph::isIsomorph ( const GPM_Graph g,
vector< tVertexIID > &  verticesMap,
CORE_Out io 
) const

return true if graph is isomorph

Parameters
g: graph to test the isomorphism whith g
verticesMap: return the mapping from this to g
iooutput device

References getGraphImplement(), getVerticesNumber(), vertexInvarientFunction::New(), and tBoolean.

Referenced by isIsomorph().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean GPM_Graph::isIsomorph ( SPC::GPM_Graph  g,
vector< tVertexIID > &  verticesMap,
CORE_Out io 
) const
inline

return true if graph is isomorph

Parameters
g: graph to test the isomorphism whith g
verticesMap: return the mapping from this to g
iooutput device

References isIsomorph(), and null.

Here is the call graph for this function:

tBoolean GPM_Graph::isIsomorph ( SPC::GPM_Graph  g,
CORE_Out io 
) const
inline

return true if graph is isomorph

Parameters
g: graph to test the isomorphism whith g
iooutput device

References isIsomorph().

Here is the call graph for this function:

tBoolean GPM_Graph::isIsomorph ( const GPM_Graph g,
CORE_Out io 
) const
inline

return true if graph is isomorph

Parameters
g: graph to test the isomorphism whith g
iooutput device

References isIsomorph().

Here is the call graph for this function:

virtual tBoolean GPM_Graph::isMappingValid ( const SV::GPM_Vertex &  smallGraphVertices,
const vector< tVertexIID > &  mapping,
CORE_Out io 
) const
inlinevirtual

return true if the mapping is valid

Reimplemented in GPM_PortGraph.

Referenced by GPM_PortGraph::isMappingValid(), and GPM_PrintCallback::operator()().

Here is the caller graph for this function:

tBoolean GPM_Graph::loadFromFile ( const tString fileName,
CORE_Out io 
)

load graph from txt file

References tBoolean, and tString.

Referenced by GPM_PortGraph::loadGraph().

Here is the caller graph for this function:

tBoolean GPM_Graph::merge ( const tVertexIID from,
const tVertexIID to,
CORE_Out io 
)

merge two vertex

Parameters
fromthe vertex to merge: it will be removed
tothe new vertex

References addEdge(), CORE_Out::ERROR_MSG, getEdge(), getVertex(), CORE_Out::println(), removeVertex(), tBoolean, and CORE_Integer::toString().

Here is the call graph for this function:

static SP::GPM_Graph GPM_Graph::New ( )
inlinestatic

create a graphs

References GPM_Graph().

Referenced by GPM_ClassFactory::NewInstance().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual SP::GPM_Edge GPM_Graph::newEdge ( ) const
inlinevirtual

get the edge internal id

Returns
false if the edge with id does not exists

update the edge internal ids after removing

create an edge

Reimplemented in GPM_ModelGraph.

References GPM_Edge::New().

Referenced by GPMG_RuleGraphDrawPanel::addEdge(), addEdge(), addEdgeFromIds(), GPM_PatternFunction::addPTEdgeToAdd(), GPM_PortGraph::generateQuadGraph(), and newInstance().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual SP::GPM_Edge GPM_Graph::newEdge ( const int &  id) const
inlinevirtual

create a node

Reimplemented in GPM_ModelGraph.

References GPM_Edge::New().

Here is the call graph for this function:

virtual SP::GPM_Edge GPM_Graph::newEdge ( SP::GPM_Vertex  source,
SP::GPM_Vertex  target 
) const
inlinevirtual

create a node

Reimplemented in GPM_ModelGraph.

References GPM_Edge::New().

Here is the call graph for this function:

SP::GPM_GraphElement GPM_Graph::newInstance ( const tString className) const
virtual

create a new instance of token

Reimplemented in GPM_PortGraph.

References newEdge(), newNode(), CORE_String::toLower(), and tString.

Referenced by GPM_PortGraph::newInstance().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual SP::GPM_Node GPM_Graph::newNode ( ) const
inlinevirtual

create a node

Reimplemented in GPM_ModelGraph.

References GPM_Node::New().

Referenced by addNode(), and newInstance().

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_Object::outputPrint ( const tString message)
staticinherited

print on output

References null, and CORE_Object::print().

Referenced by CORE_Exception::CORE_Exception().

Here is the call graph for this function:

Here is the caller graph for this function:

tString CORE_Object::pointer2String ( const void *  obj)
staticinherited

return the string represantation of a pointer

References tString.

Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().

Here is the caller graph for this function:

virtual void CORE_Object::print ( )
inlinevirtualinherited

print the class

References CORE_Object::toString().

Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual ostream& CORE_Object::print ( ostream &  out) const
inlinevirtualinherited

print the class

References CORE_Object::print(), and CORE_Object::toString().

Here is the call graph for this function:

void CORE_Object::print ( const tString message)
virtualinherited

print the class

Reimplemented in CORE_Out.

References null, and CORE_Object::print().

Here is the call graph for this function:

void CORE_Object::print ( const tInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tRelativeInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tReal str)
virtualinherited

print

References null.

void CORE_Object::print ( const int &  str)
virtualinherited

print

References null.

static ostream& CORE_Object::print ( ostream &  out,
const tString message 
)
inlinestaticinherited

print the class

void GPM_Graph::printGroupId ( CORE_Out io) const

print the group id

References CORE_Out::DEBUG_MSG, VertexProperties::groupId, and CORE_Out::println().

Here is the call graph for this function:

void CORE_Object::printObjectsInMemory ( )
staticinherited

print object in memory

References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean GPM_Graph::removeEdge ( const tEdgeIID edgeId)

remove edge with id WARNING: the edgeIID of all the edges may changed !

Referenced by GPMG_DrawPanel::deleteEdge(), and executeTriggerActions().

Here is the caller graph for this function:

tBoolean GPM_Graph::removeEdges ( const tVertexIID vertexIID)

remove all edges from vertex with internal id WARNING: the edgeIID of all the edges may changed !

tBoolean GPM_Graph::removeEdges ( const tVertexIID form,
const tVertexIID to 
)

remove all edges from vertices from & to WARNING: the edgeIID of all the edges may changed !

References NULL_VERTEX.

void GPM_Graph::removeVertex ( const tVertexIID iid)

remove vertex with internal id: iid WARNING: the vertexIID of all the nodes may changed !

References NULL_VERTEX.

Referenced by GPMG_DrawPanel::deleteVertex(), executeTriggerActions(), and merge().

Here is the caller graph for this function:

tBoolean GPM_Graph::saveToFile ( const tString fileName) const

save graph to txt file

Referenced by GPMG_Project::saveData(), and GPM_PortGraph::saveGraph().

Here is the caller graph for this function:

static void CORE_Object::setOutput ( ostream &  out)
inlinestaticinherited

set output

void CORE_Object::setThis ( SP::CORE_Object  p)
inlineprotectedinherited

set this weak shared pointer called toDoAfterThis setting method

References CORE_Object::toDoAfterThisSetting().

Here is the call graph for this function:

virtual void CORE_Object::setType ( tString  type)
inlineprotectedvirtualinherited
virtual void CORE_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited
tString GPM_Graph::toString ( ) const
virtual

set the graph to string

Reimplemented from CORE_Object.

References getEdgeVertices(), getVertexIID(), CORE_Integer::toString(), and tString.

Here is the call graph for this function:

static void GPM_Object::turnBodyLineToText ( tString bdy)
inlinestaticinherited

brief turn the body from the line to text

References CORE_String::replaceAll().

Referenced by GPMG_Project::loadFromUIClass(), and GPM_ModelFunction::readRulesFromFile().

Here is the call graph for this function:

Here is the caller graph for this function:

static void GPM_Object::turnBodyTextToLine ( tString bdy)
inlinestaticinherited

brief turn the body from the text to line

References CORE_String::replaceAll().

Referenced by GPM_ModelFunction::saveRulesToFile(), and GPMG_Project::saveToUIClass().

Here is the call graph for this function:

Here is the caller graph for this function:

void GPM_Graph::updateGroupId ( )

update the group Id of all elements of graph

References VertexProperties::groupId, and VertexProperties::vertex.

Referenced by GPM_PortGraph::initGroupNames().

Here is the caller graph for this function:

Member Data Documentation

tBoolean CORE_Object::mIsMemoryTesting =false
staticinherited

indicator to store all classes created and deleted only for debuging version

Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().

const tVertexIID GPM_Graph::NULL_VERTEX =boost::graph_traits<tGraph>::null_vertex()
static
const tFlag GPM_Graph::UP_TO_AUTOMORPHISM_ALL =0
static
const tFlag GPM_Graph::UP_TO_AUTOMORPHISM_NODE =1
static
const tFlag GPM_Graph::UP_TO_AUTOMORPHISM_PORT =2
static

The documentation for this class was generated from the following files: