|
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.
|