[brlcad-commits] SF.net SVN: brlcad:[47282] brlcad/trunk/src/libged/simulate
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <abh...@us...> - 2011-10-18 04:35:01
|
Revision: 47282 http://brlcad.svn.sourceforge.net/brlcad/?rev=47282&view=rev Author: abhi2011 Date: 2011-10-18 04:34:55 +0000 (Tue, 18 Oct 2011) Log Message: ----------- Some corrections to normals and contact pair generation Modified Paths: -------------- brlcad/trunk/src/libged/simulate/simcollisionalgo.cpp brlcad/trunk/src/libged/simulate/simrt.c Modified: brlcad/trunk/src/libged/simulate/simcollisionalgo.cpp =================================================================== --- brlcad/trunk/src/libged/simulate/simcollisionalgo.cpp 2011-10-17 23:43:00 UTC (rev 47281) +++ brlcad/trunk/src/libged/simulate/simcollisionalgo.cpp 2011-10-18 04:34:55 UTC (rev 47282) @@ -188,9 +188,7 @@ // Now add the RT contact pairs for (i=0; i<rt_mf->num_contacts; i++){ - btVector3 ptA, ptB; - btVector3 normalWorldOnB(0.000000,0.000000, -1.000000); - rt_mf->contacts[i].depth = rbA->iter * 0.02f; + btVector3 ptA, ptB, normalWorldOnB; VMOVE(ptA, rt_mf->contacts[i].ptA); VMOVE(ptB, rt_mf->contacts[i].ptB); @@ -205,7 +203,7 @@ rt_mf->rbA->rb_namep, V3ARGS(ptA), rt_mf->rbB->rb_namep, V3ARGS(ptB), V3ARGS(normalWorldOnB), - (rt_mf->contacts[i].depth)); + rt_mf->contacts[i].depth); } }//end- if( bu_strcmp... Modified: brlcad/trunk/src/libged/simulate/simrt.c =================================================================== --- brlcad/trunk/src/libged/simulate/simrt.c 2011-10-17 23:43:00 UTC (rev 47281) +++ brlcad/trunk/src/libged/simulate/simrt.c 2011-10-18 04:34:55 UTC (rev 47282) @@ -617,26 +617,20 @@ bu_log("create_contact_pairs : Normal got as %f,%f, %f", V3ARGS(c));*/ - VSET(mf->contacts[0].normalWorldOnB, 0, 0, -1.0000); - VSET(mf->contacts[1].normalWorldOnB, 0, 0, -1.0000); - VSET(mf->contacts[2].normalWorldOnB, 0, 0, -1.0000); - VSET(mf->contacts[3].normalWorldOnB, 0, 0, -1.0000); + VSET(mf->contacts[0].normalWorldOnB, 0, 0, 1.0000); + VSET(mf->contacts[1].normalWorldOnB, 0, 0, 1.0000); + VSET(mf->contacts[2].normalWorldOnB, 0, 0, 1.0000); + VSET(mf->contacts[3].normalWorldOnB, 0, 0, 1.0000); /* Get penetration depth */ VSUB2(c, overlap_max, overlap_min); - mf->contacts[0].depth = c[Z]*0.5; - mf->contacts[1].depth = c[Z]*0.5; - mf->contacts[2].depth = c[Z]*0.5; - mf->contacts[3].depth = c[Z]*0.5; + mf->contacts[0].depth = c[Z]; + mf->contacts[1].depth = c[Z]; + mf->contacts[2].depth = c[Z]; + mf->contacts[3].depth = c[Z]; bu_log("create_contact_pairs : Penetration depth set to %f", mf->contacts[0].depth ); - /*VSET(mf->contacts[0].ptA, 0.000000, 0.000000, -0.001389); - VSET(mf->contacts[1].ptA, 1.000000, 0.000000, -0.001389); - - VSET(mf->contacts[1].ptB, 0.000000, 0.960000, -0.001389); - VSET(mf->contacts[0].ptB, 1.000000, 0.960000, -0.001389);*/ - VSET(mf->contacts[0].ptB, 1.000000, 1.000000, mf->contacts[0].depth); VSET(mf->contacts[1].ptB, 1.000000, 0.000000, mf->contacts[1].depth); VSET(mf->contacts[2].ptB, 0.000000, 0.000000, mf->contacts[2].depth); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |