/*---------------------------------------------------------------------------------------------------------------- * CupCarbon: OSM based Wireless Sensor Network design and simulation tool * www.cupcarbon.com * ---------------------------------------------------------------------------------------------------------------- * Copyright (C) 2013 Ahcene Bounceur * ---------------------------------------------------------------------------------------------------------------- * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. *----------------------------------------------------------------------------------------------------------------*/ package graph; import java.util.LinkedList; public class VertexStd { private String name = ""; private int number; private boolean marque = false; private LinkedList<VertexStd> voisins; private LinkedList<Double> distances; public VertexStd(int number, String name) { voisins = new LinkedList<VertexStd>(); distances = new LinkedList<Double>(); this.number = number; this.name = name; } public void ajouterVoisin(VertexStd s, double distance) { voisins.addFirst(s); distances.addFirst(distance); } public void marquer() { marque = true; } public boolean etat() { return marque; } public double distance(VertexStd s) { for (int i = 0; i < voisins.size(); i++) { if (s == voisins.get(i)) { return distances.get(i); } } return -1; } public LinkedList<VertexStd> getVoisins() { return voisins; } public void display() { //System.out.print(number + "("+name+")"+ ": "); System.out.print((number+1) + ": "); for (VertexStd s : voisins) { //System.out.print(s.getNumber() + "("+s.getName()+")"+ " "); System.out.print((s.getNumber()+1) + " "); } } public StringBuilder displayNames() { StringBuilder sb = new StringBuilder() ; sb.append(getName() + ": "); System.out.print(getName() + ": "); for (VertexStd s : voisins) { sb.append(s.getName() + "(" + (int)distance(s) + ") "); System.out.print(s.getName() + "(" + distance(s) + ") "); } return sb ; } public int getNbVoisins() { return voisins.size(); } public boolean hasVoisin(VertexStd s) { for (int i = 0; i < voisins.size(); i++) { if (this.getVoisins().get(i) == s) return true; } return false; } //public String toString() { // return "" + name; //} public String getName() { return name; } public void setName(String name) { this.name = name; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } }