Repository Summary
Checkout URI | https://github.com/danfis/libccd.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-12-22 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libccd | 2.0.0 |
README
libccd
libccd is library for a collision detection between two convex shapes. libccd implements variation on Gilbert–Johnson–Keerthi algorithm plus Expand Polytope Algorithm (EPA) and also implements algorithm Minkowski Portal Refinement (MPR, a.k.a. XenoCollide) as described in Game Programming Gems 7.
libccd is the only available open source library of my knowledge that include MPR algorithm working in 3-D space. However, there is a library called mpr2d, implemented in D programming language, that works in 2-D space.
libccd is currently part of:
- ODE library (see ODE’s ./configure –help how to enable it),
- FCL library from Willow Garage,
- Bullet3 library (https://github.com/bulletphysics/bullet3).
For implementation details on GJK algorithm, see http://www.win.tue.nl/~gino/solid/jgt98convex.pdf.
Dependencies
This library is currently based only on standard libraries. The only exception are testsuites that are built on top of CU (https://github.com/danfis/cu) library licensed under LGPL, however only testing depends on it and libccd library itself can be distributed without it.
License
libccd is licensed under OSI-approved 3-clause BSD License, text of license is distributed along with source code in BSD-LICENSE file. Each file should include license notice, the rest should be considered as licensed under 3-clause BSD License.
Compile And Install
libccd contains several mechanisms for compiling and installing. Using a simple Makefile, using autotools, and using CMake.
1. Using Makefile
Directory src/ contains Makefile that should contain everything needed for compilation and installation:
$ cd src/
$ make
$ make install
Library libccd is by default compiled in double precision of floating point numbers - you can change this by options USE_SINGLE/USE_DOUBLE, i.e.:
$ make USE_SINGLE=yes
will compile library in single precision.
Installation directory can be changed by options PREFIX, INCLUDEDIR and LIBDIR. For more info type ‘make help’.
2. Using Autotools
libccd also contains support for autotools: Generate configure script etc.:
$ ./bootstrap
Create new build/ directory:
$ mkdir build && cd build
Run configure script:
$ ../configure
Run make and make install:
$ make && make install
configure script can change the way libccd is compiled and installed, most significant option is –enable-double-precision which enables double precision (single is default in this case).
3. Using CMake
To build using make
:
$ mkdir build && cd build
$ cmake -G "Unix Makefiles" ..
$ make && make install
To build using ninja
:
$ mkdir build && cd build
$ cmake -G Ninja ..
$ ninja && ninja install
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/danfis/libccd.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-12-22 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libccd | 1.5.0 |
README
libccd
libccd is library for a collision detection between two convex shapes. libccd implements variation on Gilbert–Johnson–Keerthi algorithm plus Expand Polytope Algorithm (EPA) and also implements algorithm Minkowski Portal Refinement (MPR, a.k.a. XenoCollide) as described in Game Programming Gems 7.
libccd is the only available open source library of my knowledge that include MPR algorithm working in 3-D space. However, there is a library called mpr2d, implemented in D programming language, that works in 2-D space.
libccd is currently part of:
- ODE library (see ODE’s ./configure –help how to enable it),
- FCL library from Willow Garage,
- Bullet3 library (https://github.com/bulletphysics/bullet3).
For implementation details on GJK algorithm, see http://www.win.tue.nl/~gino/solid/jgt98convex.pdf.
Dependencies
This library is currently based only on standard libraries. The only exception are testsuites that are built on top of CU (https://github.com/danfis/cu) library licensed under LGPL, however only testing depends on it and libccd library itself can be distributed without it.
License
libccd is licensed under OSI-approved 3-clause BSD License, text of license is distributed along with source code in BSD-LICENSE file. Each file should include license notice, the rest should be considered as licensed under 3-clause BSD License.
Compile And Install
libccd contains several mechanisms for compiling and installing. Using a simple Makefile, using autotools, and using CMake.
1. Using Makefile
Directory src/ contains Makefile that should contain everything needed for compilation and installation:
$ cd src/
$ make
$ make install
Library libccd is by default compiled in double precision of floating point numbers - you can change this by options USE_SINGLE/USE_DOUBLE, i.e.:
$ make USE_SINGLE=yes
will compile library in single precision.
Installation directory can be changed by options PREFIX, INCLUDEDIR and LIBDIR. For more info type ‘make help’.
2. Using Autotools
libccd also contains support for autotools: Generate configure script etc.:
$ ./bootstrap
Create new build/ directory:
$ mkdir build && cd build
Run configure script:
$ ../configure
Run make and make install:
$ make && make install
configure script can change the way libccd is compiled and installed, most significant option is –enable-double-precision which enables double precision (single is default in this case).
3. Using CMake
To build using make
:
$ mkdir build && cd build
$ cmake -G "Unix Makefiles" ..
$ make && make install
To build using ninja
:
$ mkdir build && cd build
$ cmake -G Ninja ..
$ ninja && ninja install
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/danfis/libccd.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-12-22 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libccd | 1.4.0 |
README
libccd
libccd is library for a collision detection between two convex shapes. libccd implements variation on Gilbert–Johnson–Keerthi algorithm plus Expand Polytope Algorithm (EPA) and also implements algorithm Minkowski Portal Refinement (MPR, a.k.a. XenoCollide) as described in Game Programming Gems 7.
libccd is the only available open source library of my knowledge that include MPR algorithm working in 3-D space. However, there is a library called mpr2d, implemented in D programming language, that works in 2-D space.
libccd is currently part of:
- ODE library (see ODE’s ./configure –help how to enable it),
- FCL library from Willow Garage,
- Bullet3 library (https://github.com/bulletphysics/bullet3).
For implementation details on GJK algorithm, see http://www.win.tue.nl/~gino/solid/jgt98convex.pdf.
Dependencies
This library is currently based only on standard libraries. The only exception are testsuites that are built on top of CU (https://github.com/danfis/cu) library licensed under LGPL, however only testing depends on it and libccd library itself can be distributed without it.
License
libccd is licensed under OSI-approved 3-clause BSD License, text of license is distributed along with source code in BSD-LICENSE file. Each file should include license notice, the rest should be considered as licensed under 3-clause BSD License.
Compile And Install
libccd contains several mechanisms for compiling and installing. Using a simple Makefile, using autotools, and using CMake.
1. Using Makefile
Directory src/ contains Makefile that should contain everything needed for compilation and installation:
$ cd src/
$ make
$ make install
Library libccd is by default compiled in double precision of floating point numbers - you can change this by options USE_SINGLE/USE_DOUBLE, i.e.:
$ make USE_SINGLE=yes
will compile library in single precision.
Installation directory can be changed by options PREFIX, INCLUDEDIR and LIBDIR. For more info type ‘make help’.
2. Using Autotools
libccd also contains support for autotools: Generate configure script etc.:
$ ./bootstrap
Create new build/ directory:
$ mkdir build && cd build
Run configure script:
$ ../configure
Run make and make install:
$ make && make install
configure script can change the way libccd is compiled and installed, most significant option is –enable-double-precision which enables double precision (single is default in this case).
3. Using CMake
To build using make
:
$ mkdir build && cd build
$ cmake -G "Unix Makefiles" ..
$ make && make install
To build using ninja
:
$ mkdir build && cd build
$ cmake -G Ninja ..
$ ninja && ninja install
File truncated at 100 lines see the full file