| 46 | m_robotSim.debugDraw(debugDrawMode); |
| 47 | } |
| 48 | virtual void initPhysics() |
| 49 | { |
| 50 | int mode = eCONNECT_EXISTING_EXAMPLE_BROWSER; |
| 51 | m_robotSim.setGuiHelper(m_guiHelper); |
| 52 | bool connected = m_robotSim.connect(mode); |
| 53 | |
| 54 | b3Printf("robotSim connected = %d", connected); |
| 55 | |
| 56 | m_robotSim.configureDebugVisualizer(COV_ENABLE_RGB_BUFFER_PREVIEW, 0); |
| 57 | m_robotSim.configureDebugVisualizer(COV_ENABLE_DEPTH_BUFFER_PREVIEW, 0); |
| 58 | m_robotSim.configureDebugVisualizer(COV_ENABLE_SEGMENTATION_MARK_PREVIEW, 0); |
| 59 | |
| 60 | { |
| 61 | b3RobotSimulatorLoadUrdfFileArgs args; |
| 62 | b3RobotSimulatorChangeDynamicsArgs dynamicsArgs; |
| 63 | |
| 64 | for (int i = 0; i < numCubes; i++) |
| 65 | { |
| 66 | args.m_forceOverrideFixedBase = (i == 0); |
| 67 | args.m_startPosition.setValue(0, i * 0.05, 1); |
| 68 | cubeIds[i] = m_robotSim.loadURDF("cube_small.urdf", args); |
| 69 | |
| 70 | b3RobotJointInfo jointInfo; |
| 71 | |
| 72 | jointInfo.m_parentFrame[1] = -0.025; |
| 73 | jointInfo.m_childFrame[1] = 0.025; |
| 74 | |
| 75 | if (i > 0) |
| 76 | { |
| 77 | m_robotSim.createConstraint(cubeIds[i], -1, cubeIds[i - 1], -1, &jointInfo); |
| 78 | m_robotSim.setCollisionFilterGroupMask(cubeIds[i], -1, 0, 0); |
| 79 | } |
| 80 | |
| 81 | m_robotSim.loadURDF("plane.urdf"); |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | { |
| 86 | SliderParams slider("Direct solver", &solverId); |
| 87 | slider.m_minVal = 0; |
| 88 | slider.m_maxVal = 1; |
| 89 | m_guiHelper->getParameterInterface()->registerSliderFloatParameter(slider); |
| 90 | } |
| 91 | { |
| 92 | SliderParams slider("numSolverIterations", &numSolverIterations); |
| 93 | slider.m_minVal = 50; |
| 94 | slider.m_maxVal = 1e4; |
| 95 | m_guiHelper->getParameterInterface()->registerSliderFloatParameter(slider); |
| 96 | } |
| 97 | |
| 98 | physicsArgs.m_defaultGlobalCFM = 1e-6; |
| 99 | m_robotSim.setPhysicsEngineParameter(physicsArgs); |
| 100 | |
| 101 | m_robotSim.setGravity(btVector3(0, 0, -10)); |
| 102 | m_robotSim.setNumSolverIterations((int)numSolverIterations); |
| 103 | } |
| 104 | |
| 105 | virtual void exitPhysics() |
nothing calls this directly
no test coverage detected