static void gCheckBoxCallback(const IceCheckBox& check_box, bool checked, void* user_data) { const udword id = check_box.GetID(); switch(id) { case BULLET_GUI_INTERNAL_EDGE_UTILITY: gUseInternalEdgeUtility = checked; break; case BULLET_GUI_ENABLE_SLEEPING: gEnableSleeping = checked; break; case BULLET_GUI_ENABLE_FRICTION_DIR_CACHING: gEnableFrictionDirCaching = checked; break; case BULLET_GUI_SHARE_SHAPES: gShareShapes = checked; break; case BULLET_GUI_USE_SPLIT_IMPULSE: gUseSplitImpulse = checked; break; case BULLET_GUI_RANDOMIZE_ORDER: gRandomizeOrder = checked; break; case BULLET_GUI_WARM_STARTING: gWarmStarting = checked; break; case BULLET_GUI_USE_DBVT: gUseDbvt = checked; break; case BULLET_GUI_USE_CCD: gUseCCD = checked; break; case BULLET_GUI_ENABLE_DEBUG_VIZ: { gDebugVizParams[0] = checked; for(udword i=1;i<NB_DEBUG_VIZ_PARAMS;i++) { gCheckBox_DebugVis[i]->SetEnabled(checked); } } break; } if(id>BULLET_GUI_ENABLE_DEBUG_VIZ && id<BULLET_GUI_ENABLE_DEBUG_VIZ+NB_DEBUG_VIZ_PARAMS) { gDebugVizParams[id-BULLET_GUI_ENABLE_DEBUG_VIZ] = checked; } gDebugDrawer.updateDebugMode(); }
static void gCheckBoxCallback(const IceCheckBox& check_box, bool checked, void* user_data) { const udword id = check_box.GetID(); switch(id) { case PHYSX_GUI_ENABLE_SLEEPING: gEnableSleeping = checked; break; case PHYSX_GUI_ENABLE_SQ: gSQFlag = checked; if(gCheckBox_SQ_FilterOutAllShapes) gCheckBox_SQ_FilterOutAllShapes->SetEnabled(checked); if(gCheckBox_SQ_InitialOverlap) gCheckBox_SQ_InitialOverlap->SetEnabled(checked); if(gComboBox_StaticPruner) gComboBox_StaticPruner->SetEnabled(checked); if(gComboBox_DynamicPruner) gComboBox_DynamicPruner->SetEnabled(checked); break; case PHYSX_GUI_ENABLE_CCD: gUseCCD = checked; break; case PHYSX_GUI_SQ_FILTER_OUT: mParams.mSQFilterOutAllShapes = checked; break; case PHYSX_GUI_SQ_INITIAL_OVERLAP: gSQInitialOverlap = checked; break; case PHYSX_GUI_SHARE_MESH_DATA: gShareMeshData = checked; break; case PHYSX_GUI_PCM: gPCM = checked; break; case PHYSX_GUI_ADAPTIVE_FORCE: gAdaptiveForce = checked; break; case PHYSX_GUI_ENABLE_SSE: gEnableSSE = checked; break; case PHYSX_GUI_ENABLE_ACTIVE_TRANSFORMS: gEnableActiveTransforms = checked; break; case PHYSX_GUI_FLUSH_SIMULATION: gFlushSimulation = checked; break; case PHYSX_GUI_DISABLE_STRONG_FRICTION: gDisableStrongFriction = checked; break; case PHYSX_GUI_ENABLE_ONE_DIR_FRICTION: gEnableOneDirFriction = checked; break; case PHYSX_GUI_ENABLE_TWO_DIR_FRICTION: gEnableTwoDirFriction = checked; break; case PHYSX_GUI_USE_PVD: gUsePVD = checked; if(gCheckBox_FullPVD) gCheckBox_FullPVD->SetEnabled(checked); break; case PHYSX_GUI_USE_FULL_PVD_CONNECTION: gUseFullPvdConnection = checked; break; case PHYSX_GUI_ENABLE_DEBUG_VIZ: { gDebugVizParams[0] = checked; for(udword i=1;i<NB_DEBUG_VIZ_PARAMS;i++) { gCheckBox_DebugVis[i]->SetEnabled(checked); } } break; } if(id>PHYSX_GUI_ENABLE_DEBUG_VIZ && id<PHYSX_GUI_ENABLE_DEBUG_VIZ+NB_DEBUG_VIZ_PARAMS) { gDebugVizParams[id-PHYSX_GUI_ENABLE_DEBUG_VIZ] = checked; } if(gPhysX) gPhysX->UpdateFromUI(); }