VTK  9.2.5
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 =========================================================================*/
134 #ifndef vtkSkybox_h
135 #define vtkSkybox_h
136 
137 #include "vtkActor.h"
138 #include "vtkRenderingCoreModule.h" // For export macro
139 
140 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
141 {
142 public:
143  static vtkSkybox* New();
144  vtkTypeMacro(vtkSkybox, vtkActor);
145  void PrintSelf(ostream& os, vtkIndent indent) override;
146 
151  using Superclass::GetBounds;
152  double* GetBounds() override;
153 
155 
159  {
163  StereoSphere
164  };
165  vtkGetMacro(Projection, int);
166  vtkSetMacro(Projection, int);
167  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
168  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
169  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
170  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
172 
174 
177  vtkSetVector4Macro(FloorPlane, float);
178  vtkGetVector4Macro(FloorPlane, float);
179  vtkSetVector3Macro(FloorRight, float);
180  vtkGetVector3Macro(FloorRight, float);
182 
184 
189  vtkGetMacro(GammaCorrect, bool);
190  vtkSetMacro(GammaCorrect, bool);
191  vtkBooleanMacro(GammaCorrect, bool);
193 
194 protected:
196  ~vtkSkybox() override;
197 
199  float FloorPlane[4];
200  float FloorRight[3];
201 
202  bool GammaCorrect = false;
203 
204 private:
205  vtkSkybox(const vtkSkybox&) = delete;
206  void operator=(const vtkSkybox&) = delete;
207 };
208 
209 #endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:161
a simple class to control print indentation
Definition: vtkIndent.h:119
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
Renders a skybox environment.
Definition: vtkSkybox.h:141
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:169
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:159
@ StereoSphere
Definition: vtkSkybox.h:163
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:167
int Projection
Definition: vtkSkybox.h:198
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:170
static vtkSkybox * New()
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:168