VTK  9.1.0
vtkSkybox.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSkybox.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
22 #ifndef vtkSkybox_h
23 #define vtkSkybox_h
24 
25 #include "vtkActor.h"
26 #include "vtkRenderingCoreModule.h" // For export macro
27 
28 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
29 {
30 public:
31  static vtkSkybox* New();
32  vtkTypeMacro(vtkSkybox, vtkActor);
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
40  double* GetBounds() override;
41 
43 
47  {
51  StereoSphere
52  };
53  vtkGetMacro(Projection, int);
54  vtkSetMacro(Projection, int);
55  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
56  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
57  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
58  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
60 
62 
65  vtkSetVector4Macro(FloorPlane, float);
66  vtkGetVector4Macro(FloorPlane, float);
67  vtkSetVector3Macro(FloorRight, float);
68  vtkGetVector3Macro(FloorRight, float);
70 
72 
77  vtkGetMacro(GammaCorrect, bool);
78  vtkSetMacro(GammaCorrect, bool);
79  vtkBooleanMacro(GammaCorrect, bool);
81 
82 protected:
84  ~vtkSkybox() override;
85 
87  float FloorPlane[4];
88  float FloorRight[3];
89 
90  bool GammaCorrect = false;
91 
92 private:
93  vtkSkybox(const vtkSkybox&) = delete;
94  void operator=(const vtkSkybox&) = delete;
95 };
96 
97 #endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
a simple class to control print indentation
Definition: vtkIndent.h:34
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
Renders a skybox environment.
Definition: vtkSkybox.h:29
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:57
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:47
@ StereoSphere
Definition: vtkSkybox.h:51
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:55
int Projection
Definition: vtkSkybox.h:86
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
void SetProjectionToFloor()
Set/Get the projection to be used.
Definition: vtkSkybox.h:58
static vtkSkybox * New()
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:56