Android Open Source - Mapyst Graph Node






From Project

Back to project page Mapyst.

License

The source code is released under:

Apache License

If you think the Android project Mapyst listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2013 Mapyst/*www  . j a v  a  2 s  .  com*/
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.mapyst.route;

import java.util.ArrayList;

/*
 Class: GraphNode
 A node in a graph of nodes.
 Includes public fields for data (the data stored in the graph node) and
 arclist
 (the list of arcs that originate from this graph node)

 Author:
 Brandon Kase

 Parameters:
 <E> - The type of data stored in the graph node
 */
public class GraphNode<E> {
  public E data;
  public ArrayList<Arc<E>> arcList;

  /*
   * Constructor: GraphNode
   * 
   * Parameters: data - The data to store in the graph node
   */
  public GraphNode(E data) {
    this.data = data;
    this.arcList = new ArrayList<Arc<E>>();
  }

  /*
   * Function: addArc Adds an arc to the list of arcs
   * 
   * Parameters: node - The node the arc will point towards distance - The
   * distance of the arc from this node to the node it points towards terrain
   * - The terrain in the arc
   */
  public void addArc(GraphNode<E> node, int distance, int terrain) {
    arcList.add(new Arc<E>(node, distance, terrain));
  }

  //Returns true if successfully removed
  public boolean removeArc(Arc<E> arc) {
    return arcList.remove(arc);
  }

  public boolean removeArc(GraphNode<E> node) {
    for (int i = 0; i < arcList.size(); i++) {
      if (arcList.get(i).getConnectedNode().equals(node)) {
        arcList.remove(i);
        return true;
      }
    }
    return false;
  }
  
  public void removeAllArcs() {
    arcList = new ArrayList<Arc<E>>();
  }

  public int hashCode() {
    return data.hashCode();
  }
  
  public boolean equals(Object obj) {
        return obj instanceof GraphNode && (((GraphNode) obj).data.equals(this.data));
    }

  public String toString() {
    StringBuilder sb = new StringBuilder();
    for (Arc<E> arc : arcList) {
      sb.append(this.data.toString())
                    .append("-(").append(arc.getDistance()).append(")->")
                    .append(arc.getConnectedNode().data)
                    .append("\n");
    }
    return sb.toString();
  }
}




Java Source Code List

com.mapyst.FileHandlerInterface.java
com.mapyst.android.AndroidFileHandler.java
com.mapyst.android.CampusLoader.java
com.mapyst.android.Compass.java
com.mapyst.android.DirectionsList.java
com.mapyst.android.Images.java
com.mapyst.android.LocationFinder.java
com.mapyst.android.MainScreen.java
com.mapyst.android.Mapyst.java
com.mapyst.android.Settings.java
com.mapyst.android.Splash.java
com.mapyst.android.asynctask.CampusLoaderTaskPrefs.java
com.mapyst.android.asynctask.CampusLoaderTask.java
com.mapyst.android.asynctask.RouteMakerTaskPrefs.java
com.mapyst.android.asynctask.RouteMakerTask.java
com.mapyst.android.ui.CenteredToastFactory.java
com.mapyst.android.ui.CompassOverlay.java
com.mapyst.android.ui.DirectionIcon.java
com.mapyst.android.ui.DirectionsListAdapter.java
com.mapyst.android.ui.DirectionsListItem.java
com.mapyst.android.ui.DrawingHelpers.java
com.mapyst.android.ui.Icon.java
com.mapyst.android.ui.LocationsAdapter.java
com.mapyst.android.ui.LocationsListView.java
com.mapyst.android.ui.RouteMapOverlay.java
com.mapyst.android.ui.SlidingScrollView.java
com.mapyst.android.ui.map.AnimatedMapZoomer.java
com.mapyst.android.ui.map.LocationBalloon.java
com.mapyst.android.ui.map.LocationChooserOverlay.java
com.mapyst.android.ui.map.MapUtils.java
com.mapyst.android.ui.map.MapViewLimiter.java
com.mapyst.android.ui.map.MapViewMover.java
com.mapyst.android.ui.map.OnMapTouchLimiterListener.java
com.mapyst.android.ui.map.PriorityMapView.java
com.mapyst.android.ui.map.ViewItemOverlay.java
com.mapyst.campus.Building.java
com.mapyst.campus.Campus.java
com.mapyst.campus.Floor.java
com.mapyst.campus.ListOfCampuses.java
com.mapyst.campus.Location_Type.java
com.mapyst.campus.Location.java
com.mapyst.route.Arc.java
com.mapyst.route.DataParser.java
com.mapyst.route.Direction.java
com.mapyst.route.DistanceCalculator.java
com.mapyst.route.GraphNode.java
com.mapyst.route.InterpretResult.java
com.mapyst.route.InterpretedInfo.java
com.mapyst.route.Interpreter.java
com.mapyst.route.LatLngPoint.java
com.mapyst.route.Prioritizable.java
com.mapyst.route.PriorityQ.java
com.mapyst.route.RouteFinder.java
com.mapyst.route.RoutePreferences.java
com.mapyst.route.Route.java
com.mapyst.route.ShortestPath.java
com.mapyst.route.Waypoint2D.java
com.mapyst.route.WaypointID.java
com.markupartist.android.widget.ActionBar.java
com.markupartist.android.widget.ScrollingTextView.java