|
From: <koc...@us...> - 2008-04-07 18:47:25
|
Revision: 11
http://scstudio.svn.sourceforge.net/scstudio/?rev=11&view=rev
Author: kocianon
Date: 2008-04-07 11:47:17 -0700 (Mon, 07 Apr 2008)
Log Message:
-----------
Added Paths:
-----------
trunk/src/data/livenodedetection.cc
Added: trunk/src/data/livenodedetection.cc
===================================================================
--- trunk/src/data/livenodedetection.cc (rev 0)
+++ trunk/src/data/livenodedetection.cc 2008-04-07 18:47:17 UTC (rev 11)
@@ -0,0 +1,124 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2008 Jindra Babica <ba...@ma...>
+ *
+ * $Id: $
+ */
+
+#include <list>
+#include <string>
+#include <map>
+#include "msc.h"
+
+
+class GraphNode {
+private:
+ ReferenceNodePtr m_ReferenceNodePtrNode;
+public:
+ boolean visited;
+ list<GraphNode> graphNodeList;
+ GraphNode(ReferenceNodePtr ref) : m_ReferenceNodePtrNode(ref), visited(false) {}
+
+};
+
+using namespace std;
+
+//
+//
+//
+ReferenceNodePtr main(int argc, char** argv) {
+
+ list<GraphNode> GraphNodeList;
+ list<GraphNode> GraphNodeEndList;
+ queue<GraphNode> m_GraphNodeQueue;
+
+
+ list<ReferenceNodePtr> m_ReferenceNodePtrList;
+ list<ReferenceNodePtr> m_returnList;
+
+ StartNodePtr m_StartNodePrt;
+ HMscPtr m_HMscPtr;
+
+ GraphNode m_GraphNodeFront;
+ GraphNode m_GraphNodeSuccessor;
+
+ m_StartNodePrt = m_HMscPtr->m_start;
+ m_ReferenceNodePtrList = m_StartNodePrt->m_nodes;
+
+ list<m_mapDependences> m_listMapDependences;
+ map<ReferenceNodePtr,list<GraphNode>> m_mapReferenceNodePtrChild;
+
+ /**
+ *
+ * creating GraphNodes and tab of relations
+ */
+
+ list<ReferenceNodePtr>::iterator itReferenceNodePtr;
+ for (itReferenceNodePtr = m_ReferenceNodePtrList.begin(); itReferenceNodePtr != m_ReferenceNodePtrList.end(); itReferenceNodePtr++ ){
+ GraphNode m_newGraphNode = GraphNode(*itReferenceNodePtr);
+ GraphNodeList.push_back(m_newGraphNode);
+ if(*itReferenceNodePtr->m_end!=null)
+ GraphNodeEndList.push_back(m_newGraphNode);
+
+ list<ReferenceNodePtr>::iterator itReferenceNodePtrChild;
+ for (itReferenceNodePtrChild = itReferenceNodePtr->m_successors.begin(); itReferenceNodePtrChild != itReferenceNodePtr->m_successors.end(); itReferenceNodePtrChild++ ){
+ if(m_mapReferenceNodePtrChild.find(*itReferenceNodePtrChild)==m_mapReferenceNodePtrChild.end){
+ m_mapReferenceNodePtrChild.insert(pair<ReferenceNodePtr,GraphNode>(*itReferenceNodePtrChild,null))
+ }
+ // dont like selfish relations
+ if(*itReferenceNodePtrChild != *itReferenceNodePtr)
+ m_mapReferenceNodePtrChild.find(*itReferenceNodePtrChild)->second.push_back(m_newGraphNode);
+ }
+
+ }
+
+ /**
+ *
+ * setting relations
+ *
+ */
+
+ list<GraphNode>::iterator itGraphNode;
+ for(itGraphNode=GraphNodeList.begin(); itGraphNode != GraphNodeList.end(); itGraphNode++){
+ if(m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)!=m_mapReferenceNodePtrChild.end()){
+ list<GraphNode> m_GraphNodelist = m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
+ for (itReferenceNodePtr = m_GraphNodelist.begin(); itReferenceNodePtrChild != m_GraphNodelist.end(); itReferenceNodePtr++ ){
+ itGraphNode->graphNodeList.push_back(itReferenceNodePtr);
+ }
+
+ }
+ }
+ /**
+ * finaly nodes to the queue
+ */
+
+ for(itGraphNode = GraphNodeEndList.begin(); itGraphNode != GraphNodeEndList.end(); itGraphNode++){
+ m_GraphNodeQueue.push(*itGraphNode);
+ }
+
+ while(!m_GraphNodeQueue.empty()){
+ m_GraphNodeFront = m_GraphNodeQueue.front();
+ if(!m_GraphNodeFront.visited){
+ m_returnList.push_back(m_GraphNodeFront.graphNodeList);
+ for(itGraphNode = m_GraphNodeFront.graphNodeList.begin(); itGraphNode != m_GraphNodeFront.graphNodeList.end(); itGraphNode++){
+ m_GraphNodeQueue.push(*itGraphNode);
+ }
+ }
+ m_GraphNodeQueue.pop();
+
+ }
+
+ return m_returnList;
+}
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <koc...@us...> - 2008-04-08 07:17:15
|
Revision: 12
http://scstudio.svn.sourceforge.net/scstudio/?rev=12&view=rev
Author: kocianon
Date: 2008-04-08 00:17:12 -0700 (Tue, 08 Apr 2008)
Log Message:
-----------
Modified Paths:
--------------
trunk/src/data/livenodedetection.cc
Property Changed:
----------------
trunk/src/data/livenodedetection.cc
Modified: trunk/src/data/livenodedetection.cc
===================================================================
--- trunk/src/data/livenodedetection.cc 2008-04-07 18:47:17 UTC (rev 11)
+++ trunk/src/data/livenodedetection.cc 2008-04-08 07:17:12 UTC (rev 12)
@@ -13,7 +13,7 @@
*
* Copyright (c) 2008 Jindra Babica <ba...@ma...>
*
- * $Id: $
+ * $Id$
*/
#include <list>
@@ -22,63 +22,65 @@
#include "msc.h"
-class GraphNode {
+class GraphNode
+{
+
private:
- ReferenceNodePtr m_ReferenceNodePtrNode;
+ ReferenceNodePtr m_ReferenceNodePtrNode;
+ bool visited;
+ list<GraphNode> m_graphNodeList;
public:
- boolean visited;
- list<GraphNode> graphNodeList;
- GraphNode(ReferenceNodePtr ref) : m_ReferenceNodePtrNode(ref), visited(false) {}
-
+ GraphNode(ReferenceNodePtr ref) : m_ReferenceNodePtrNode(ref), visited(false) {}
+
};
using namespace std;
-//
-//
-//
-ReferenceNodePtr main(int argc, char** argv) {
+int main(int argc, char** argv)
+{
- list<GraphNode> GraphNodeList;
- list<GraphNode> GraphNodeEndList;
- queue<GraphNode> m_GraphNodeQueue;
+ list<GraphNode> graphNodeList;
+ list<GraphNode> graphNodeEndList;
+ queue<GraphNode> graphNodeQueue;
- list<ReferenceNodePtr> m_ReferenceNodePtrList;
- list<ReferenceNodePtr> m_returnList;
+ list<ReferenceNodePtr> referenceNodePtrList;
+ list<ReferenceNodePtr> reachReferenceNodePtrList;
- StartNodePtr m_StartNodePrt;
- HMscPtr m_HMscPtr;
+ StartNodePtr startNodePrt;
+ HMscPtr hMscPtr;
- GraphNode m_GraphNodeFront;
- GraphNode m_GraphNodeSuccessor;
+ GraphNode m_GraphNodeFront;
+ GraphNode m_GraphNodeSuccessor;
- m_StartNodePrt = m_HMscPtr->m_start;
- m_ReferenceNodePtrList = m_StartNodePrt->m_nodes;
+ startNodePrt = hMscPtr->m_start;
+ referenceNodePtrList = startNodePrt->m_nodes;
- list<m_mapDependences> m_listMapDependences;
- map<ReferenceNodePtr,list<GraphNode>> m_mapReferenceNodePtrChild;
+ map<ReferenceNodePtr,list<GraphNode>> relationGraphRefmap;
- /**
- *
- * creating GraphNodes and tab of relations
- */
+ list<ReferenceNodePtr>::iterator itReferenceNodePtr;
+ list<GraphNode>::iterator itGraphNode;
+
+ /**
+ *
+ * creating GraphNodes and tab of relations
+ */
- list<ReferenceNodePtr>::iterator itReferenceNodePtr;
+
for (itReferenceNodePtr = m_ReferenceNodePtrList.begin(); itReferenceNodePtr != m_ReferenceNodePtrList.end(); itReferenceNodePtr++ ){
GraphNode m_newGraphNode = GraphNode(*itReferenceNodePtr);
GraphNodeList.push_back(m_newGraphNode);
if(*itReferenceNodePtr->m_end!=null)
GraphNodeEndList.push_back(m_newGraphNode);
- list<ReferenceNodePtr>::iterator itReferenceNodePtrChild;
- for (itReferenceNodePtrChild = itReferenceNodePtr->m_successors.begin(); itReferenceNodePtrChild != itReferenceNodePtr->m_successors.end(); itReferenceNodePtrChild++ ){
- if(m_mapReferenceNodePtrChild.find(*itReferenceNodePtrChild)==m_mapReferenceNodePtrChild.end){
- m_mapReferenceNodePtrChild.insert(pair<ReferenceNodePtr,GraphNode>(*itReferenceNodePtrChild,null))
+
+ for (itReferenceNodePtr = itReferenceNodePtr->m_successors.begin(); itReferenceNodePtr != itReferenceNodePtr->m_successors.end(); itReferenceNodePtrChild++ ){
+ if(m_mapReferenceNodePtrChild.find(*itReferenceNodePtr)==m_mapReferenceNodePtrChild.end){
+ m_mapReferenceNodePtrChild.insert(pair<ReferenceNodePtr,GraphNode>(*itReferenceNodePtr,null))
}
// dont like selfish relations
- if(*itReferenceNodePtrChild != *itReferenceNodePtr)
- m_mapReferenceNodePtrChild.find(*itReferenceNodePtrChild)->second.push_back(m_newGraphNode);
+ if(*itReferenceNodePtr != *itReferenceNodePtr)
+ m_mapReferenceNodePtrChild.find(*itReferenceNodePtr)->second.push_back(m_newGraphNode);
}
}
@@ -89,16 +91,18 @@
*
*/
- list<GraphNode>::iterator itGraphNode;
- for(itGraphNode=GraphNodeList.begin(); itGraphNode != GraphNodeList.end(); itGraphNode++){
- if(m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)!=m_mapReferenceNodePtrChild.end()){
- list<GraphNode> m_GraphNodelist = m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
- for (itReferenceNodePtr = m_GraphNodelist.begin(); itReferenceNodePtrChild != m_GraphNodelist.end(); itReferenceNodePtr++ ){
- itGraphNode->graphNodeList.push_back(itReferenceNodePtr);
- }
-
- }
+
+ for(itGraphNode=GraphNodeList.begin(); itGraphNode != GraphNodeList.end(); itGraphNode++)
+ {
+ if(m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)!=m_mapReferenceNodePtrChild.end())
+ {
+ list<GraphNode> m_GraphNodelist = m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
+ for (itReferenceNodePtr = m_GraphNodelist.begin(); itReferenceNodePtr != m_GraphNodelist.end(); itReferenceNodePtr++ )
+ {
+ itGraphNode->graphNodeList.push_back(*itReferenceNodePtr);
+ }
}
+ }
/**
* finaly nodes to the queue
*/
@@ -119,6 +123,5 @@
}
- return m_returnList;
-}
-
+ return 0;
+}
\ No newline at end of file
Property changes on: trunk/src/data/livenodedetection.cc
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <koc...@us...> - 2008-04-08 08:02:40
|
Revision: 13
http://scstudio.svn.sourceforge.net/scstudio/?rev=13&view=rev
Author: kocianon
Date: 2008-04-08 01:02:37 -0700 (Tue, 08 Apr 2008)
Log Message:
-----------
Coding Conventions changes
Modified Paths:
--------------
trunk/src/data/livenodedetection.cc
Modified: trunk/src/data/livenodedetection.cc
===================================================================
--- trunk/src/data/livenodedetection.cc 2008-04-08 07:17:12 UTC (rev 12)
+++ trunk/src/data/livenodedetection.cc 2008-04-08 08:02:37 UTC (rev 13)
@@ -27,7 +27,7 @@
private:
ReferenceNodePtr m_ReferenceNodePtrNode;
- bool visited;
+ bool m_visited;
list<GraphNode> m_graphNodeList;
public:
GraphNode(ReferenceNodePtr ref) : m_ReferenceNodePtrNode(ref), visited(false) {}
@@ -45,21 +45,27 @@
list<ReferenceNodePtr> referenceNodePtrList;
- list<ReferenceNodePtr> reachReferenceNodePtrList;
+ list<ReferenceNodePtr> reachedReferenceNodePtrList;
StartNodePtr startNodePrt;
HMscPtr hMscPtr;
- GraphNode m_GraphNodeFront;
- GraphNode m_GraphNodeSuccessor;
-
- startNodePrt = hMscPtr->m_start;
- referenceNodePtrList = startNodePrt->m_nodes;
-
+ GraphNode graphNodeFront;
+ GraphNode graphNodeSuccessor;
+
map<ReferenceNodePtr,list<GraphNode>> relationGraphRefmap;
list<ReferenceNodePtr>::iterator itReferenceNodePtr;
+ list<ReferenceNodePtr>::iterator itReferenceNodePtrSec;
list<GraphNode>::iterator itGraphNode;
+
+
+ /**
+ * getting data from HMsc object
+ */
+
+ startNodePrt = hMscPtr->m_start;
+ referenceNodePtrList = startNodePrt->m_nodes;
/**
*
@@ -67,61 +73,69 @@
*/
- for (itReferenceNodePtr = m_ReferenceNodePtrList.begin(); itReferenceNodePtr != m_ReferenceNodePtrList.end(); itReferenceNodePtr++ ){
- GraphNode m_newGraphNode = GraphNode(*itReferenceNodePtr);
- GraphNodeList.push_back(m_newGraphNode);
- if(*itReferenceNodePtr->m_end!=null)
- GraphNodeEndList.push_back(m_newGraphNode);
+ for (itReferenceNodePtr = referenceNodePtrList.begin(); itReferenceNodePtr != referenceNodePtrList.end(); referenceNodePtr++ )
+ {
+ GraphNode newGraphNode = GraphNode(*itReferenceNodePtr);
+ GraphNodeList.push_back(newGraphNode);
+ if((*itReferenceNodePtr)->m_end!=null)
+ GraphNodeEndList.push_back(newGraphNode);
- for (itReferenceNodePtr = itReferenceNodePtr->m_successors.begin(); itReferenceNodePtr != itReferenceNodePtr->m_successors.end(); itReferenceNodePtrChild++ ){
- if(m_mapReferenceNodePtrChild.find(*itReferenceNodePtr)==m_mapReferenceNodePtrChild.end){
- m_mapReferenceNodePtrChild.insert(pair<ReferenceNodePtr,GraphNode>(*itReferenceNodePtr,null))
- }
- // dont like selfish relations
- if(*itReferenceNodePtr != *itReferenceNodePtr)
- m_mapReferenceNodePtrChild.find(*itReferenceNodePtr)->second.push_back(m_newGraphNode);
- }
+ for (itReferenceNodePtrSec = (*itReferenceNodePtr)->m_successors.begin(); itReferenceNodePtrSec != (*itReferenceNodePtr)->m_successors.end(); itReferenceNodePtrSec++ )
+ {
+ // If list of particular refecenceNode doesnt exist just create it
+ if(relationGraphRefmap.find(*itReferenceNodePtrSec)==relationGraphRefmap.end)
+ relationGraphRefmap.insert(pair<ReferenceNodePtr,GraphNode>(*itReferenceNodePtrSec,null));
+ // dont like selfish relations -- it
+ if(*itReferenceNodePtr != *itReferenceNodePtrSec)
+ (relationGraphRefmap.find(*itReferenceNodePtrSec)->second).push_back(newGraphNode);
+ }
- }
+ }
- /**
- *
- * setting relations
- *
- */
-
-
- for(itGraphNode=GraphNodeList.begin(); itGraphNode != GraphNodeList.end(); itGraphNode++)
+
+ /**
+ *
+ * setting relations
+ *
+ */
+
+ for(itGraphNode=graphNodeList.begin(); itGraphNode != graphNodeList.end(); itGraphNode++)
{
- if(m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)!=m_mapReferenceNodePtrChild.end())
+ if(relationGraphRefmap.find((*itGraphNode)->m_ReferenceNodePtrNode)!=.end())
{
- list<GraphNode> m_GraphNodelist = m_mapReferenceNodePtrChild.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
- for (itReferenceNodePtr = m_GraphNodelist.begin(); itReferenceNodePtr != m_GraphNodelist.end(); itReferenceNodePtr++ )
+ list<GraphNode> succGraphNodelist = relationGraphRefmap.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
+ for (itReferenceNodePtr = succGraphNodelist.begin(); itReferenceNodePtr != succGraphNodelist.end(); itReferenceNodePtr++)
{
- itGraphNode->graphNodeList.push_back(*itReferenceNodePtr);
+ (*itGraphNode)->m_graphNodeList.push_back(*itReferenceNodePtr);
}
}
}
- /**
- * finaly nodes to the queue
- */
+
+ /**
+ * finaly nodes to the queue
+ */
- for(itGraphNode = GraphNodeEndList.begin(); itGraphNode != GraphNodeEndList.end(); itGraphNode++){
- m_GraphNodeQueue.push(*itGraphNode);
- }
+ for(itGraphNode = graphNodeEndList.begin(); itGraphNode != graphNodeEndList.end(); itGraphNode++)
+ {
+ graphNodeQueue.push(*itGraphNode);
+ }
- while(!m_GraphNodeQueue.empty()){
- m_GraphNodeFront = m_GraphNodeQueue.front();
- if(!m_GraphNodeFront.visited){
- m_returnList.push_back(m_GraphNodeFront.graphNodeList);
- for(itGraphNode = m_GraphNodeFront.graphNodeList.begin(); itGraphNode != m_GraphNodeFront.graphNodeList.end(); itGraphNode++){
- m_GraphNodeQueue.push(*itGraphNode);
- }
+
+ while(!graphNodeQueue.empty())
+ {
+ graphNodeFront = graphNodeQueue.front();
+ if(!graphNodeFront.visited)
+ {
+ reachedReferenceNodePrtList.push_back(graphNodeFront.graphNodeList);
+ for(itGraphNode = graphNodeFront.graphNodeList.begin(); itGraphNode != graphNodeFront.graphNodeList.end(); itGraphNode++)
+ {
+ graphNodeQueue.push(*itGraphNode);
}
- m_GraphNodeQueue.pop();
-
+ graphNodeFront.visited=false;
}
+ graphNodeQueue.pop();
+ }
return 0;
-}
\ No newline at end of file
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <koc...@us...> - 2008-04-08 08:08:12
|
Revision: 14
http://scstudio.svn.sourceforge.net/scstudio/?rev=14&view=rev
Author: kocianon
Date: 2008-04-08 01:08:07 -0700 (Tue, 08 Apr 2008)
Log Message:
-----------
Coding Conventions changes
Modified Paths:
--------------
trunk/src/data/livenodedetection.cc
Modified: trunk/src/data/livenodedetection.cc
===================================================================
--- trunk/src/data/livenodedetection.cc 2008-04-08 08:02:37 UTC (rev 13)
+++ trunk/src/data/livenodedetection.cc 2008-04-08 08:08:07 UTC (rev 14)
@@ -28,7 +28,7 @@
private:
ReferenceNodePtr m_ReferenceNodePtrNode;
bool m_visited;
- list<GraphNode> m_graphNodeList;
+ list<GraphNode> m_GraphNodeList;
public:
GraphNode(ReferenceNodePtr ref) : m_ReferenceNodePtrNode(ref), visited(false) {}
@@ -107,13 +107,13 @@
list<GraphNode> succGraphNodelist = relationGraphRefmap.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
for (itReferenceNodePtr = succGraphNodelist.begin(); itReferenceNodePtr != succGraphNodelist.end(); itReferenceNodePtr++)
{
- (*itGraphNode)->m_graphNodeList.push_back(*itReferenceNodePtr);
+ (*itGraphNode)->m_GraphNodeList.push_back(*itReferenceNodePtr);
}
}
}
/**
- * finaly nodes to the queue
+ * finally nodes to the queue
*/
for(itGraphNode = graphNodeEndList.begin(); itGraphNode != graphNodeEndList.end(); itGraphNode++)
@@ -128,11 +128,11 @@
if(!graphNodeFront.visited)
{
reachedReferenceNodePrtList.push_back(graphNodeFront.graphNodeList);
- for(itGraphNode = graphNodeFront.graphNodeList.begin(); itGraphNode != graphNodeFront.graphNodeList.end(); itGraphNode++)
- {
- graphNodeQueue.push(*itGraphNode);
- }
- graphNodeFront.visited=false;
+ for(itGraphNode = graphNodeFront.m_GraphNodeList.begin(); itGraphNode != graphNodeFront.m_GraphNodeList.end(); itGraphNode++)
+ {
+ graphNodeQueue.push(*itGraphNode);
+ }
+ graphNodeFront.visited=true;
}
graphNodeQueue.pop();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <koc...@us...> - 2008-04-08 10:52:00
|
Revision: 15
http://scstudio.svn.sourceforge.net/scstudio/?rev=15&view=rev
Author: kocianon
Date: 2008-04-08 03:51:56 -0700 (Tue, 08 Apr 2008)
Log Message:
-----------
Coding Conventions changes
Modified Paths:
--------------
trunk/src/data/livenodedetection.cc
Modified: trunk/src/data/livenodedetection.cc
===================================================================
--- trunk/src/data/livenodedetection.cc 2008-04-08 08:08:07 UTC (rev 14)
+++ trunk/src/data/livenodedetection.cc 2008-04-08 10:51:56 UTC (rev 15)
@@ -19,33 +19,39 @@
#include <list>
#include <string>
#include <map>
+#include <queue>
+
#include "msc.h"
-
class GraphNode
{
-private:
- ReferenceNodePtr m_ReferenceNodePtrNode;
- bool m_visited;
- list<GraphNode> m_GraphNodeList;
-public:
- GraphNode(ReferenceNodePtr ref) : m_ReferenceNodePtrNode(ref), visited(false) {}
-
+ private:
+ ReferenceNodePtr m_ReferenceNodePtr;
+ bool m_visited;
+ std::list<GraphNode> m_GraphNodeList;
+ public:
+ getM_visited;
+ GraphNode(ReferenceNodePrt ref);
+ ~GraphNode();
};
-using namespace std;
+GraphNode::GraphNode(ReferenceNodePtr ref)
+{
+ m_ReferenceNodePrt(ref);
+ m_visited(false);
+}
int main(int argc, char** argv)
{
- list<GraphNode> graphNodeList;
- list<GraphNode> graphNodeEndList;
- queue<GraphNode> graphNodeQueue;
+ std::list<GraphNode> graphNodeList;
+ std::list<GraphNode> graphNodeEndList;
+ std::queue<GraphNode> graphNodeQueue;
- list<ReferenceNodePtr> referenceNodePtrList;
- list<ReferenceNodePtr> reachedReferenceNodePtrList;
+ std::list<ReferenceNodePtr> referenceNodePtrList;
+ std::list<ReferenceNodePtr> reachedReferenceNodePtrList;
StartNodePtr startNodePrt;
HMscPtr hMscPtr;
@@ -53,11 +59,11 @@
GraphNode graphNodeFront;
GraphNode graphNodeSuccessor;
- map<ReferenceNodePtr,list<GraphNode>> relationGraphRefmap;
+ std::map<ReferenceNodePtr,list<GraphNode>> relationGraphRefmap;
- list<ReferenceNodePtr>::iterator itReferenceNodePtr;
- list<ReferenceNodePtr>::iterator itReferenceNodePtrSec;
- list<GraphNode>::iterator itGraphNode;
+ std::list<ReferenceNodePtr>::iterator itReferenceNodePtr;
+ std::list<ReferenceNodePtr>::iterator itReferenceNodePtrSec;
+ std::list<GraphNode>::iterator itGraphNode;
/**
@@ -75,7 +81,7 @@
for (itReferenceNodePtr = referenceNodePtrList.begin(); itReferenceNodePtr != referenceNodePtrList.end(); referenceNodePtr++ )
{
- GraphNode newGraphNode = GraphNode(*itReferenceNodePtr);
+ GraphNode newGraphNode = new GraphNode(*itReferenceNodePtr);
GraphNodeList.push_back(newGraphNode);
if((*itReferenceNodePtr)->m_end!=null)
GraphNodeEndList.push_back(newGraphNode);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <koc...@us...> - 2008-04-17 20:56:20
|
Revision: 34
http://scstudio.svn.sourceforge.net/scstudio/?rev=34&view=rev
Author: kocianon
Date: 2008-04-17 13:56:17 -0700 (Thu, 17 Apr 2008)
Log Message:
-----------
Removed Paths:
-------------
trunk/src/data/livenodedetection.cc
Deleted: trunk/src/data/livenodedetection.cc
===================================================================
--- trunk/src/data/livenodedetection.cc 2008-04-17 19:55:52 UTC (rev 33)
+++ trunk/src/data/livenodedetection.cc 2008-04-17 20:56:17 UTC (rev 34)
@@ -1,147 +0,0 @@
-/*
- * scstudio - Sequence Chart Studio
- * http://scstudio.sourceforge.net
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * Copyright (c) 2008 Jindra Babica <ba...@ma...>
- *
- * $Id$
- */
-
-#include <list>
-#include <string>
-#include <map>
-#include <queue>
-
-#include "msc.h"
-
-class GraphNode
-{
-
- private:
- ReferenceNodePtr m_ReferenceNodePtr;
- bool m_visited;
- std::list<GraphNode> m_GraphNodeList;
- public:
- getM_visited;
- GraphNode(ReferenceNodePrt ref);
- ~GraphNode();
-};
-
-GraphNode::GraphNode(ReferenceNodePtr ref)
-{
- m_ReferenceNodePrt(ref);
- m_visited(false);
-}
-
-int main(int argc, char** argv)
-{
-
- std::list<GraphNode> graphNodeList;
- std::list<GraphNode> graphNodeEndList;
- std::queue<GraphNode> graphNodeQueue;
-
-
- std::list<ReferenceNodePtr> referenceNodePtrList;
- std::list<ReferenceNodePtr> reachedReferenceNodePtrList;
-
- StartNodePtr startNodePrt;
- HMscPtr hMscPtr;
-
- GraphNode graphNodeFront;
- GraphNode graphNodeSuccessor;
-
- std::map<ReferenceNodePtr,list<GraphNode>> relationGraphRefmap;
-
- std::list<ReferenceNodePtr>::iterator itReferenceNodePtr;
- std::list<ReferenceNodePtr>::iterator itReferenceNodePtrSec;
- std::list<GraphNode>::iterator itGraphNode;
-
-
- /**
- * getting data from HMsc object
- */
-
- startNodePrt = hMscPtr->m_start;
- referenceNodePtrList = startNodePrt->m_nodes;
-
- /**
- *
- * creating GraphNodes and tab of relations
- */
-
-
- for (itReferenceNodePtr = referenceNodePtrList.begin(); itReferenceNodePtr != referenceNodePtrList.end(); referenceNodePtr++ )
- {
- GraphNode newGraphNode = new GraphNode(*itReferenceNodePtr);
- GraphNodeList.push_back(newGraphNode);
- if((*itReferenceNodePtr)->m_end!=null)
- GraphNodeEndList.push_back(newGraphNode);
-
-
- for (itReferenceNodePtrSec = (*itReferenceNodePtr)->m_successors.begin(); itReferenceNodePtrSec != (*itReferenceNodePtr)->m_successors.end(); itReferenceNodePtrSec++ )
- {
- // If list of particular refecenceNode doesnt exist just create it
- if(relationGraphRefmap.find(*itReferenceNodePtrSec)==relationGraphRefmap.end)
- relationGraphRefmap.insert(pair<ReferenceNodePtr,GraphNode>(*itReferenceNodePtrSec,null));
- // dont like selfish relations -- it
- if(*itReferenceNodePtr != *itReferenceNodePtrSec)
- (relationGraphRefmap.find(*itReferenceNodePtrSec)->second).push_back(newGraphNode);
- }
-
- }
-
-
- /**
- *
- * setting relations
- *
- */
-
- for(itGraphNode=graphNodeList.begin(); itGraphNode != graphNodeList.end(); itGraphNode++)
- {
- if(relationGraphRefmap.find((*itGraphNode)->m_ReferenceNodePtrNode)!=.end())
- {
- list<GraphNode> succGraphNodelist = relationGraphRefmap.find((*itGraphNode)->m_ReferenceNodePtrNode)->second;
- for (itReferenceNodePtr = succGraphNodelist.begin(); itReferenceNodePtr != succGraphNodelist.end(); itReferenceNodePtr++)
- {
- (*itGraphNode)->m_GraphNodeList.push_back(*itReferenceNodePtr);
- }
- }
- }
-
- /**
- * finally nodes to the queue
- */
-
- for(itGraphNode = graphNodeEndList.begin(); itGraphNode != graphNodeEndList.end(); itGraphNode++)
- {
- graphNodeQueue.push(*itGraphNode);
- }
-
-
- while(!graphNodeQueue.empty())
- {
- graphNodeFront = graphNodeQueue.front();
- if(!graphNodeFront.visited)
- {
- reachedReferenceNodePrtList.push_back(graphNodeFront.graphNodeList);
- for(itGraphNode = graphNodeFront.m_GraphNodeList.begin(); itGraphNode != graphNodeFront.m_GraphNodeList.end(); itGraphNode++)
- {
- graphNodeQueue.push(*itGraphNode);
- }
- graphNodeFront.visited=true;
- }
- graphNodeQueue.pop();
- }
-
- return 0;
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|