73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
|
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.
|
|||
|
|
|||
|
For more info see home of libccd: http://libccd.danfis.cz.
|
|||
|
|
|||
|
|
|||
|
Dependencies
|
|||
|
-------------
|
|||
|
This library is currently based only on standard libraries.
|
|||
|
The only exception are testsuites that are built on top of CU
|
|||
|
(cu.danfis.cz) 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
|
|||
|
--------------------
|
|||
|
Simply type 'make' and 'make install' in src/ directory.
|
|||
|
|
|||
|
Library libccd is by default compiled in double precision of floating point
|
|||
|
numbers - you can control 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'.
|
|||
|
|
|||
|
|
|||
|
Compile And Install Using Autotools
|
|||
|
------------------------------------
|
|||
|
libccd also contains support for autotools:
|
|||
|
1) Generate configure script etc.: $ ./bootstrap
|
|||
|
2) Create new build/ directory: $ mkdir build && cd build
|
|||
|
3) Run configure script: $ ../configure
|
|||
|
4) 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).
|
|||
|
|
|||
|
|
|||
|
Usage
|
|||
|
------
|
|||
|
See ccd.h for public API.
|
|||
|
In your application include <ccd/ccd.h>, setup ccd_t structure and run some
|
|||
|
of functions (all functions are reentrant). Then link with libccd.a.
|
|||
|
|
|||
|
|
|||
|
Directories
|
|||
|
------------
|
|||
|
src/
|
|||
|
- contains source files of libccd.
|
|||
|
src/testsuites
|
|||
|
- testsuites - libccd must be compiled before compiling this.
|
|||
|
src/testsuites/cu
|
|||
|
- CU unit testing framework
|
|||
|
src/testsuites/regressions
|
|||
|
- files ready for regression tests
|
|||
|
|
|||
|
doc/
|
|||
|
- some documentation.
|