Add of isolateNode method

This commit is contained in:
lasnier 2012-11-23 21:27:39 +01:00
commit 44e25b1406
4 changed files with 66 additions and 7 deletions

View file

@ -59,6 +59,12 @@ public :
* @param nbNode number of nodes for the topology
*/
virtual void construct(unsigned nbNode) =0;
/**
*Changes the topology : removes any connection from/to the given node.
*@param idNode index of the node to be isolated
*/
virtual void isolateNode(unsigned idNode) =0;
};
}

View file

@ -28,8 +28,6 @@ Contact: paradiseo-help@lists.gforge.inria.fr
*/
#include <vector>
template <class TopologyType>
std::vector<unsigned> paradiseo::smp::Topology<TopologyType>::getIdNeighbors(unsigned idNode) const
{
@ -45,3 +43,17 @@ void paradiseo::smp::Topology<TopologyType>::construct(unsigned nbNode)
{
_builder(nbNode, _matrix);
}
template <class TopologyType>
void paradiseo::smp::Topology<TopologyType>::isolateNode(unsigned idNode)
{
for(int i=0;i<_matrix.size();i++)
{
//Line of idNode to false : no connection FROM this node
_matrix[idNode][i]=false;
//Column of idNode to false : no connection TO this node
_matrix[i][idNode]=false;
}
}

View file

@ -68,6 +68,12 @@ public :
*/
void construct(unsigned nbNode);
/**
*Inherited from AbstractTopology : changes the topology : removes any connection from/to the given node.
*@param idNode index of the node to be isolated
*/
void isolateNode(unsigned idNode);
private :
TopologyType _builder;