Speed up mesh support function with warmstarts.
PiperOrigin-RevId: 664807396 Change-Id: I9124e65efd9140a8e858b7b6be0867c26961477b
This commit is contained in:
committed by
Copybara-Service
parent
6241814ad7
commit
0fa39164f7
@@ -219,11 +219,11 @@ void mjc_support(mjtNum res[3], mjCCDObj* obj, const mjtNum dir[3]) {
|
|||||||
vert_globalid = m->mesh_graph + graphadr + 2 + numvert;
|
vert_globalid = m->mesh_graph + graphadr + 2 + numvert;
|
||||||
edge_localid = m->mesh_graph + graphadr + 2 + 2*numvert;
|
edge_localid = m->mesh_graph + graphadr + 2 + 2*numvert;
|
||||||
|
|
||||||
// init with first vertex in convex hull
|
// init with first vertex in convex hull or warmstart
|
||||||
ibest = 0;
|
ibest = obj->meshindex < 0 ? 0 : obj->meshindex;
|
||||||
tmp = local_dir[0] * (mjtNum)vertdata[3*vert_globalid[0]] +
|
tmp = local_dir[0] * (mjtNum)vertdata[3*vert_globalid[ibest]+0] +
|
||||||
local_dir[1] * (mjtNum)vertdata[3*vert_globalid[0]+1] +
|
local_dir[1] * (mjtNum)vertdata[3*vert_globalid[ibest]+1] +
|
||||||
local_dir[2] * (mjtNum)vertdata[3*vert_globalid[0]+2];
|
local_dir[2] * (mjtNum)vertdata[3*vert_globalid[ibest]+2];
|
||||||
|
|
||||||
// hill-climb until no change
|
// hill-climb until no change
|
||||||
change = 1;
|
change = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user