From d53ac9861a726ea6f156a6249d65bc20d38713d8 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 16 Sep 2020 23:30:16 +0430 Subject: [PATCH] README (#14) Added README --- .gitignore | 7 +- README.md | 130 +++++++++++++++++++++ build.gradle | 26 ++--- gradle/wrapper/gradle-wrapper.jar | Bin 55190 -> 58702 bytes gradlew | 183 ++++++++++++++++++++++++++++++ gradlew.bat | 100 ++++++++++++++++ pictures/logo.png | Bin 0 -> 585 bytes pictures/screenshot.png | Bin 0 -> 55609 bytes settings.gradle | 2 +- src/main/kotlin/Launcher.kt | 6 +- 10 files changed, 426 insertions(+), 28 deletions(-) create mode 100644 README.md create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100755 pictures/logo.png create mode 100644 pictures/screenshot.png diff --git a/.gitignore b/.gitignore index 8a0a60d..ee148d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -# Project exclude paths -/.gradle/ -/build/ -/build/classes/java/main/ \ No newline at end of file +.gradle/ +build/ +.idea/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..82d6659 --- /dev/null +++ b/README.md @@ -0,0 +1,130 @@ +# Point Quadtree visualizer + +An application which offers a **Point Quadtree** implementation within a flexible **visualizer**. + +You can learn more about the Quadtrees at [Wikipedia](https://en.wikipedia.org/wiki/Quadtree). + +> This application was made for an assessment during a **data structures and algorithms** college course. + +Have a look, + +![Application screenshot](pictures/screenshot.png) + +## Ingredients + +Built on top of [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) language with help of the following awesome tools, + +- [JavaFX](https://openjfx.io/) + + > The desktop application platform. + +- [Kotlin](https://kotlinlang.org/) + + > To eliminate the boilerplate codes. + +- [RxJava](https://github.com/ReactiveX/RxJava) + + > To handle user input events. + +- [Gradle](https://gradle.org/) + + > The build automation tool, handles the compilation and dependencies. + +- :heart: + +## Getting started + +To get a local copy **up and running** follow these simple steps, + +1. Make sure **Java 11** or higher is installed. + +2. Clone the repository. + + > You can do this either by using the `git` command, + > + > ```sh + > git clone https://github.com/agcom/quad-tree.git + > ``` + > + > or downloading and extracting the [project `zip` artifact](https://github.com/agcom/quad-tree/archive/master.zip). + +3. Run the application. + + > You need to invoke the gradle `run` task to get the application running. + > + > You can use the pre-made **gradle scripts** even if you don't have the required gradle bundle installed. + > + > - On Linux, + > + > ```sh + > ./gradlew run + > ``` + > + > - On Windows, + > + > ```powershell + > ./gradlew.bat run + > ``` + > + > For more information on running batch files on Windows visit this [tutorial](https://www.wikihow.com/Run-a-Batch-File-from-the-Command-Line-on-Windows). + +## Usage + +Let's review the application's interesting features, + +- Cursor interactions + + > Click and drag on the quadtree, eventually finding yourself drawing a home! + +- Change the quadtree specifications, + + > You can change the tree dimensions, *width* and *height*. + > + > Also, adjust the *capacity*; The amount of points each tree will hold before dividing. + +- Spray *random points* + + > Your tree feeling lonely? Give him some babies for god's sake! + > + > Either drag your cursor on top of the tree, or let us add some *random points*. + +- Change query area + + > The quadtree implementation uses abstractions for areas. Currently, two shapes are implemented, *circle* and *rectangle*. + +- Erase! + + > This may seem strange, but trust me, it's a cool feature! + > + > Check the *eraser* box and click/drag the cursor on top of some points. This is where the magic happens! Division redo! + +- Adjust the input processing delays + + > Being eager isn't always the best option. + > + > Delays are necessary to guarantee a lag free experience! + > + > If you're feeling **lags**, try increasing the delays, most importantly the *draw delay*. + +- Some cool statistics about your query efficiency! + +## Contributing + +Contributions are what make the open source community such an amazing place to be learn, inspire and create. + +Any contributions you make are **greatly appreciated**. + +### Bug? Feature? + +Create an **issue**, we'll investigate it ASAP. + +If you've gone far, share your code with us. **Pull requests** are appreciated. + +> Unfamiliar with pull requests? Checkout this [tutorial](https://guides.github.com/activities/forking/). + +## Contact us + +Got questions? Two ways just for you. + +- Create an issue with the ![question-lable](https://img.shields.io/github/labels/agcom/quad-tree/question?style=flat-square) label. +- Directly contact the [project owner](https://github.com/agcom). \ No newline at end of file diff --git a/build.gradle b/build.gradle index f683a5c..05f5f94 100755 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,8 @@ plugins { - id 'application' id 'java' id 'org.jetbrains.kotlin.jvm' version '1.3.61' id 'org.openjfx.javafxplugin' version '0.0.8' - } group 'ir.agcom' @@ -14,34 +12,24 @@ mainClassName = 'Launcher' sourceCompatibility = 11 repositories { - mavenCentral() - maven { - - url "https://plugins.gradle.org/m2/" - - } - } dependencies { - - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation 'io.reactivex.rxjava2:rxjavafx:2.2.2' implementation 'io.reactivex.rxjava2:rxjava:2.2.17' implementation 'com.jfoenix:jfoenix:9.0.8' - -} - -compileKotlin { - - kotlinOptions.jvmTarget = "11" - } javafx { - version = '11' modules = ['javafx.controls', 'javafx.fxml', 'javafx.base', 'javafx.graphics', 'javafx.swing'] +} +compileKotlin { + kotlinOptions.jvmTarget = '11' +} +compileTestKotlin { + kotlinOptions.jvmTarget = '11' } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 87b738cbd051603d91cc39de6cb000dd98fe6b02..cc4fdc293d0e50b0ad9b65c16e7ddd1db2f6025b 100755 GIT binary patch delta 19358 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 gi|X0BE&rYTd7Zfqxa|GnRTZ+!>V{XEk%Q#I#Q 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..9618d8d --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pictures/logo.png b/pictures/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..9d3ed9195fa43bb305b5c11a31c706010cdf7fd8 GIT binary patch literal 585 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 z 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

J2QWrV9Br44>nvN$ExosBF2?V>hl*)kH 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