VTK  9.2.6
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 =========================================================================*/
25 #ifndef vtkSkybox_h
26 #define vtkSkybox_h
27 
28 #include "vtkActor.h"
29 #include "vtkRenderingCoreModule.h" // For export macro
30 
31 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
32 {
33 public:
34  static vtkSkybox* New();
35  vtkTypeMacro(vtkSkybox, vtkActor);
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
43  double* GetBounds() override;
44 
46 
50  {
54  StereoSphere
55  };
56  vtkGetMacro(Projection, int);
57  vtkSetMacro(Projection, int);
58  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
59  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
60  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
61  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
63 
65 
68  vtkSetVector4Macro(FloorPlane, float);
69  vtkGetVector4Macro(FloorPlane, float);
70  vtkSetVector3Macro(FloorRight, float);
71  vtkGetVector3Macro(FloorRight, float);
73 
75 
80  vtkGetMacro(GammaCorrect, bool);
81  vtkSetMacro(GammaCorrect, bool);
82  vtkBooleanMacro(GammaCorrect, bool);
84 
85 protected:
86  vtkSkybox();
87  ~vtkSkybox() override;
88 
90  float FloorPlane[4];
91  float FloorRight[3];
92 
93  bool GammaCorrect = false;
94 
95 private:
96  vtkSkybox(const vtkSkybox&) = delete;
97  void operator=(const vtkSkybox&) = delete;
98 };
99 
100 #endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:49
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,1,1) visibility=1 pickable=1 dragable=1 orientation=(0,0,0).
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:59
a simple class to control print indentation
Definition: vtkIndent.h:39
Renders a skybox environment.
Definition: vtkSkybox.h:31
int Projection
Definition: vtkSkybox.h:89
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:58
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
void SetProjectionToFloor()
Set/Get the projection to be used.
Definition: vtkSkybox.h:61
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:60