Viskores  1.0
MapperRayTracer.h
Go to the documentation of this file.
1 //============================================================================
2 // The contents of this file are covered by the Viskores license. See
3 // LICENSE.txt for details.
4 //
5 // By contributing to this file, all contributors agree to the Developer
6 // Certificate of Origin Version 1.1 (DCO 1.1) as stated in DCO.txt.
7 //============================================================================
8 
9 //============================================================================
10 // Copyright (c) Kitware, Inc.
11 // All rights reserved.
12 // See LICENSE.txt for details.
13 //
14 // This software is distributed WITHOUT ANY WARRANTY; without even
15 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 // PURPOSE. See the above copyright notice for more information.
17 //============================================================================
18 #ifndef viskores_rendering_MapperRayTracer_h
19 #define viskores_rendering_MapperRayTracer_h
20 
24 
25 #include <memory>
26 
27 namespace viskores
28 {
29 namespace rendering
30 {
31 
36 class VISKORES_RENDERING_EXPORT MapperRayTracer : public Mapper
37 {
38 public:
40 
41  ~MapperRayTracer();
42 
43  void SetCanvas(viskores::rendering::Canvas* canvas) override;
44  virtual viskores::rendering::Canvas* GetCanvas() const override;
45 
46  void SetCompositeBackground(bool on);
47  viskores::rendering::Mapper* NewCopy() const override;
48  void SetShadingOn(bool on);
49 
50 private:
51  struct InternalsType;
52  std::shared_ptr<InternalsType> Internals;
53  struct CompareIndices;
54 
55  void RenderCellsImpl(const viskores::cont::UnknownCellSet& cellset,
57  const viskores::cont::Field& scalarField,
58  const viskores::cont::ColorTable& colorTable,
59  const viskores::rendering::Camera& camera,
60  const viskores::Range& scalarRange,
61  const viskores::cont::Field& ghostField) override;
62 };
63 }
64 } //namespace viskores::rendering
65 
66 #endif //viskores_rendering_MapperRayTracer_h
viskores::rendering::MapperRayTracer
Mapper to render surfaces using ray tracing.
Definition: MapperRayTracer.h:36
viskores::cont::CoordinateSystem
Manages a coordinate system for a DataSet.
Definition: CoordinateSystem.h:38
ColorTable.h
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::cont::ColorTable
Color Table for coloring arbitrary fields.
Definition: cont/ColorTable.h:97
viskores::rendering::Mapper
Converts data into commands to a rendering system.
Definition: Mapper.h:37
viskores::rendering::MapperRayTracer::Internals
std::shared_ptr< InternalsType > Internals
Definition: MapperRayTracer.h:51
viskores::Range
Represent a continuous scalar range of values.
Definition: Range.h:39
viskores::cont::UnknownCellSet
A CellSet of an unknown type.
Definition: UnknownCellSet.h:56
viskores::rendering::Camera
Specifies the viewport for a rendering.
Definition: Camera.h:45
Camera.h
Mapper.h
viskores::cont::Field
A Field encapsulates an array on some piece of the mesh, such as the points, a cell set,...
Definition: Field.h:39
viskores::rendering::Canvas
Represents the image space that is the target of rendering.
Definition: Canvas.h:43