diff --git a/src/tests/vtkh/t_vtk-h_render.cpp b/src/tests/vtkh/t_vtk-h_render.cpp index ec923e2..1acc494 100644 --- a/src/tests/vtkh/t_vtk-h_render.cpp +++ b/src/tests/vtkh/t_vtk-h_render.cpp @@ -123,6 +123,74 @@ TEST(vtkh_render, vtkh_no_bg_or_annotations) scene.Render(); } +TEST(vtkh_render, vtkh_no_world_annotations) +{ + vtkh::DataSet data_set; + + const int base_size = 32; + const int num_blocks = 2; + + for(int i = 0; i < num_blocks; ++i) + { + data_set.AddDomain(CreateTestData(i, num_blocks, base_size), i); + } + + vtkm::Bounds bounds = data_set.GetGlobalBounds(); + + vtkm::rendering::Camera camera; + camera.SetPosition(vtkm::Vec(-16, -16, -16)); + camera.ResetToBounds(bounds); + vtkh::Render render = vtkh::MakeRender(512, + 512, + camera, + data_set, + "no_world"); + render.DoRenderWorldAnnotations(false); + vtkh::RayTracer tracer; + + tracer.SetInput(&data_set); + tracer.SetField("point_data_Float64"); + + vtkh::Scene scene; + scene.AddRender(render); + scene.AddRenderer(&tracer); + scene.Render(); +} + +TEST(vtkh_render, vtkh_no_screen_annotations) +{ + vtkh::DataSet data_set; + + const int base_size = 32; + const int num_blocks = 2; + + for(int i = 0; i < num_blocks; ++i) + { + data_set.AddDomain(CreateTestData(i, num_blocks, base_size), i); + } + + vtkm::Bounds bounds = data_set.GetGlobalBounds(); + + vtkm::rendering::Camera camera; + camera.SetPosition(vtkm::Vec(-16, -16, -16)); + camera.ResetToBounds(bounds); + vtkh::Render render = vtkh::MakeRender(512, + 512, + camera, + data_set, + "no_screen"); + render.DoRenderScreenAnnotations(false); + vtkh::RayTracer tracer; + + tracer.SetInput(&data_set); + tracer.SetField("point_data_Float64"); + + vtkh::Scene scene; + scene.AddRender(render); + scene.AddRenderer(&tracer); + scene.Render(); +} + TEST(vtkh_render, vtkh_bg_color) { vtkh::DataSet data_set; diff --git a/src/vtkh/rendering/Render.cpp b/src/vtkh/rendering/Render.cpp index 31427ae..9afcad9 100644 --- a/src/vtkh/rendering/Render.cpp +++ b/src/vtkh/rendering/Render.cpp @@ -13,6 +13,8 @@ Render::Render() : m_width(1024), m_height(1024), m_render_annotations(true), + m_render_world_annotations(true), + m_render_screen_annotations(true), m_render_background(true), m_shading(true), m_canvas(m_width, m_height) @@ -44,6 +46,20 @@ Render::DoRenderAnnotations(bool on) m_render_annotations = on; } +void +Render::DoRenderWorldAnnotations(bool on) +{ + m_render_world_annotations = on; +} + + +void +Render::DoRenderScreenAnnotations(bool on) +{ + m_render_screen_annotations = on; +} + + void Render::DoRenderBackground(bool on) { @@ -168,6 +184,7 @@ void Render::RenderWorldAnnotations() { if(!m_render_annotations) return; + if(!m_render_world_annotations) return; #ifdef VTKH_PARALLEL if(vtkh::GetMPIRank() != 0) return; #endif @@ -184,6 +201,8 @@ Render::RenderScreenAnnotations(const std::vector &field_names, const std::vector &ranges, const std::vector &colors) { + if(!m_render_annotations) return; + if(!m_render_screen_annotations) return; #ifdef VTKH_PARALLEL if(vtkh::GetMPIRank() != 0) return; #endif diff --git a/src/vtkh/rendering/Render.hpp b/src/vtkh/rendering/Render.hpp index f51e120..4edbe30 100644 --- a/src/vtkh/rendering/Render.hpp +++ b/src/vtkh/rendering/Render.hpp @@ -40,6 +40,8 @@ class VTKH_API Render void Print() const; void DoRenderAnnotations(bool on); + void DoRenderWorldAnnotations(bool on); + void DoRenderScreenAnnotations(bool on); void DoRenderBackground(bool on); void ScaleWorldAnnotations(float x, float y, float z); void SetWidth(const vtkm::Int32 width); @@ -68,6 +70,8 @@ class VTKH_API Render vtkm::rendering::Color m_fg_color; vtkmCanvas CreateCanvas() const; bool m_render_annotations; + bool m_render_world_annotations; + bool m_render_screen_annotations; bool m_render_background; bool m_shading; vtkmCanvas m_canvas;