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 =========================================================================*/
71 #ifndef vtkSkybox_h
72 #define vtkSkybox_h
73 
74 #include "vtkActor.h"
75 #include "vtkRenderingCoreModule.h" // For export macro
76 
77 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
78 {
79 public:
80  static vtkSkybox* New();
81  vtkTypeMacro(vtkSkybox, vtkActor);
82  void PrintSelf(ostream& os, vtkIndent indent) override;
83 
89  double* GetBounds() override;
90 
92 
96  {
100  StereoSphere
101  };
102  vtkGetMacro(Projection, int);
103  vtkSetMacro(Projection, int);
104  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
105  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
106  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
107  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
109 
111 
114  vtkSetVector4Macro(FloorPlane, float);
115  vtkGetVector4Macro(FloorPlane, float);
116  vtkSetVector3Macro(FloorRight, float);
117  vtkGetVector3Macro(FloorRight, float);
119 
121 
126  vtkGetMacro(GammaCorrect, bool);
127  vtkSetMacro(GammaCorrect, bool);
128  vtkBooleanMacro(GammaCorrect, bool);
130 
131 protected:
133  ~vtkSkybox() override;
134 
136  float FloorPlane[4];
137  float FloorRight[3];
138 
139  bool GammaCorrect = false;
140 
141 private:
142  vtkSkybox(const vtkSkybox&) = delete;
143  void operator=(const vtkSkybox&) = delete;
144 };
145 
146 #endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
a simple class to control print indentation
Definition: vtkIndent.h:113
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
Renders a skybox environment.
Definition: vtkSkybox.h:78
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:106
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:96
@ StereoSphere
Definition: vtkSkybox.h:100
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:104
int Projection
Definition: vtkSkybox.h:135
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:107
static vtkSkybox * New()
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:105