Viskores  1.0
Scene.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_Scene_h
19 #define viskores_rendering_Scene_h
20 
22 
27 
28 #include <memory>
29 
30 namespace viskores
31 {
32 namespace rendering
33 {
34 
38 class VISKORES_RENDERING_EXPORT Scene
39 {
40 public:
41  Scene();
42 
44  void AddActor(viskores::rendering::Actor actor);
45 
47  const viskores::rendering::Actor& GetActor(viskores::IdComponent index) const;
48 
50  viskores::IdComponent GetNumberOfActors() const;
51 
52  void Render(viskores::rendering::Mapper& mapper,
54  const viskores::rendering::Camera& camera) const;
55 
57  viskores::Bounds GetSpatialBounds() const;
58 
59 private:
60  struct InternalsType;
61  std::shared_ptr<InternalsType> Internals;
62 };
63 }
64 } //namespace viskores::rendering
65 
66 #endif //viskores_rendering_Scene_h
viskores::Bounds
Represent an axis-aligned 3D bounds in space.
Definition: Bounds.h:37
viskores::IdComponent
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
viskores::rendering::Scene
A simple collection of things to render.
Definition: Scene.h:38
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::rendering::Mapper
Converts data into commands to a rendering system.
Definition: Mapper.h:37
viskores::rendering::Camera
Specifies the viewport for a rendering.
Definition: Camera.h:45
viskores::rendering::Actor
An item to be rendered.
Definition: Actor.h:38
Camera.h
Actor.h
viskores_rendering_export.h
Canvas.h
Mapper.h
viskores::rendering::Canvas
Represents the image space that is the target of rendering.
Definition: Canvas.h:43
viskores::rendering::Scene::Internals
std::shared_ptr< InternalsType > Internals
Definition: Scene.h:60