aahamed / SeniorDesign

Repo for senior design code
1 stars 0 forks source link

Senior Design Project by Team MANET

Implementation of a theoretical connectivity algorithm in Java

Software Dependencies

GUI Usage

  1. Navigate to the project's root directory, and compile the codebase with: make all
    • Note: If you do not wish to use Make, use:
      • Windows: javac -cp './bin/;./lib/*' -d ./bin/ ./src/*.java
      • OS X/Linux: javac -cp './bin/:./lib/*' -d ./bin/ ./src/*.java
  2. Run the GUI with: make run
    • Note: If you do not wish to use Make, use:
      • Windows: java -cp './bin/;./lib/*' MainGUI
      • OS X/Linux: java -cp './bin/:./lib/*' MainGUI

Command-Line Usage (with Make)

  1. Navigate to the project's root directory, and compile the codebase with: make all
  2. Run the code with:
    • Windows: java -cp './bin/;./lib/*' MainBody
    • OS X/Linux: java -cp './bin/:./lib/*' MainBody
  3. Set options with flags:

    • Use --help flag to see usage details:

      Usage: MainBody [--help] [<args>] [-i <path>]
      
      Input file:
      -i followed by the path to input text file
      
      Type of input data:
      -g for GPS coordinates (Default)
      -m for MATLAB generated coordinates
      
      MST algorithm to be used:
      -k for Kruskal's algorithm (Default)
      -p for Prim's algorithm
    • Input text file should be formatted as follows:
      • See ./input/in.txt for an example of how to set up GPS coordinates
      • See ./input/min.txt for an example of how to set up MATLAB generated coordinates
  4. To plot the results using GNUplot, use: make graphGNU
  5. To plot the results using Java instead, use: make graphJava

Command-Line Usage (without Make)

  1. Navigate to the project's root directory, and compile the codebase with:
    • Windows: javac -cp './bin/;./lib/*' -d ./bin/ ./src/*.java
    • OS X/Linux: javac -cp './bin/:./lib/*' -d ./bin/ ./src/*.java
  2. Run the code with:
    • Windows: java -cp './bin/;./lib/*' MainBody
    • OS X/Linux: java -cp './bin/:./lib/*' MainBody
  3. Set options with flags:

    • Use --help flag to see usage details:

      Usage: MainBody [--help] [<args>] [-i <path>]
      
      Input file:
      -i followed by the path to input text file
      
      Type of input data:
      -g for GPS coordinates (Default)
      -m for MATLAB generated coordinates
      
      MST algorithm to be used:
      -k for Kruskal's algorithm (Default)
      -p for Prim's algorithm
    • Input text file should be formatted as follows:
      • See ./input/in.txt for an example of how to set up GPS coordinates
      • See ./input/min.txt for an example of how to set up MATLAB generated coordinates
  4. To plot the results using GNUplot, use: gnuplot -persist ./gnuplot/graph.gnu
  5. To plot the results using Java instead, use:
    • Windows: java -cp './bin/;./lib/*' TransformScale
    • OS X/Linux: java -cp './bin/:./lib/*' TransformScale

GNUplot Installation

For Windows:

For OS X:

Note: OS X does not come with a package manager, we recommend Homebrew.

brew install qt
brew install gnuplot --with-qt

For Linux:

For Ubuntu:

sudo apt-get install gnuplot

For Debian:

su root
apt-get install gnuplot

For Fedora:

Note: Use yum instead of dnf if on Fedora 21 or older.

su root
dnf install gnuplot

Known Issues

Sources