{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/969","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/969/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/969/comments","events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/969/events","html_url":"https://github.com/RobotLocomotion/drake/pull/969","id":67160036,"number":969,"title":"Direct Mex-to-Mex LCP invocation","user":{"login":"psiorx","id":3849600,"avatar_url":"https://avatars.githubusercontent.com/u/3849600?v=3","gravatar_id":"","url":"https://api.github.com/users/psiorx","html_url":"https://github.com/psiorx","followers_url":"https://api.github.com/users/psiorx/followers","following_url":"https://api.github.com/users/psiorx/following{/other_user}","gists_url":"https://api.github.com/users/psiorx/gists{/gist_id}","starred_url":"https://api.github.com/users/psiorx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psiorx/subscriptions","organizations_url":"https://api.github.com/users/psiorx/orgs","repos_url":"https://api.github.com/users/psiorx/repos","events_url":"https://api.github.com/users/psiorx/events{/privacy}","received_events_url":"https://api.github.com/users/psiorx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-04-08T15:47:40Z","updated_at":"2015-04-10T01:41:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/969","html_url":"https://github.com/RobotLocomotion/drake/pull/969","diff_url":"https://github.com/RobotLocomotion/drake/pull/969.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/969.patch"},"body":"This gets rid of the ```mexCallMATLAB``` call in ```solveLCPmex```.\r\n\r\nThere are also two new utility functions in ```drakeUtil.cpp```.  The first is a ```callMexStandalone()``` function which allows mex files to be called  directly from c++.  The second is a function to build a MATLAB sparse matrix in mex.\r\n\r\nIn order to build a MATLAB sparse matrix in mex on 64-bit machines, the mex file must be compiled with the ```-largeArrayDims``` flag.  Currently, this is not the case so I suspect this will be broken until https://github.com/RobotLocomotion/cmake/pull/9 is incorporated.\r\n\r\nGetting rid of the ```mexCallMATLAB``` function gives an additional 5-10% performance boost to solveLCPmex as there is now a more direct pathway to the path LCP solver.\r\n\r\nResolves #965"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments/91397358","html_url":"https://github.com/RobotLocomotion/drake/pull/969#issuecomment-91397358","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/969","id":91397358,"user":{"login":"RobotLocomotionBuild","id":8457190,"avatar_url":"https://avatars.githubusercontent.com/u/8457190?v=3","gravatar_id":"","url":"https://api.github.com/users/RobotLocomotionBuild","html_url":"https://github.com/RobotLocomotionBuild","followers_url":"https://api.github.com/users/RobotLocomotionBuild/followers","following_url":"https://api.github.com/users/RobotLocomotionBuild/following{/other_user}","gists_url":"https://api.github.com/users/RobotLocomotionBuild/gists{/gist_id}","starred_url":"https://api.github.com/users/RobotLocomotionBuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobotLocomotionBuild/subscriptions","organizations_url":"https://api.github.com/users/RobotLocomotionBuild/orgs","repos_url":"https://api.github.com/users/RobotLocomotionBuild/repos","events_url":"https://api.github.com/users/RobotLocomotionBuild/events{/privacy}","received_events_url":"https://api.github.com/users/RobotLocomotionBuild/received_events","type":"User","site_admin":false},"created_at":"2015-04-10T01:41:28Z","updated_at":"2015-04-10T01:41:28Z","body":"Site: drake006\nBuild Name: master-pull-psiorx-jc-dlopen-pathlcp-into-RobotLocomotion-master\nBuild Server Directory: /tmp/drake-master-17617/drake\nPull Request: https://github.com/RobotLocomotion/drake/pull/969\nCDash: http://kobol.csail.mit.edu/cd/viewTest.php?onlyfailed&buildid=12384\n\nMost recent commits to drake included in this build:\n```\n1573a69 Merge branch 'jc-dlopen-pathlcp' of https://github.com/psiorx/drake\n6078ccc added a complementarity constraint check to fastQP in both matlab and c++\n5b7acde added a MexWrapper class to drakeUtil to keep a persistent dlopen channel to mexfiles\na4d3b5a updated cmake submodule, moved pathLCP mex logic from matlab to cmake\na694801 Merge pull request #964 from psiorx/jc-getDrakeMexPointer-safe\n```\n\n375 tests run:\n 363 passed\n 0 cancelled (with missing dependencies )\n 4 timed out\n 8 failed\n  1 <a href=\\\"https://github.com/RobotLocomotion/drake/issues/18\\\">known issue #18</a>: Singularities in the euler-angle floating base joint cause infrequent errors on unit tests with random initial conditions\n  1 <a href=\\\"https://github.com/RobotLocomotion/drake/issues/311\\\">known issue #311</a>: testFloatingBase test can fail to match tolerance\n  4 <a href=\\\"https://github.com/RobotLocomotion/drake/issues/374\\\">known issue #374</a>: failing imu unit tests\n  1 <a href=\\\"https://github.com/RobotLocomotion/drake/issues/466\\\">known issue #466</a>: implement Jdot*v for drakeFunction.kinematic methods\n  1 <a href=\\\"https://github.com/RobotLocomotion/drake/issues/585\\\">known issue #585</a>: testIndividualCentersOfPressure fails\n  0 unknown\n\nexamples/Atlas/runDRCDoorTask (timed out)\n\nexamples/Atlas/test/testRunningPlanner (timed out)\n\nexamples/DubinsCar/runFunnel (timed out)\n\nexamples/Atlas/runDRCPracticeTerrain (timed out)\n\n"}}