Bullet: synchronize soft body helpers with current SVN.

This commit is contained in:
Benoit Bolsee 2009-12-22 19:52:14 +00:00
parent c033bf8957
commit 7e498afe33
2 changed files with 14 additions and 7 deletions

@ -793,7 +793,7 @@ btSoftBody* btSoftBodyHelpers::CreateEllipsoid(btSoftBodyWorldInfo& worldInfo,c
// //
btSoftBody* btSoftBodyHelpers::CreateFromTriMesh(btSoftBodyWorldInfo& worldInfo,const btScalar* vertices, btSoftBody* btSoftBodyHelpers::CreateFromTriMesh(btSoftBodyWorldInfo& worldInfo,const btScalar* vertices,
const int* triangles, const int* triangles,
int ntriangles) int ntriangles, bool randomizeConstraints)
{ {
int maxidx=0; int maxidx=0;
int i,j,ni; int i,j,ni;
@ -828,14 +828,16 @@ btSoftBody* btSoftBodyHelpers::CreateFromTriMesh(btSoftBodyWorldInfo& worldInfo
#undef IDX #undef IDX
psb->appendFace(idx[0],idx[1],idx[2]); psb->appendFace(idx[0],idx[1],idx[2]);
} }
// don't randomize now, let's give a chance to the application to set face data if (randomizeConstraints)
//psb->randomizeConstraints(); {
psb->randomizeConstraints();
}
return(psb); return(psb);
} }
// //
btSoftBody* btSoftBodyHelpers::CreateFromConvexHull(btSoftBodyWorldInfo& worldInfo, const btVector3* vertices, btSoftBody* btSoftBodyHelpers::CreateFromConvexHull(btSoftBodyWorldInfo& worldInfo, const btVector3* vertices,
int nvertices) int nvertices, bool randomizeConstraints)
{ {
HullDesc hdsc(QF_TRIANGLES,nvertices,vertices); HullDesc hdsc(QF_TRIANGLES,nvertices,vertices);
HullResult hres; HullResult hres;
@ -855,6 +857,9 @@ btSoftBody* btSoftBodyHelpers::CreateFromConvexHull(btSoftBodyWorldInfo& worldI
psb->appendFace(idx[0],idx[1],idx[2]); psb->appendFace(idx[0],idx[1],idx[2]);
} }
hlib.ReleaseResult(hres); hlib.ReleaseResult(hres);
psb->randomizeConstraints(); if (randomizeConstraints)
{
psb->randomizeConstraints();
}
return(psb); return(psb);
} }

@ -109,11 +109,13 @@ struct btSoftBodyHelpers
static btSoftBody* CreateFromTriMesh( btSoftBodyWorldInfo& worldInfo, static btSoftBody* CreateFromTriMesh( btSoftBodyWorldInfo& worldInfo,
const btScalar* vertices, const btScalar* vertices,
const int* triangles, const int* triangles,
int ntriangles); int ntriangles,
bool randomizeConstraints = true);
/* Create from convex-hull */ /* Create from convex-hull */
static btSoftBody* CreateFromConvexHull( btSoftBodyWorldInfo& worldInfo, static btSoftBody* CreateFromConvexHull( btSoftBodyWorldInfo& worldInfo,
const btVector3* vertices, const btVector3* vertices,
int nvertices); int nvertices,
bool randomizeConstraints = true);
}; };
#endif //SOFT_BODY_HELPERS_H #endif //SOFT_BODY_HELPERS_H