VTK-m  2.1
MapperCylinder.h
Go to the documentation of this file.
1 //============================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //============================================================================
10 #ifndef vtk_m_rendering_MapperCylinder_h
11 #define vtk_m_rendering_MapperCylinder_h
12 
13 #include <vtkm/cont/ColorTable.h>
14 #include <vtkm/rendering/Camera.h>
15 #include <vtkm/rendering/Mapper.h>
16 
17 #include <memory>
18 
19 namespace vtkm
20 {
21 namespace rendering
22 {
23 
30 {
31 public:
33 
34  ~MapperCylinder();
35 
36  void SetCanvas(vtkm::rendering::Canvas* canvas) override;
37 
38  virtual vtkm::rendering::Canvas* GetCanvas() const override;
39 
45  void UseVariableRadius(bool useVariableRadius);
46 
52  void SetRadius(const vtkm::Float32& radius);
53 
62  void SetRadiusDelta(const vtkm::Float32& delta);
63 
64  void SetCompositeBackground(bool on);
65  vtkm::rendering::Mapper* NewCopy() const override;
66 
67 private:
68  struct InternalsType;
69  std::shared_ptr<InternalsType> Internals;
70 
71  struct RenderFunctor;
72 
73  void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
74  const vtkm::cont::CoordinateSystem& coords,
75  const vtkm::cont::Field& scalarField,
76  const vtkm::cont::ColorTable& colorTable,
77  const vtkm::rendering::Camera& camera,
78  const vtkm::Range& scalarRange,
79  const vtkm::cont::Field& ghostField) override;
80 };
81 }
82 } //namespace vtkm::rendering
83 
84 #endif //vtk_m_rendering_MapperCylinder_h
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::cont::ColorTable
Color Table for coloring arbitrary fields.
Definition: cont/ColorTable.h:89
VTKM_RENDERING_EXPORT
#define VTKM_RENDERING_EXPORT
Definition: vtkm_rendering_export.h:44
vtkm::rendering::MapperCylinder
MapperCylinder renderers edges from a cell set and renders them as cylinders via ray tracing.
Definition: MapperCylinder.h:29
vtkm::cont::UnknownCellSet
A CellSet of an unknown type.
Definition: UnknownCellSet.h:48
ColorTable.h
vtkm::cont::CoordinateSystem
Manages a coordinate system for a DataSet.
Definition: CoordinateSystem.h:30
vtkm::rendering::Mapper
Converts data into commands to a rendering system.
Definition: Mapper.h:29
vtkm::rendering::Canvas
Represents the image space that is the target of rendering.
Definition: Canvas.h:35
vtkm::cont::Field
A Field encapsulates an array on some piece of the mesh, such as the points, a cell set,...
Definition: Field.h:31
vtkm::rendering::MapperCylinder::Internals
std::shared_ptr< InternalsType > Internals
Definition: MapperCylinder.h:68
vtkm::Float32
float Float32
Base type to use for 32-bit floating-point numbers.
Definition: Types.h:157
Camera.h
vtkm::rendering::Camera
Specifies the viewport for a rendering.
Definition: Camera.h:37
Mapper.h
vtkm::Range
Represent a continuous scalar range of values.
Definition: Range.h:31