Installation Instructions
Version 1.0 of Self-CCD is developed by Visual Studio 2005, so currently it
can only be used on Windows platform.
The package is provided as static lib files (dccd.lib) and head files.
For external calling, the following directories will be used:
inc\
#head files
lib\release\
#release version of dccd.lib
lib\debug\
#debug version of dccd.lib
make\
#project files for Visual Stdio 2005
Download data file
To run the demos, please download data files from fellowing links:
download http://gamma-web.iacs.umd.edu/SR/benchmarks/cloth_ball.plys.zip
and put the extracted ply files into d:\data\cloth_ball.plys\
Building Library and Demos
- Open make\self-ccd.sln, then build and run it.
- For example, following information is output on my PC:
==========================================
CCD Information:
intersection time: 90.8777
collecting nonadjacent: 54.7118
processing nonadjacent: 36.0546
processing adjacent: 0.110595
BVH and update time: 25.9455
refit BVH: 8.07839
update vtx, boxes for V/E/F: 17.8665
all vf tests: 886300, true vf tests: 103277, ratio: 0.116526
all ee tests: 3111810, true ee tests: 539010, ratio: 0.173214
box test: 1383337716
total: 116.824 seconds
=============================================
Self-CCD API
All the API are listed in inc/ccdAPI.h. An example is shown in sample/main.cpp:
a. Providing the initial configuration of the deformable model:
ccdInitModel(vtxs, tris);
Here vtxs is a list of vertices, and tris is a list of triangles (each is
defined by
three indices)
b. As the model is deforming, update the model by providing current vertices:
ccdUpdateVtxs(vtxs);
c. Checking collisions:
ccdChecking(true); // true for refitting the BVH, false for rebuilding the BVH
d. Get timing and counting information:
ccdReport();
e. Clear memory:
ccdQuitModel();
f. Set callback functions for EE/VF tests:
ccdSetEECallback(EECallback);
ccdSetVFCallback(VFCallback);
They will be called then true EE/VF tests are founded.
Bug Report
We would be interested in knowing more about your application as well as any
bugs you may encounter in the collision detection library. You can
report them by sending e-mail to geom@cs.unc.edu or tang_m74@hotmail.com