comparison Framework/StoneInitialization.cpp @ 1236:358461330978 broker

global function GetWebGLViewportsRegistry()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Dec 2019 20:45:47 +0100
parents 092ec2a225ad
children 0ca50d275b9a
comparison
equal deleted inserted replaced
1235:e71ee3e88448 1236:358461330978
58 58
59 #if ORTHANC_ENABLE_DCMTK == 1 59 #if ORTHANC_ENABLE_DCMTK == 1
60 # include <Core/DicomParsing/FromDcmtkBridge.h> 60 # include <Core/DicomParsing/FromDcmtkBridge.h>
61 #endif 61 #endif
62 62
63 #if ORTHANC_ENABLE_WASM == 1
64 static double viewportsTimeout_ = 1000;
65 static std::auto_ptr<OrthancStone::WebGLViewportsRegistry> viewportsRegistry_;
66 #endif
67
63 #include "Toolbox/LinearAlgebra.h" 68 #include "Toolbox/LinearAlgebra.h"
64 69
65 #include <Core/OrthancException.h> 70 #include <Core/OrthancException.h>
66 #include <Core/Toolbox.h> 71 #include <Core/Toolbox.h>
67 72
168 } 173 }
169 174
170 175
171 void StoneFinalize() 176 void StoneFinalize()
172 { 177 {
178 #if ORTHANC_ENABLE_WASM == 1
179 viewportsRegistry_.reset();
180 #endif
181
173 #if ORTHANC_ENABLE_SDL == 1 182 #if ORTHANC_ENABLE_SDL == 1
174 OrthancStone::SdlWindow::GlobalFinalize(); 183 OrthancStone::SdlWindow::GlobalFinalize();
175 #endif 184 #endif
176 185
177 #if ORTHANC_ENABLE_DCMTK == 1 186 #if ORTHANC_ENABLE_DCMTK == 1
186 Orthanc::Toolbox::FinalizeOpenSsl(); 195 Orthanc::Toolbox::FinalizeOpenSsl();
187 #endif 196 #endif
188 197
189 Orthanc::Logging::Finalize(); 198 Orthanc::Logging::Finalize();
190 } 199 }
200
201
202 #if ORTHANC_ENABLE_WASM == 1
203 void SetWebGLViewportsRegistryTimeout(double timeout)
204 {
205 if (viewportsRegistry_.get())
206 {
207 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
208 }
209 else
210 {
211 viewportsTimeout_ = timeout;
212 }
213 }
214 #endif
215
216
217 #if ORTHANC_ENABLE_WASM == 1
218 WebGLViewportsRegistry& GetWebGLViewportsRegistry()
219 {
220 if (viewportsRegistry_.get() == NULL)
221 {
222 viewportsRegistry_.reset(new WebGLViewportsRegistry(viewportsTimeout_));
223 }
224
225 return *viewportsRegistry_;
226 }
227 #endif
191 } 228 }