FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
OisInput.h
1#pragma once
2
9#ifdef FH_VISUALIZATION
10
11#include <fhsim/NFhSim.h>
12#include <fhsim/PrintDuringExec.h>
13#include <fhsim/simobject/ISimObjectCreator.h>
14#include <fhsim/visual/renderer/FhCameraController.h>
15#include <fhsim/visual/renderer/FhVisualization.h>
16#include <fhsim/visual/renderer/InputManager.h>
17
18#include <string>
19
20namespace Ship
21{
22
35inline InputManager* FindOisInputManager(ISimObjectCreator* creator, const std::string& objectName)
36{
37 auto* const visualization = creator->GetTypedSharedResource<FhVisualization>(fhsim::kSimMgrKeyFhVisualization);
38 InputManager* input = nullptr;
39 if (visualization && visualization->GetFhCameraController()) {
40 input = visualization->GetFhCameraController()->InputMgr();
41 }
42 if (!input) {
43 auto* const printer = static_cast<PrintDuringExec*>(creator->GetSharedResource(fhsim::kSimMgrKeyPrinter));
44 if (printer) {
45 printer->WriteLog(objectName + ": no OIS input manager in this visualization; joystick and keyboard input is ignored",
46 fhsim::LogLevel_Warning);
47 }
48 }
49 return input;
50}
51
52} // namespace Ship
53
54#endif
Simple waypoint object.
Definition CableAttach.h:16