allow to disable/enable default keyboard shortcuts ('w', 'd' 's' etc) and default mouse picking

pybullet.getMouseEvents / b3RequestMouseEventsCommandInit
This commit is contained in:
Erwin Coumans
2017-06-17 13:29:14 -07:00
parent 3a826a5997
commit 2e6f8c271e
19 changed files with 401 additions and 86 deletions

View File

@@ -66,6 +66,7 @@ enum EnumSharedMemoryClientCommand
CMD_CREATE_VISUAL_SHAPE,
CMD_CREATE_MULTI_BODY,
CMD_REQUEST_COLLISION_INFO,
CMD_REQUEST_MOUSE_EVENTS_DATA,
//don't go beyond this command!
CMD_MAX_CLIENT_COMMANDS,
@@ -159,6 +160,7 @@ enum EnumSharedMemoryServerStatus
CMD_CREATE_MULTI_BODY_COMPLETED,
CMD_REQUEST_COLLISION_INFO_COMPLETED,
CMD_REQUEST_COLLISION_INFO_FAILED,
CMD_REQUEST_MOUSE_EVENTS_DATA_COMPLETED,
//don't go beyond 'CMD_MAX_SERVER_COMMANDS!
CMD_MAX_SERVER_COMMANDS
};
@@ -325,7 +327,7 @@ enum b3VREventType
#define MAX_RAY_INTERSECTION_BATCH_SIZE 256
#define MAX_RAY_HITS MAX_RAY_INTERSECTION_BATCH_SIZE
#define MAX_KEYBOARD_EVENTS 256
#define MAX_MOUSE_EVENTS 256
enum b3VRButtonInfo
@@ -384,6 +386,28 @@ struct b3KeyboardEventsData
struct b3KeyboardEvent* m_keyboardEvents;
};
enum eMouseEventTypeEnums
{
MOUSE_MOVE_EVENT=1,
MOUSE_BUTTON_EVENT=2,
};
struct b3MouseEvent
{
int m_eventType;
float m_mousePosX;
float m_mousePosY;
int m_buttonIndex;
int m_buttonState;
};
struct b3MouseEventsData
{
int m_numMouseEvents;
struct b3MouseEvent* m_mouseEvents;
};
struct b3ContactPointData
{
//todo: expose some contact flags, such as telling which fields below are valid
@@ -531,6 +555,8 @@ enum b3ConfigureDebugVisualizerEnum
COV_ENABLE_VR_RENDER_CONTROLLERS,
COV_ENABLE_RENDERING,
COV_ENABLE_SYNC_RENDERING_INTERNAL,
COV_ENABLE_KEYBOARD_SHORTCUTS,
COV_ENABLE_MOUSE_PICKING,
};
enum b3AddUserDebugItemEnum