123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "internaledges.h"
- #include "BulletCollision/CollisionDispatch/btInternalEdgeUtility.h"
- namespace{
- bool CustomMaterialCombinerCallback( btManifoldPoint& cp,const btCollisionObjectWrapper* colObj0Wrap,int partId0,int index0,const btCollisionObjectWrapper *colObj1Wrap,int partId1,int index1 ){
-
- // printf( "contact added internal edge contacts!\n" );fflush( stdout );
-
- btAdjustInternalEdgeContacts( cp,colObj1Wrap,colObj0Wrap,partId1,index1 );
-
- // cp.m_combinedRestitution=0;
-
- // cp.m_combinedFriction=1;
-
- return false;
- }
- }
- namespace bbBullet{
- void createInternalEdgeInfo( btBvhTriangleMeshShape *mesh ){
-
- printf( "create internal edge info!\n" );fflush( stdout );
-
- // enable callback
- gContactAddedCallback=CustomMaterialCombinerCallback;
- // create edge info
- btTriangleInfoMap *info=new btTriangleInfoMap();
-
- btGenerateInternalEdgeInfo( mesh,info );
- mesh->setTriangleInfoMap( info );
- }
- }
|