MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / processAction

Method processAction

source/MRViewer/MRSpaceMouseDevice.cpp:44–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42}
43
44void Device::processAction( const Action& action )
45{
46 if ( !valid() )
47 return;
48 auto& viewer = getViewerInstance();
49 viewer.spaceMouseMove( action.translate, action.rotate );
50 if ( action.btnStateChanged )
51 {
52 std::bitset<size_t(Buttons::SMB_BUTTON_COUNT)> new_pressed = action.buttons & ~buttonsState_;
53 std::bitset<size_t(Buttons::SMB_BUTTON_COUNT)> new_unpressed = buttonsState_ & ~action.buttons;
54 for ( int btn = 0; btn < int( Buttons::SMB_BUTTON_COUNT ); ++btn )
55 {
56 if ( new_unpressed.test( btn ) )
57 viewer.spaceMouseUp( btn );
58 if ( new_pressed.test( btn ) )
59 viewer.spaceMouseDown( btn );
60 }
61 buttonsState_ = action.buttons;
62 }
63}
64
65void Device::parseRawEvent( const DataPacketRaw& raw, int numBytes, Action& action ) const
66{

Callers 2

processMethod · 0.80
initializeMethod · 0.80

Calls 4

spaceMouseMoveMethod · 0.80
spaceMouseUpMethod · 0.80
spaceMouseDownMethod · 0.80
testMethod · 0.45

Tested by

no test coverage detected