12 #include <condition_variable> 14 #include <vtkRenderWindowInteractor.h> 35 friend class MyTimerCallback;
36 friend class MyInteractorStyle;
42 vtkSmartPointer<vtkRenderWindowInteractor> interactor;
49 static std::shared_ptr<MainThread> CreateMainThread();
52 static std::shared_ptr<MainThread> mainthread;
55 static void DeleteMainThread();
65 void AddFrame(std::shared_ptr<Frame> frame);
68 void RemoveFrame(
int number_in_framelist);
81 std::map<int,std::shared_ptr<Frame>> framemap;
84 static void PrepareRenderThread(
MainThread& thd);
90 static void PrepareCommunicatorThread(
MainThread& thd);
93 static void CommunicatorThread(
MainThread& thd);
97 static void CommunicatorThreadCallback(
MainThread& thd);
101 static void RTAddFrame(
MainThread& mt,
int iframe);
107 std::shared_ptr<std::thread> thread;
111 bool double_buffering=
true;
116 double timer_interval=20;
122 std::condition_variable condition_variable;
125 bool running_multithreaded=
false;
128 bool try_running_multithreaded=
true;
131 bool communication_blocked=
false;
135 Communicator::Command cmd=Communicator::Command::Empty;
143 void SendCommand(
int iframe,
const std::string from,Communicator::Command cmd);
146 bool connection_open=
false;
149 void OpenConnection(
int port,
int wtime);
152 vtkSmartPointer<Communicator> communicator;
Main communication thread.
Definition: vtkfigMainThread.h:31
Provide a framework wrapping window+interactor+renderers from vtk.
Definition: vtkfigFrame.h:38
Client side visualization setup.
Definition: vtkfigClient.h:29
Namespace vtkfig::internals: Tools for server-client communication.