C++ main module for gpm Package
1.0
|
This class describes a 2D Snow Graph. More...
#include <GPM_2DSnowGraph.h>
Public Member Functions | |
virtual void | toDoAfterThisSetting () |
method called after this setting More... | |
tBoolean | createPatternFunctions (SV::GPM_PatternFunction &patternFunctions) const |
create the data for rewriting graph More... | |
void | setPath (const tString &path) |
set the path More... | |
tString | getPath () const |
get the path More... | |
void | setPrefix (const tString &v) |
set the prefix More... | |
tString | getPrefix () const |
get the prefix More... | |
int | getIteration () const |
get the prefix More... | |
void | setIterationsMaxNumber (const int &v) |
set the max iterations number More... | |
int | getIterationsMaxNumber () const |
get the max iterations number More... | |
virtual SP::GPM_GraphElement | newInstance (const tString &className) const |
create a new instance of token More... | |
virtual SP::GPM_Port | newPort () const |
create a port More... | |
tVertexIID | addPort (const int &id) |
add port More... | |
tVertexIID | addPort () |
add port More... | |
tVertexIID | addPort (SP::GPM_Port port) |
add port More... | |
tBoolean | addPortEdgeFromIds (const int &from, const int &to, const int &fromPortId, const int &toPortId, tVertexIID &fromPortIID, tVertexIID &toPortIID) |
add 2 ports with ids fromPortId, toPortId from vertex with id from to vertex with id to return the internal ids of the 2 created ports More... | |
tBoolean | addPortEdgeFromIds (const int &fromId, const int &toId, const int &fromPortId, const int &toPortId) |
add 2 ports with ids fromPortId, toPortId from vertex with id from to vertex with id to More... | |
void | updateGraphElementsEnvironment (const map< tString, SP::GPM_Variable > &nodeEnvironment, const map< tString, SP::GPM_Variable > &portEnvironment, const map< tString, SP::GPM_Variable > &edgeEnvironment) |
update the environment of all graph elements (reverse method of build environments) More... | |
void | buildEnvironments (map< tString, SP::GPM_Variable > &nodeEnvironment, map< tString, SP::GPM_Variable > &portEnvironment, map< tString, SP::GPM_Variable > &edgeEnvironment) const |
build the environments More... | |
void | getConnectedNodesToPort (const tVertexIID &portIID, tVertexIID &sourceNode, tVertexIID &targetNode) const |
get the 2 nodes connected to port ,with portIID internal id More... | |
void | initGroupNames (const vector< tString > &nodeIds, const vector< tString > &portIds) |
init group name More... | |
void | initGroupNames () |
init group name to type of the vertex More... | |
void | clearPatternFunctions () |
clear pattern functions More... | |
void | addPatternFunction (SP::GPM_PatternFunction f) |
add pattern function More... | |
SV::GPM_PatternFunction & | getPatternFunctions () |
get the pattern functions More... | |
void | generateQuadGraph (const int &nTriangles, const tBoolean &withMiddle, const int &n, const int &m, const tReal &w, const tReal &h, const tReal &xmin, const tReal &ymin) |
generate a quad graph of size nxm by nTriangles More... | |
virtual tBoolean | isValid () const |
validate the graph More... | |
virtual tString | isEdgeValid (const GPM_Vertex &source, const GPM_Vertex &target, tBoolean &isValid) const |
return true if the 2 vectex can be connected by edge 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... | |
virtual tBoolean | reduce (int &nReductions, CORE_Out &io) |
reduce the graph make on loop until one reduction is done return false if the reducing failed More... | |
void | findMesh (const vector< tFlag > &meshTypes, vector< vector< tVertexIID > > &geometries) const |
get all the geometries vertex <–> vertex without ports inside. More... | |
void | findMesh (const tFlag &meshType, vector< vector< tVertexIID > > &geometries) const |
get all the geometries vertex <–> vertex without ports inside. More... | |
void | findSegments (vector< vector< tVertexIID > > &geometry) const |
set the segments More... | |
virtual tBoolean | exportToCurveFile (const tString &fileName, const tString &title, const tString &XLabel, const tString &YLabel) const |
export to a curve file More... | |
tBoolean | rewrite (int &nReductions, CORE_Out &io) |
rewrite the graph substitute the patterns by the graphs defined in PatternFunctions algorithm: More... | |
tBoolean | run (CORE_Out &io) |
run the writer More... | |
tBoolean | run (const tString &path, const tString &prefix, const int &nMaxIterations, CORE_Out &io) |
run the writer More... | |
virtual tBoolean | loadGraph (const tString &path, const tString &prefix, const int &nDigits, const int &iterations, CORE_Out &io, tString &fn) |
load the graph during running More... | |
const tGraph & | getGraphImplement () const |
get the graph implementation More... | |
tGraph & | getGraphImplement () |
get the graph implementation 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... | |
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_Edge * | getEdge (const tVertexIID &e1, const tVertexIID &e2) const |
get edge between vertices e1 & e2 More... | |
GPM_Edge * | getEdge (const tVertexIID &e1, const tVertexIID &e2) |
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... | |
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... | |
void | printGroupId (CORE_Out &io) const |
print the group id More... | |
void | updateGroupId () |
update the group Id of all elements of graph 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_2DSnowGraph | New () |
create a test class 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 tFlag | SEGMENT =2 |
static const tFlag | TRIANGLE =3 |
static const tFlag | TETRAHEDRON =4 |
static const tFlag | PYRAMID =5 |
static const tFlag | WEDGE =6 |
static const tFlag | HEXAHEDRON =8 |
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_2DSnowGraph (void) | |
create More... | |
virtual | ~GPM_2DSnowGraph (void) |
destroy More... | |
virtual tBoolean | saveGraph (const tString &path, const tString &prefix, const int &nDigits, const int &iterations, tString &fn) const |
save the graph during running More... | |
void | setIteration (const int &v) |
set the iteration More... | |
virtual void | patternsMappingSignalEmit (const SVC::GPM_PatternFunction patternFunction, const vector< vector< vector< tVertexIID > > > &fmappings) const |
signal emmiting when the matching of patterns is done 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... | |
This class describes a 2D Snow Graph.
A snow flake example consists in replacing an edge by a multi-edge as follow:
The translation in port graph module is has follow:
The pattern graph to search in the large graph contains :
The replacment transformer graph contains:
The coordinates of the new nodes i,j,k has defined has follow:
The rules are as follow:
The large graph is a triangle which contains:
The results obtainsafter 8 iterations is given as follow:
To simulate this example, 2 classes have to been created:
The GPM_2DSnowGraph::createPatternsFunctions which create a patterns functions has to be specialized: it creates pattern graph, transformer graph, GPM_Snow2DFunction. The code is like this:
The method GPM_PatternFunction::addPEdgeToRemove adds a marker to remove the mapped pattern edge in the large graph
The method GPM_PatternFunction::addPTEdgeToAdd adds an edge in the large graph between mapped pattern graph and the copied transformer graph in the large graph
The method GPM_2DSnowGraph::createTransformerGraph (similarly as GPM_2DSnowGraph::createPatternGraph() and GPM_2DSnowGraph::createInitialGraph() ) creates a graph
To define the new position of nodes, the methode GPM_PatternFunction::updateTransformerGraphStates has to be specialized. it defined the new coordinates of the copied transformer graph
Note that the nodes & ports are vertices so a special care needs to take the nodes at the right index.
As the pattern graph are not modified, only specialize the method without body
tBoolean GPM_Snow2DFunction::updatePatternGraphStates(GPM_Graph& largeGraph, const vector<tVertexIID>& mappingP2L,CORE_Out& io) {
tBoolean succeeds=true; return succeeds; }
|
protected |
create
References CORE_Object::setType().
Referenced by New().
|
protectedvirtual |
destroy
|
virtualinherited |
add an edge with name label between vertices from & to
References GPM_Graph::addEdge_(), EdgeProperties::edge, GPM_Graph::generateEdgeId(), GPM_Graph::getVertex(), null, and tBoolean.
Referenced by GPM_Graph::addEdge(), GPM_Graph::addEdgeFromIds(), GPMG_DrawPanel::addEdgeToNode(), GPM_PortGraph::addPortEdgeFromIds(), GPM_Graph::addSubGraph(), GPM_Graph::copy(), GPM_PortGraph::generateQuadGraph(), and GPM_Graph::merge().
|
inlinevirtualinherited |
add an edge with name label between vertices from & to
References GPM_Graph::addEdge(), GPM_Graph::generateEdgeId(), and GPM_Graph::newEdge().
|
inlinevirtualinherited |
add an edge with name label between vertices from & to
References GPM_Graph::addEdge(), GPM_Graph::generateEdgeId(), GPM_Graph::newEdge(), and tBoolean.
|
protectedinherited |
add edge without verifications if edge or vertices exists
References EdgeProperties::edge.
Referenced by GPM_Graph::addEdge().
|
inlineinherited |
add ad edge from vertex ids (convenience method)
References GPM_Graph::addEdge(), GPM_Graph::addNode(), GPM_Graph::generateEdgeId(), GPM_Graph::getVertexIID(), and GPM_Graph::newEdge().
Referenced by GPMG_DrawPanel::addEdge(), and GPM_Graph::addEdgeFromIds().
|
inlineinherited |
add vertex from vertex ids (convenience method)
References GPM_Graph::addEdgeFromIds().
|
inlineinherited |
add vertex
OUT | iid: return the internal id of vertex |
References GPM_Graph::addVertex(), GPM_Graph::generateVertexId(), and GPM_Graph::newNode().
Referenced by GPM_Graph::addEdgeFromIds(), GPMG_DrawPanel::addNode(), GPM_PortGraph::addPortEdgeFromIds(), GPM_Graph::copy(), and GPM_PortGraph::generateQuadGraph().
|
inlineinherited |
add vertex with id
IN | id: id of the vertex |
OUT | iid: return the internal id of vertex |
References GPM_Graph::addVertex(), and GPM_Graph::newNode().
|
inlineinherited |
|
inlineinherited |
add port
References GPM_Graph::addVertex().
Referenced by GPMG_DrawPanel::addEdgeToNode(), and GPMG_DrawPanel::addPort().
|
inlineinherited |
|
inlineinherited |
|
inherited |
add 2 ports with ids fromPortId, toPortId from vertex with id from to vertex with id to return the internal ids of the 2 created ports
References GPM_Graph::addEdge(), GPM_Graph::addNode(), GPM_Graph::addVertex(), GPM_Graph::getVertexIID(), GPM_PortGraph::newPort(), GPM_Graph::NULL_VERTEX, and tBoolean.
|
inlineinherited |
add 2 ports with ids fromPortId, toPortId from vertex with id from to vertex with id to
|
inherited |
add sub graph
graph:adding | graph |
connections | is the association between vertex of the sub graph to the corresponding vertex in graph This |
References GPM_Graph::addEdge(), GPM_Graph::addVertex(), GPM_Vertex::copy(), GPM_GraphElement::copy(), GPM_Graph::generateEdgeId(), GPM_Graph::generateVertexId(), GPM_Graph::getEdge(), GPM_Graph::getEdges(), GPM_Graph::getVertex(), and GPM_Graph::getVertices().
|
inherited |
add vertex vertex with id
IN | vertex: vertex to add |
OUT | iid: return the internal id of vertex |
References GPM_Graph::generateVertexId(), VertexProperties::groupId, and VertexProperties::vertex.
Referenced by GPM_Graph::addNode(), GPM_PortGraph::addPort(), GPM_PortGraph::addPortEdgeFromIds(), GPM_Graph::addSubGraph(), GPM_Graph::copy(), and GPM_PortGraph::generateQuadGraph().
|
inherited |
build the environments
References GPM_Graph::getEdges(), GPM_GraphElement::getVariable(), GPM_GraphElement::getVariableNames(), GPM_Graph::getVertices(), GPM_Variable::New(), null, and tBoolean.
|
inherited |
clear the graph
Referenced by GPM_Graph::copy(), GPM_PortGraph::generateQuadGraph(), and GPM_Graph::~GPM_Graph().
|
inlineinherited |
clear pattern functions
|
inherited |
close the graph
|
virtualinherited |
void copy
References GPM_Graph::addEdge(), GPM_Graph::addNode(), GPM_Graph::addVertex(), GPM_Graph::clear(), GPM_Vertex::copy(), GPM_GraphElement::copy(), GPM_Graph::getEdges(), GPM_Edge::getSource(), GPM_Edge::getTarget(), GPM_Graph::getVertexIID(), GPM_Graph::getVertices(), GPM_Edge::NewInstance(), GPM_GraphElement::NewInstance(), null, and GPM_Graph::NULL_VERTEX.
tBoolean GPM_2DSnowGraph::createPatternFunctions | ( | SV::GPM_PatternFunction & | patternFunctions | ) | const |
create the data for rewriting graph
References GPM_Snow2DFunction::New().
|
inherited |
execute trigger actions
References CORE_Out::DEBUG_MSG, CORE_Out::println(), GPM_Graph::removeEdge(), GPM_Graph::removeVertex(), and CORE_Integer::toString().
|
virtualinherited |
export to a curve file
Reimplemented from GPM_Graph.
References GPM_PortGraph::findSegments(), GPM_Vertex::getCoordinates(), GPM_Graph::getVertex(), and null.
Referenced by saveGraph().
|
inlineinherited |
get all the geometries vertex <–> vertex without ports inside.
|
inherited |
get all the geometries vertex <–> vertex without ports inside.
References GPM_PortGraph::findSegments(), GPM_Graph::getPatterns(), GPM_PortGraph::HEXAHEDRON, GPM_PortGraph::New(), CORE_Out::New(), CORE_Out::NO_OUTPUT, GPM_PortGraph::PYRAMID, GPM_PortGraph::SEGMENT, GPM_PortGraph::TETRAHEDRON, tReal, GPM_PortGraph::TRIANGLE, GPM_Graph::UP_TO_AUTOMORPHISM_NODE, and GPM_PortGraph::WEDGE.
|
inherited |
set the segments
References GPM_Graph::getConnectedVertices(), GPM_Graph::getEdges(), GPM_Graph::getEdgeVertices(), GPM_Graph::getVertex(), tBoolean, CORE_String::toString(), and tString.
Referenced by GPM_PortGraph::exportToCurveFile(), and GPM_PortGraph::findMesh().
|
inherited |
generate a edge id
Referenced by GPM_Graph::addEdge(), GPM_Graph::addEdgeFromIds(), and GPM_Graph::addSubGraph().
|
inherited |
generate a quad graph of size nxm by nTriangles
nTriangles | in [0,2,4] |
withMiddle |
|
n | number of point on the horizontal lines |
m | number of point on the vertical lines |
w | size of the horizontal line. If (w==0) the coordinates is the index of the point |
h | size of the horizontal line. If (h==0) the coordinates is the index of the point |
References GPM_Graph::addEdge(), GPM_Graph::addNode(), GPM_Graph::addVertex(), GPM_Graph::clear(), GPM_Graph::getVertex(), GPM_Port::New(), GPM_Graph::newEdge(), null, GPM_Vertex::setCoordinates(), GPM_GraphElement::setGraph(), and tReal.
|
inherited |
generate a vertex id
Referenced by GPM_Graph::addNode(), GPM_Graph::addSubGraph(), and GPM_Graph::addVertex().
return the class name of the object using only the identity string
Referenced by CORE_Object::printObjectsInMemory().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString().
|
inherited |
get the 2 nodes connected to port ,with portIID internal id
References GPM_Graph::getConnectedVertices(), GPM_Graph::getVertex(), null, and GPM_Graph::NULL_VERTEX.
Referenced by GPMG_DrawPanel::getCoordinates().
|
inherited |
get the internal id vertices connected to vertex with internal iid
References GPM_Graph::NULL_VERTEX.
Referenced by GPM_PortGraph::findSegments(), GPM_PortGraph::getConnectedNodesToPort(), and GPMG_DrawPanel::getPopupMenu().
|
inherited |
get the edges number connected to vertex with id
References GPM_Graph::NULL_VERTEX.
|
inherited |
get edge between vertices e1 & e2
References GPM_Graph::NULL_VERTEX.
Referenced by GPMG_DrawPanel::addEdge(), GPMG_DrawPanel::addEdgeToNode(), GPM_PatternFunction::addPEdgeToKeep(), GPM_PatternFunction::addPEdgeToRemove(), GPM_Graph::addSubGraph(), GPM_Rule::buildEnvironment(), GPM_Graph::getEdge(), GPM_Graph::getEdgeFromIds(), GPM_Graph::getEdgeId(), GPM_Graph::merge(), GPM_ModelFunction::readRulesFromFile(), GPM_ModelFunction::updatePatternGraphStates(), GPM_ModelFunction::updateTransformerGraphStates(), and GPMG_VertexWindow::updateValues().
|
inherited |
get edge with id for writing
|
inherited |
get edge with id for reading
|
inherited |
get edge between vertices e1 & e2
References GPM_Graph::getEdge(), and null.
|
inherited |
get edge between vertices e1 & e2
References GPM_Graph::getEdge(), and null.
|
inlineinherited |
get edge between vertices e1 & e2 (convenience method)
References GPM_Graph::getEdge(), and GPM_Graph::getVertexIID().
|
inlineinherited |
get edge between vertices e1 & e2 (convenience method)
References GPM_Graph::getEdge(), and GPM_Graph::getVertexIID().
|
inherited |
get id of edge with internal id iid
References GPM_Graph::getEdge(), and null.
get the internal id of edge with id (for convenience use)
Referenced by GPMG_DrawPanel::deleteEdge(), GPMG_RuleGraphDrawPanel::getPopupMenu(), and GPM_ModelFunction::readRulesFromFile().
|
inherited |
get the index of edges of the graph
Referenced by GPM_Graph::addSubGraph(), GPM_Rule::buildEnvironment(), GPM_PortGraph::buildEnvironments(), GPM_ModelGraph::clearRules(), GPMG_DrawPanel::computeEdgesScale(), GPM_Graph::copy(), GPM_Graph::exportToCurveFile(), GPM_PortGraph::findSegments(), GPM_ModelGraph::getRulesNumber(), GPM_ModelGraph::orderTriggerRules(), GPM_ModelFunction::saveRulesToFile(), GPMG_RuleGraphDrawPanel::showRule(), GPM_ModelFunction::toString(), GPM_PortGraph::updateGraphElementsEnvironment(), GPM_ModelFunction::updatePatternGraphStates(), GPM_ModelGraph::updateRules(), GPM_ModelFunction::updateTransformerGraphStates(), and GPMG_VertexWindow::updateValues().
|
inherited |
get the index of edges of the graph
|
inherited |
get the edges from vertex v
References GPM_Graph::NULL_VERTEX.
|
inherited |
get the edges number
|
inherited |
get vertices of edges
Referenced by GPM_PortGraph::findSegments(), GPM_ModelFunction::readRulesFromFile(), and GPM_Graph::toString().
|
inlineinherited |
get the graph implementation
Referenced by GPM_Graph::getPatterns(), GPM_PortGraph::isEdgeValid(), GPM_Graph::isIsomorph(), GPM_PortGraph::isValid(), and GPM_PrintCallback::operator()().
|
inlineinherited |
get the graph implementation
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by CORE_Object::toString().
|
inlineinherited |
get the prefix
|
inlineinherited |
get the max iterations number
|
inlinestaticinherited |
get output
|
inlineinherited |
get the path
|
inlineinherited |
get the pattern functions
|
inherited |
get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller
References GPM_Graph::getGraphImplement(), and VertexProperties::groupId.
Referenced by GPM_PortGraph::findMesh(), and GPM_Graph::getPatterns().
|
inlineinherited |
get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller
References GPM_Graph::getPatterns(), and null.
|
inlineinherited |
get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller
References GPM_Graph::getPatterns().
|
inlineinherited |
get all the patterns in graph this thanks to homomorphism mappings pattern must be smaller
References GPM_Graph::getPatterns().
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlineinherited |
get the prefix
|
inlineinherited |
get the shared pointer of this class into p
Referenced by MATH_ParentExpression::addArgument(), GPMG_EnvironmentPanel::componentClicked(), GPM_GraphElement::copy(), CORE_Map< Key, Value >::getSharedPointer(), CORE_Array< T >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), CORE_Matrix< T >::getSharedPointer(), CORE_Object::printObjectsInMemory(), MATH_ParentExpression::setArgument(), GPMG_EnvironmentPanel::setEnvironment(), GPM_GraphElement::setGraph(), GPMG_GraphElementWindow::setGraphElement(), GPMG_ShowGraphDrawPanel::showGraph(), and GPMG_RuleGraphDrawPanel::showRule().
|
inlineinherited |
get the shared pointer of this class into p
|
inlinestaticinherited |
get type name
References tString.
|
inherited |
get vertex with internal id
References GPM_Graph::NULL_VERTEX.
Referenced by GPM_Graph::addEdge(), GPMG_DrawPanel::addEdgeToNode(), GPMG_DrawPanel::addNode(), GPMG_DrawPanel::addPort(), GPM_PatternFunction::addPTEdgeToAdd(), GPM_Graph::addSubGraph(), GPM_Rule::buildEnvironment(), GPM_PortGraph::exportToCurveFile(), GPM_PortGraph::findSegments(), GPM_PortGraph::generateQuadGraph(), GPM_ConwayGraph::getCell(), GPM_PortGraph::getConnectedNodesToPort(), GPMG_DrawPanel::getCoordinates(), GPMG_DrawPanel::getPopupMenu(), GPM_Graph::merge(), GPM_ModelFunction::readRulesFromFile(), GPM_Snow3DFunction::updatePatternGraphStates(), GPM_ConwayFunction::updatePatternGraphStates(), GPM_ModelFunction::updatePatternGraphStates(), GPM_Snow3DFunction::updateTransformerGraphStates(), GPM_Snow2DFunction::updateTransformerGraphStates(), and GPM_ModelFunction::updateTransformerGraphStates().
|
inherited |
get the id of vertex with internal id
References GPM_Graph::NULL_VERTEX.
Referenced by GPM_ModelFunction::readRulesFromFile().
|
inherited |
get the internal id of vertex with id (for convenience use)
References GPM_Graph::NULL_VERTEX.
Referenced by GPM_Graph::addEdgeFromIds(), GPMG_DrawPanel::addEdgeToNode(), GPM_PortGraph::addPortEdgeFromIds(), GPM_PatternFunction::addPTEdgeToAdd(), GPM_Rule::buildEnvironment(), GPM_Graph::copy(), GPMG_DrawPanel::deleteVertex(), GPMG_DrawPanel::getCoordinates(), GPM_Graph::getEdgeFromIds(), GPMG_RuleGraphDrawPanel::getPopupMenu(), GPMG_DrawPanel::getPopupMenu(), GPM_PortGraph::isEdgeValid(), GPM_PatternFunction::isValid(), GPM_ModelFunction::readRulesFromFile(), GPM_Graph::toString(), GPM_ModelFunction::updatePatternGraphStates(), GPM_Snow2DFunction::updateTransformerGraphStates(), GPM_ModelFunction::updateTransformerGraphStates(), and GPMG_VertexWindow::updateValues().
|
inherited |
get the internal id of all vertices
Referenced by GPM_Graph::addSubGraph(), GPM_Rule::buildEnvironment(), GPM_PortGraph::buildEnvironments(), GPM_ModelGraph::clearRules(), GPMG_DrawPanel::computeNodesScale(), GPMG_DrawPanel::computePortsScale(), GPMG_RuleGraphDrawPanel::computeVertexBounds(), GPM_Graph::copy(), GPM_ModelGraph::getRulesNumber(), GPM_PrintCallback::GPM_PrintCallback(), GPM_PortGraph::initGroupNames(), GPM_ConwayGraph::loadFromImageFile(), GPM_ModelGraph::orderTriggerRules(), GPM_ModelFunction::saveRulesToFile(), GPM_ConwayGraph::saveToImageFile(), GPMG_RuleGraphDrawPanel::showRule(), GPM_ModelFunction::toString(), GPM_PortGraph::updateGraphElementsEnvironment(), GPM_ModelFunction::updatePatternGraphStates(), GPM_ModelGraph::updateRules(), and GPM_ModelFunction::updateTransformerGraphStates().
|
inherited |
get the internal id of all vertices
|
inherited |
the the vertices numbers
Referenced by GPM_Graph::isIsomorph(), and GPM_PrintCallback::operator()().
|
inherited |
init group name
References GPM_Vertex::getGroupCoordinatesName(), GPM_GraphElement::getVariable(), GPM_Graph::getVertices(), null, GPM_GraphElement::setGroupName(), tString, and GPM_Graph::updateGroupId().
Referenced by GPM_PatternFunction::initGroupNames().
|
inlineinherited |
init group name to type of the vertex
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::is64Architecture().
|
staticinherited |
return true if the machine is a 64 bits machine
Referenced by CORE_Object::is32Architecture().
|
virtualinherited |
return true if the 2 vectex can be connected by edge
References GPM_Graph::getGraphImplement(), GPM_GraphElement::getId(), GPM_Graph::getVertexIID(), null, tBoolean, and CORE_Integer::toString().
Referenced by GPMG_DrawPanel::addEdge().
|
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().
|
inherited |
return true if graph is isomorph
g | : graph to test the isomorphism whith g |
verticesMap | : return the mapping from this to g |
io | output device |
References GPM_Graph::getGraphImplement(), GPM_Graph::getVerticesNumber(), vertexInvarientFunction::New(), and tBoolean.
Referenced by GPM_Graph::isIsomorph().
|
inlineinherited |
return true if graph is isomorph
g | : graph to test the isomorphism whith g |
verticesMap | : return the mapping from this to g |
io | output device |
References GPM_Graph::isIsomorph(), and null.
return true if graph is isomorph
g | : graph to test the isomorphism whith g |
io | output device |
References GPM_Graph::isIsomorph().
return true if graph is isomorph
g | : graph to test the isomorphism whith g |
io | output device |
References GPM_Graph::isIsomorph().
|
virtualinherited |
return true if the mapping is valid
Reimplemented from GPM_Graph.
References GPM_Graph::isMappingValid(), GPM_PortGraph::isValid(), null, and tBoolean.
|
virtualinherited |
validate the graph
References GPM_Graph::getGraphImplement(), null, and tBoolean.
Referenced by GPM_PortGraph::isMappingValid().
load graph from txt file
References tBoolean, and tString.
Referenced by GPM_PortGraph::loadGraph().
|
virtualinherited |
load the graph during running
the name of the load file in path |
References GPM_Graph::loadFromFile(), tBoolean, and CORE_Integer::toString().
Referenced by GPMG_Project::run().
|
inherited |
merge two vertex
from | the vertex to merge: it will be removed |
to | the new vertex |
References GPM_Graph::addEdge(), CORE_Out::ERROR_MSG, GPM_Graph::getEdge(), GPM_Graph::getVertex(), CORE_Out::println(), GPM_Graph::removeVertex(), tBoolean, and CORE_Integer::toString().
|
inlinestatic |
|
inlinevirtualinherited |
get the edge internal id
update the edge internal ids after removing
create an edge
Reimplemented in GPM_ModelGraph.
References GPM_Edge::New().
Referenced by GPMG_RuleGraphDrawPanel::addEdge(), GPM_Graph::addEdge(), GPM_Graph::addEdgeFromIds(), GPM_PatternFunction::addPTEdgeToAdd(), GPM_PortGraph::generateQuadGraph(), and GPM_Graph::newInstance().
|
inlinevirtualinherited |
create a node
Reimplemented in GPM_ModelGraph.
References GPM_Edge::New().
|
inlinevirtualinherited |
create a node
Reimplemented in GPM_ModelGraph.
References GPM_Edge::New().
|
virtualinherited |
create a new instance of token
Reimplemented from GPM_Graph.
References GPM_Graph::newInstance(), GPM_PortGraph::newPort(), CORE_String::toLower(), and tString.
|
inlinevirtualinherited |
create a node
Reimplemented in GPM_ModelGraph.
References GPM_Node::New().
Referenced by GPM_Graph::addNode(), and GPM_Graph::newInstance().
|
inlinevirtualinherited |
create a port
Reimplemented in GPM_ModelGraph.
References GPM_Port::New().
Referenced by GPM_PortGraph::addPortEdgeFromIds(), and GPM_PortGraph::newInstance().
|
staticinherited |
print on output
References null, and CORE_Object::print().
Referenced by CORE_Exception::CORE_Exception().
|
inlineprotectedvirtualinherited |
signal emmiting when the matching of patterns is done
Reimplemented in GPM_ConwayGraph, and GPM_ModelGraph.
|
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().
|
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().
|
inlinevirtualinherited |
print the class
References CORE_Object::print(), and CORE_Object::toString().
|
virtualinherited |
print the class
Reimplemented in CORE_Out.
References null, and CORE_Object::print().
|
virtualinherited |
References null.
|
virtualinherited |
References null.
|
inlinestaticinherited |
print the class
|
inherited |
print the group id
References CORE_Out::DEBUG_MSG, VertexProperties::groupId, and CORE_Out::println().
|
staticinherited |
print object in memory
References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.
Referenced by main().
reduce the graph make on loop until one reduction is done return false if the reducing failed
nReduction | the number of reductions |
References tBoolean.
remove edge with id WARNING: the edgeIID of all the edges may changed !
Referenced by GPMG_DrawPanel::deleteEdge(), and GPM_Graph::executeTriggerActions().
|
inherited |
remove all edges from vertex with internal id WARNING: the edgeIID of all the edges may changed !
|
inherited |
remove all edges from vertices from & to WARNING: the edgeIID of all the edges may changed !
References GPM_Graph::NULL_VERTEX.
|
inherited |
remove vertex with internal id: iid WARNING: the vertexIID of all the nodes may changed !
References GPM_Graph::NULL_VERTEX.
Referenced by GPMG_DrawPanel::deleteVertex(), GPM_Graph::executeTriggerActions(), and GPM_Graph::merge().
rewrite the graph substitute the patterns by the graphs defined in PatternFunctions algorithm:
for each pattern, substitute it by Transformed graph into the large graph this & apply the pattern function for coordinates settings
Referenced by GPMG_Project::run().
run the writer
References CORE_Out::ERROR_MSG, CORE_Out::println(), GPM_PortGraph::saveGraph(), tBoolean, and tString.
|
protectedvirtual |
save the graph during running
Reimplemented from GPM_PortGraph.
References GPM_PortGraph::exportToCurveFile(), GPM_PortGraph::saveGraph(), tBoolean, and CORE_Integer::toString().
save graph to txt file
Referenced by GPMG_Project::saveData(), and GPM_PortGraph::saveGraph().
|
inlineprotectedinherited |
set the iteration
|
inlineinherited |
set the max iterations number
|
inlinestaticinherited |
set output
|
inlineinherited |
set the path
|
inlineinherited |
set the prefix
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
References CORE_Object::toDoAfterThisSetting().
|
inlineprotectedvirtualinherited |
set the type of the object
Referenced by CORE_CommandLine::CORE_CommandLine(), CORE_IO::CORE_IO(), GPM_2DSnowGraph(), GPM_BGLTest::GPM_BGLTest(), GPM_ClassFactory::GPM_ClassFactory(), GPM_ConwayFunction::GPM_ConwayFunction(), GPM_ConwayGraph::GPM_ConwayGraph(), GPM_CoreRun::GPM_CoreRun(), GPM_CoreTest::GPM_CoreTest(), GPM_Edge::GPM_Edge(), GPM_ExamplesRun::GPM_ExamplesRun(), GPM_Function::GPM_Function(), GPM_Graph::GPM_Graph(), GPM_GraphElement::GPM_GraphElement(), GPM_ModelGraph::GPM_ModelGraph(), GPM_Node::GPM_Node(), GPM_Object::GPM_Object(), GPM_PatternFunction::GPM_PatternFunction(), GPM_Port::GPM_Port(), GPM_PortGraph::GPM_PortGraph(), GPM_Snow2DFunction::GPM_Snow2DFunction(), GPM_Snow3DFunction::GPM_Snow3DFunction(), GPM_Vertex::GPM_Vertex(), and MATH_ExpressionRun::MATH_ExpressionRun().
|
inlinevirtual |
method called after this setting
Reimplemented from CORE_Object.
References CORE_Object::toDoAfterThisSetting().
|
virtualinherited |
set the graph to string
Reimplemented from CORE_Object.
References GPM_Graph::getEdgeVertices(), GPM_Graph::getVertexIID(), CORE_Integer::toString(), and tString.
|
inlinestaticinherited |
brief turn the body from the line to text
References CORE_String::replaceAll().
Referenced by GPMG_Project::loadFromUIClass(), and GPM_ModelFunction::readRulesFromFile().
|
inlinestaticinherited |
brief turn the body from the text to line
References CORE_String::replaceAll().
Referenced by GPM_ModelFunction::saveRulesToFile(), and GPMG_Project::saveToUIClass().
|
inherited |
update the environment of all graph elements (reverse method of build environments)
References GPM_Graph::getEdges(), GPM_Graph::getVertices(), null, and GPM_GraphElement::updateEnvironment().
Referenced by GPMG_Project::updateGraphsEnvironments().
|
inherited |
update the group Id of all elements of graph
References VertexProperties::groupId, and VertexProperties::vertex.
Referenced by GPM_PortGraph::initGroupNames().
|
staticinherited |
Referenced by GPM_PortGraph::findMesh().
|
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().
|
staticinherited |
Referenced by GPMG_DrawPanel::addEdgeToNode(), GPMG_DrawPanel::addNode(), GPMG_DrawPanel::addPort(), GPM_PortGraph::addPortEdgeFromIds(), GPM_Graph::copy(), GPMG_DrawPanel::deleteVertex(), GPM_PortGraph::getConnectedNodesToPort(), GPM_Graph::getConnectedVertices(), GPMG_DrawPanel::getCoordinates(), GPM_Graph::getDegree(), GPM_Graph::getEdge(), GPM_Graph::getEdges(), GPMG_RuleGraphDrawPanel::getPopupMenu(), GPM_Graph::getVertex(), GPM_Graph::getVertexId(), GPM_Graph::getVertexIID(), GPM_ModelFunction::readRulesFromFile(), GPM_Graph::removeEdges(), and GPM_Graph::removeVertex().
|
staticinherited |
Referenced by GPM_PortGraph::findMesh().
|
staticinherited |
Referenced by GPM_PortGraph::findMesh().
|
staticinherited |
Referenced by GPM_PortGraph::findMesh().
|
staticinherited |
Referenced by GPM_PortGraph::findMesh().
|
staticinherited |
|
staticinherited |
|
staticinherited |
Referenced by GPM_PrintCallback::operator()().
|
staticinherited |
Referenced by GPM_PortGraph::findMesh().