/* * 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; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * GraphNode.java * Copyright (C) 2003 University of Waikato, Hamilton, New Zealand * */ package weka.gui.graphvisualizer; /** * This class represents a node in the Graph. * * @author Ashraf M. Kibriya (amk14@cs.waikato.ac.nz) * @version $Revision: 4995 $ - 23 Apr 2003 - Initial version (Ashraf M. Kibriya) */ public class GraphNode extends Object implements GraphConstants { /** ID and label for the node */ public String ID, lbl; /** The outcomes for the given node */ public String [] outcomes; /** probability table for each outcome given outcomes of parents, if any */ public double [][] probs; //probabilities /** The x and y position of the node */ public int x=0, y=0; /** The indices of parent nodes */ public int [] prnts; //parent nodes /** The indices of nodes to which there are edges from this * node, plus the type of edge */ public int [][] edges; /** Type of node. Default is Normal node type */ public int nodeType=NORMAL; /** * Constructor * */ public GraphNode(String id, String label) { ID = id; lbl = label; nodeType=NORMAL; } /** * Constructor * */ public GraphNode(String id, String label, int type ) { ID = id; lbl = label; nodeType = type; } /** * Returns true if passed in argument is an instance * of GraphNode and is equal to this node. * Implemented to enable the use of contains method * in Vector/FastVector class. */ public boolean equals(Object n) { if(n instanceof GraphNode && ((GraphNode) n).ID.equalsIgnoreCase(this.ID)) { //System.out.println("returning true, n.ID >"+((GraphNode)n).ID+ // "< this.ID >"+this.ID+"<"); return true; } else return false; } } // GraphNode