PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Framework
Module
MouseInputModule.cpp
Go to the documentation of this file.
1
#include "
MouseInputModule.h
"
2
3
namespace
dyno
4
{
5
MouseInputModule::MouseInputModule
()
6
:
InputModule
()
7
{
8
9
}
10
11
MouseInputModule::~MouseInputModule
()
12
{
13
}
14
15
void
MouseInputModule::enqueueEvent
(
PMouseEvent
event)
16
{
17
mMutex
.lock();
18
19
if
(this->varCacheEvent()->getValue()) {
20
while
(!
mEventQueue
.empty()) {
21
auto
e =
mEventQueue
.back();
22
if
(e == event)
23
{
24
mEventQueue
.pop_back();
25
}
26
else
27
break
;
28
}
29
}
30
else
31
{
32
while
(!
mEventQueue
.empty())
mEventQueue
.pop_front();
33
}
34
35
mEventQueue
.push_back(event);
36
37
mMutex
.unlock();
38
}
39
40
void
MouseInputModule::updateImpl
()
41
{
42
mMutex
.lock();
43
if
(!
mEventQueue
.empty())
44
{
45
onEvent
(
mEventQueue
.front());
46
47
mEventQueue
.pop_front();
48
}
49
mMutex
.unlock();
50
}
51
52
bool
MouseInputModule::requireUpdate
()
53
{
54
bool
required = !
mEventQueue
.empty();
55
56
return
required ||
Module::requireUpdate
();
57
}
58
59
}
MouseInputModule.h
dyno::InputModule::InputModule
InputModule()
Definition
InputModule.cpp:5
dyno::Module::requireUpdate
virtual bool requireUpdate()
Definition
Module.cpp:164
dyno::MouseInputModule::mEventQueue
std::deque< PMouseEvent > mEventQueue
Definition
MouseInputModule.h:42
dyno::MouseInputModule::updateImpl
void updateImpl() final
Definition
MouseInputModule.cpp:40
dyno::MouseInputModule::enqueueEvent
void enqueueEvent(PMouseEvent event)
Definition
MouseInputModule.cpp:15
dyno::MouseInputModule::requireUpdate
bool requireUpdate() override
Definition
MouseInputModule.cpp:52
dyno::MouseInputModule::~MouseInputModule
~MouseInputModule() override
Definition
MouseInputModule.cpp:11
dyno::MouseInputModule::onEvent
virtual void onEvent(PMouseEvent event)
Definition
MouseInputModule.h:35
dyno::MouseInputModule::MouseInputModule
MouseInputModule()
Definition
MouseInputModule.cpp:5
dyno::MouseInputModule::mMutex
std::mutex mMutex
Definition
MouseInputModule.h:44
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
dyno::PMouseEvent
Definition
InputModule.h:190
Generated by
1.13.2