vtk-m2/vtkm/rendering/View1D.h

76 lines
2.3 KiB
C
Raw Normal View History

2016-11-23 15:48:22 +00:00
//============================================================================
// Copyright (c) Kitware, Inc.
// All rights reserved.
// See LICENSE.txt for details.
2019-04-15 23:24:21 +00:00
//
2016-11-23 15:48:22 +00:00
// This software is distributed WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
// PURPOSE. See the above copyright notice for more information.
//============================================================================
#ifndef vtk_m_rendering_View1D_h
#define vtk_m_rendering_View1D_h
#include <vtkm/rendering/AxisAnnotation2D.h>
#include <vtkm/rendering/ColorLegendAnnotation.h>
2017-05-18 14:51:24 +00:00
#include <vtkm/rendering/View.h>
2016-11-23 15:48:22 +00:00
2017-05-18 14:29:41 +00:00
namespace vtkm
{
namespace rendering
{
2016-11-23 15:48:22 +00:00
class VTKM_RENDERING_EXPORT View1D : public vtkm::rendering::View
{
public:
View1D(const vtkm::rendering::Scene& scene,
const vtkm::rendering::Mapper& mapper,
2017-05-18 14:29:41 +00:00
const vtkm::rendering::Canvas& canvas,
2017-12-05 04:46:38 +00:00
const vtkm::rendering::Color& backgroundColor = vtkm::rendering::Color(0, 0, 0, 1),
const vtkm::rendering::Color& foregroundColor = vtkm::rendering::Color(1, 1, 1, 1));
2017-05-18 14:29:41 +00:00
View1D(const vtkm::rendering::Scene& scene,
const vtkm::rendering::Mapper& mapper,
const vtkm::rendering::Canvas& canvas,
const vtkm::rendering::Camera& camera,
2017-12-05 04:46:38 +00:00
const vtkm::rendering::Color& backgroundColor = vtkm::rendering::Color(0, 0, 0, 1),
const vtkm::rendering::Color& foregroundColor = vtkm::rendering::Color(1, 1, 1, 1));
2016-11-23 15:48:22 +00:00
~View1D();
void Paint() override;
void RenderScreenAnnotations() override;
void RenderWorldAnnotations() override;
void RenderColorLegendAnnotations();
void EnableLegend();
void DisableLegend();
void SetLegendLabelColor(vtkm::rendering::Color c) { this->Legend.SetLabelColor(c); }
2016-11-23 15:48:22 +00:00
void SetLogX(bool l)
{
this->GetMapper().SetLogarithmX(l);
this->LogX = l;
}
void SetLogY(bool l)
{
this->GetMapper().SetLogarithmY(l);
this->LogY = l;
}
2016-11-23 15:48:22 +00:00
private:
void UpdateCameraProperties();
2016-11-23 15:48:22 +00:00
// 1D-specific annotations
vtkm::rendering::AxisAnnotation2D HorizontalAxisAnnotation;
vtkm::rendering::AxisAnnotation2D VerticalAxisAnnotation;
vtkm::rendering::ColorLegendAnnotation Legend;
bool LegendEnabled = true;
bool LogX = false;
bool LogY = false;
2016-11-23 15:48:22 +00:00
};
}
} // namespace vtkm::rendering
#endif //vtk_m_rendering_View1D_h