+ CMake build system fix under Windows: don't define _WINDOWS to allow Glut console demo to build properly

+ Allow user to enable useConvexConservativeDistanceUtil . Use dynamicsWorld->getDispatchInfo().m_useConvexConservativeDistanceUtil = true;
(see Demos/Benchmarks/Benchmark4 (convex objects falling down)
+ Fix for plane drawing (just wire-frame)
+ Gimpact: use collision margin of 0.07 for demo (because BULLET_TRIANGLE_COLLISION is used)
+ replace dot,cross,distance,angle,triple in btVector3 by btDot, btCross,btDistance,btAngle,btDistance to avoid naming conflicts
+ Some fixes in GJK penetration depth normal direction (broken in a previous commit)
+ fix in calculateDiffAxisAngleQuaternion to make ConvexConservativeDistanceUtil work properly
+ allow debug drawing to debug btContinuousConvexCollision
+ add comment/warning that btTriangleMesh::findOrAddVertex is an internal method, users should use addTriangle instead
This commit is contained in:
erwin.coumans
2009-07-15 16:47:48 +00:00
parent a27b349dd0
commit 40c73f327c
35 changed files with 343 additions and 222 deletions

View File

@@ -118,11 +118,11 @@ void SoftDemo::clientMoveAndDisplay()
const btVector3 rayTo=getRayTo(x,y);
const btVector3 rayDir=(rayTo-rayFrom).normalized();
const btVector3 N=(m_cameraTargetPosition-m_cameraPosition).normalized();
const btScalar O=dot(m_impact,N);
const btScalar den=dot(N,rayDir);
const btScalar O=btDot(m_impact,N);
const btScalar den=btDot(N,rayDir);
if((den*den)>0)
{
const btScalar num=O-dot(N,rayFrom);
const btScalar num=O-btDot(N,rayFrom);
const btScalar hit=num/den;
if((hit>0)&&(hit<1500))
{
@@ -1442,8 +1442,8 @@ void SoftDemo::renderme()
const btScalar a= (btScalar)0.5;
const btVector3 n= m_softBodyWorldInfo.water_normal;
const btVector3 o= -n*m_softBodyWorldInfo.water_offset;
const btVector3 x= cross(n,axis[n.minAxis()]).normalized();
const btVector3 y= cross(x,n).normalized();
const btVector3 x= btCross(n,axis[n.minAxis()]).normalized();
const btVector3 y= btCross(x,n).normalized();
const btScalar s= 25;
idraw->drawTriangle(o-x*s-y*s,o+x*s-y*s,o+x*s+y*s,c,a);
idraw->drawTriangle(o-x*s-y*s,o+x*s+y*s,o-x*s+y*s,c,a);