VTK-m  2.0
Scene.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_Scene_h
11 #define vtk_m_rendering_Scene_h
12 
13 #include <vtkm/rendering/vtkm_rendering_export.h>
14 
15 #include <vtkm/rendering/Actor.h>
16 #include <vtkm/rendering/Camera.h>
17 #include <vtkm/rendering/Canvas.h>
18 #include <vtkm/rendering/Mapper.h>
19 
20 #include <memory>
21 
22 namespace vtkm
23 {
24 namespace rendering
25 {
26 
27 class VTKM_RENDERING_EXPORT Scene
28 {
29 public:
30  Scene();
31 
32  void AddActor(const vtkm::rendering::Actor& actor);
33 
34  const vtkm::rendering::Actor& GetActor(vtkm::IdComponent index) const;
35 
36  vtkm::IdComponent GetNumberOfActors() const;
37 
38  void Render(vtkm::rendering::Mapper& mapper,
40  const vtkm::rendering::Camera& camera) const;
41 
42  vtkm::Bounds GetSpatialBounds() const;
43 
44 private:
45  struct InternalsType;
46  std::shared_ptr<InternalsType> Internals;
47 };
48 }
49 } //namespace vtkm::rendering
50 
51 #endif //vtk_m_rendering_Scene_h
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::IdComponent
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
vtkm::rendering::Actor
Definition: Actor.h:26
vtkm::rendering::Mapper
Definition: Mapper.h:24
vtkm::rendering::Canvas
Definition: Canvas.h:34
vtkm::Bounds
Represent an axis-aligned 3D bounds in space.
Definition: Bounds.h:29
vtkm::rendering::Scene::Internals
std::shared_ptr< InternalsType > Internals
Definition: Scene.h:45
Camera.h
Actor.h
vtkm::rendering::Camera
Definition: Camera.h:28
Canvas.h
Mapper.h
vtkm::rendering::Scene
Definition: Scene.h:27