Skip to content

Collision detection by space partitioning using a Quad Tree

License

Notifications You must be signed in to change notification settings

RamezzE/QuadTree-SFML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SFML QuadTree

Collision detection by space partitioning using a Quad Tree data structure.

Written in C++ using the SFML graphics library

Quadtree Visualizer preview

Prerequisites

Linux

  • You can run these commands on linux to install g++, Make and SFML
$ sudo apt-get install g++
$ sudo apt-get install make
$ sudo apt-get install libsfml-dev

Windows

  • Install the proper SFML version from the website (MinGW version for GNU Make build or Visual C++ for MS Build)
  • Unzip the SFML downloaded folder ( You can install 7zip to be able to unzip )

GNU Make

  • Install GNU Make by installing chocolatey package manager and running this command from an elevated Command Prompt:
$ choco install make
  • Install MinGW g++ MinGW 32-bit or MinGW 64-bit (The SFML version and the MinGW version have to match)

  • After unzipping the MinGW file, add your path to mingw32/bin or mingw64/bin to PATH in the system environmental variables

  • Edit the SFML_DIR in the Makefile to add your correct SFML folder or copy the folder to the project directory and name the folder 'SFML'

MS Build

  • Visual Studio 15 or above
  • VC++ 15 or above

Building

GNU Make (Method used)

  • Download source code

  • Open your terminal in your project directory where the Makefile exists

  • Run Make in your terminal:

$ make
  • List of make commands you can use
# Build and run in release mode
$ make

# Build and run in debug mode
$ make debug && make run

# Rebuild in release or debug mode
$ make rebuild

# or 
$ make rebuild-debug

# Clean the files
$ make clean

# Run the latest compiled build
$ make run

MS Build

  1. Add the </path/to/sfml_folder/>/include to your additional C++ include directories.

  2. Add </path/to/sfml_folder/>/lib to your additional library directories.

  3. Add the SFML libraries used to your additional dependencies

    eg: sfml-graphics.lib;sfml-system.lib;sfml-window.lib;

  4. Add the dlls in your SFML path/bin along with your executable

Acknowledgements

This QuadTree is inspired by this tutorial series

License

This project is licensed under the MIT license