From 5f7ed20c2fad1cae6b84a8617f32755caf861fa7 Mon Sep 17 00:00:00 2001 From: Jaswant Panchumarti <jaswant.panchumarti@kitware.com> Date: Wed, 5 Apr 2023 10:48:14 -0400 Subject: [PATCH] WASM-Cone: Remove hard-coded SDL2 classes - SDL2 render window and interactor are the default object factory overrides in VTK-wasm --- Examples/Emscripten/Cxx/Cone/Cone.cxx | 8 ++++---- .../Emscripten/Cxx/MultiCone/MultiCone.cxx | 12 +++++------ .../Cxx/WrappedMace/WrappedMace.cxx | 20 ++++++------------- .../Emscripten/Cxx/WrappedMace/index.html | 2 +- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/Examples/Emscripten/Cxx/Cone/Cone.cxx b/Examples/Emscripten/Cxx/Cone/Cone.cxx index 92f9cfbd54d..c2e1b946e8e 100644 --- a/Examples/Emscripten/Cxx/Cone/Cone.cxx +++ b/Examples/Emscripten/Cxx/Cone/Cone.cxx @@ -14,9 +14,9 @@ #include "vtkNew.h" #include "vtkPolyData.h" #include "vtkPolyDataMapper.h" +#include "vtkRenderWindow.h" +#include "vtkRenderWindowInteractor.h" #include "vtkRenderer.h" -#include "vtkSDL2OpenGLRenderWindow.h" -#include "vtkSDL2RenderWindowInteractor.h" //------------------------------------------------------------------------------ // Main @@ -26,10 +26,10 @@ int main(int argc, char* argv[]) { // Create a renderer, render window, and interactor vtkNew<vtkRenderer> renderer; - vtkNew<vtkSDL2OpenGLRenderWindow> renderWindow; + vtkNew<vtkRenderWindow> renderWindow; renderWindow->SetMultiSamples(0); renderWindow->AddRenderer(renderer); - vtkNew<vtkSDL2RenderWindowInteractor> renderWindowInteractor; + vtkNew<vtkRenderWindowInteractor> renderWindowInteractor; renderWindowInteractor->SetRenderWindow(renderWindow); vtkNew<vtkInteractorStyleTrackballCamera> style; diff --git a/Examples/Emscripten/Cxx/MultiCone/MultiCone.cxx b/Examples/Emscripten/Cxx/MultiCone/MultiCone.cxx index f6fc7b7f259..74263820bea 100644 --- a/Examples/Emscripten/Cxx/MultiCone/MultiCone.cxx +++ b/Examples/Emscripten/Cxx/MultiCone/MultiCone.cxx @@ -17,17 +17,17 @@ #include "vtkNew.h" #include "vtkPolyData.h" #include "vtkPolyDataMapper.h" +#include "vtkRenderWindow.h" +#include "vtkRenderWindowInteractor.h" #include "vtkRenderer.h" -#include "vtkSDL2OpenGLRenderWindow.h" -#include "vtkSDL2RenderWindowInteractor.h" //------------------------------------------------------------------------------ // Global objects //------------------------------------------------------------------------------ vtkRenderer* renderer = nullptr; -vtkSDL2OpenGLRenderWindow* renderWindow = nullptr; -vtkSDL2RenderWindowInteractor* renderWindowInteractor = nullptr; +vtkRenderWindow* renderWindow = nullptr; +vtkRenderWindowInteractor* renderWindowInteractor = nullptr; vtkInteractorStyleTrackballCamera* style = nullptr; vtkConeSource* coneSource = nullptr; @@ -40,8 +40,8 @@ void createPipeline() { // Create a renderer, render window, and interactor renderer = vtkRenderer::New(); - renderWindow = vtkSDL2OpenGLRenderWindow::New(); - renderWindowInteractor = vtkSDL2RenderWindowInteractor::New(); + renderWindow = vtkRenderWindow::New(); + renderWindowInteractor = vtkRenderWindowInteractor::New(); style = vtkInteractorStyleTrackballCamera::New(); renderWindow->SetMultiSamples(0); diff --git a/Examples/Emscripten/Cxx/WrappedMace/WrappedMace.cxx b/Examples/Emscripten/Cxx/WrappedMace/WrappedMace.cxx index c4e2913d135..1e4f99b3dc5 100644 --- a/Examples/Emscripten/Cxx/WrappedMace/WrappedMace.cxx +++ b/Examples/Emscripten/Cxx/WrappedMace/WrappedMace.cxx @@ -17,8 +17,9 @@ #include "vtkGlyph3D.h" #include "vtkPolyData.h" #include "vtkPolyDataMapper.h" +#include "vtkRenderWindow.h" +#include "vtkRenderWindowInteractor.h" #include "vtkRenderer.h" -#include "vtkSDL2OpenGLRenderWindow.h" #include "vtkSDL2RenderWindowInteractor.h" #include "vtkSphereSource.h" @@ -48,7 +49,6 @@ vtkAddDestructor(vtkProp); vtkAddDestructor(vtkRenderer); vtkAddDestructor(vtkRenderWindow); vtkAddDestructor(vtkRenderWindowInteractor); -vtkAddDestructor(vtkSDL2OpenGLRenderWindow); vtkAddDestructor(vtkSDL2RenderWindowInteractor); vtkAddDestructor(vtkSphereSource); vtkAddDestructor(vtkViewport); @@ -116,7 +116,10 @@ EMSCRIPTEN_BINDINGS(webtest) .constructor(&vtkRenderWindow::New, emscripten::allow_raw_pointers()) .function("SetMultiSamples", &vtkRenderWindow::SetMultiSamples) .function("Render", &vtkRenderWindow::Render) - .function("AddRenderer", &vtkRenderWindow::AddRenderer, emscripten::allow_raw_pointers()); + .function("AddRenderer", &vtkRenderWindow::AddRenderer, emscripten::allow_raw_pointers()) + .function("SetSize", + emscripten::select_overload<void(vtkRenderWindow&, int, int)>( + [](vtkRenderWindow& self, int w, int h) { self.SetSize(w, h); })); // vtkRenderWindowInteractor ---------------------------------------- emscripten::class_<vtkRenderWindowInteractor>("vtkRenderWindowInteractor") @@ -124,17 +127,6 @@ EMSCRIPTEN_BINDINGS(webtest) .function("SetRenderWindow", &vtkRenderWindowInteractor::SetRenderWindow, emscripten::allow_raw_pointers()); - // vtkSDL2OpenGLRenderWindow ---------------------------------------- - emscripten::class_<vtkSDL2OpenGLRenderWindow, emscripten::base<vtkRenderWindow>>( - "vtkSDL2OpenGLRenderWindow") - .constructor(&vtkSDL2OpenGLRenderWindow::New, emscripten::allow_raw_pointers()) - .function("Frame", &vtkSDL2OpenGLRenderWindow::Frame) - .function("SetSize", - emscripten::select_overload<void(vtkSDL2OpenGLRenderWindow&, int, int)>( - [](vtkSDL2OpenGLRenderWindow& self, int w, int h) { - self.vtkSDL2OpenGLRenderWindow::SetSize(w, h); - })); - // vtkSDL2RenderWindowInteractor ------------------------------------ emscripten::class_<vtkSDL2RenderWindowInteractor, emscripten::base<vtkRenderWindowInteractor>>( "vtkSDL2RenderWindowInteractor") diff --git a/Examples/Emscripten/Cxx/WrappedMace/index.html b/Examples/Emscripten/Cxx/WrappedMace/index.html index dd16f1ed889..2c0a15713ed 100644 --- a/Examples/Emscripten/Cxx/WrappedMace/index.html +++ b/Examples/Emscripten/Cxx/WrappedMace/index.html @@ -37,7 +37,7 @@ document.addEventListener("keyup", eventForward, false); var vtk = createWrappedMaceModule(Module).then((runtime) => { var renderer = new Module.vtkRenderer(); - var renWin = new Module.vtkSDL2OpenGLRenderWindow(); + var renWin = new Module.vtkRenderWindow(); renWin.AddRenderer(renderer); var iren = new Module.vtkSDL2RenderWindowInteractor(); iren.SetRenderWindow(renWin); -- GitLab