README 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. libccd is library for a collision detection between two convex shapes.
  2. libccd implements variation on Gilbert–Johnson–Keerthi algorithm plus Expand
  3. Polytope Algorithm (EPA) and also implements algorithm Minkowski Portal
  4. Refinement (MPR, a.k.a. XenoCollide) as described in Game Programming Gems 7.
  5. For more info see home of libccd: http://libccd.danfis.cz.
  6. Dependencies
  7. -------------
  8. This library is currently based only on standard libraries.
  9. The only exception are testsuites that are built on top of CU
  10. (cu.danfis.cz) library licensed under LGPL, however only testing depends on
  11. it and libccd library itself can be distributed without it.
  12. License
  13. --------
  14. libccd is licensed under OSI-approved 3-clause BSD License, text of license
  15. is distributed along with source code in BSD-LICENSE file.
  16. Each file should include license notice, the rest should be considered as
  17. licensed under 3-clause BSD License.
  18. Compile And Install
  19. --------------------
  20. Simply type 'make' and 'make install' in src/ directory.
  21. Library libccd is by default compiled in double precision of floating point
  22. numbers - you can controll this by options USE_SINGLE/USE_DOUBLE, i.e.:
  23. $ make USE_SINGLE=yes
  24. will compile library in single precision.
  25. Installation directory can be changed by options PREFIX, INCLUDEDIR and
  26. LIBDIR.
  27. For more info type 'make help'.
  28. Compile And Install Using Autotools
  29. ------------------------------------
  30. libccd also contains support for autotools:
  31. 1) Generate configure script etc.: $ ./bootstrap
  32. 2) Create new build/ directory: $ mkdir build && cd build
  33. 3) Run configure script: $ ../configure
  34. 4) Run make and make install: $ make && make install
  35. configure script can change the way libccd is compiled and installed, most
  36. significant option is --enable-double-precision which enables double
  37. precision (single is default in this case).
  38. Usage
  39. ------
  40. See ccd.h for public API.
  41. In your application include <ccd/ccd.h>, setup ccd_t structure and run some
  42. of functions (all functions are reentrant). Then link with libccd.a.
  43. Directories
  44. ------------
  45. src/
  46. - contains source files of libccd.
  47. src/testsuites
  48. - testsuites - libccd must be compiled before compiling this.
  49. src/testsuites/cu
  50. - CU unit testing framework
  51. src/testsuites/regressions
  52. - files ready for regression tests
  53. doc/
  54. - some documentation.