Skip to content
Snippets Groups Projects
Commit 5f7ed20c authored by Jaswant Panchumarti (Kitware)'s avatar Jaswant Panchumarti (Kitware)
Browse files

WASM-Cone: Remove hard-coded SDL2 classes

- SDL2 render window and interactor are the default object factory overrides in VTK-wasm
parent 21fba641
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
......@@ -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);
......
......@@ -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")
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment