VTK  9.3.0
vtkSkybox.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
22 #ifndef vtkSkybox_h
23 #define vtkSkybox_h
24 
25 #include "vtkActor.h"
26 #include "vtkRenderingCoreModule.h" // For export macro
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
30 {
31 public:
32  static vtkSkybox* New();
33  vtkTypeMacro(vtkSkybox, vtkActor);
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
41  double* GetBounds() override;
42 
44 
48  {
52  StereoSphere
53  };
54  vtkGetMacro(Projection, int);
55  vtkSetMacro(Projection, int);
56  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
57  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
58  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
59  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
61 
63 
66  vtkSetVector4Macro(FloorPlane, float);
67  vtkGetVector4Macro(FloorPlane, float);
68  vtkSetVector3Macro(FloorRight, float);
69  vtkGetVector3Macro(FloorRight, float);
71 
73 
78  vtkGetMacro(GammaCorrect, bool);
79  vtkSetMacro(GammaCorrect, bool);
80  vtkBooleanMacro(GammaCorrect, bool);
82 
83 protected:
85  ~vtkSkybox() override;
86 
88  float FloorPlane[4];
89  float FloorRight[3];
90 
91  bool GammaCorrect = false;
92 
93 private:
94  vtkSkybox(const vtkSkybox&) = delete;
95  void operator=(const vtkSkybox&) = delete;
96 };
97 
98 VTK_ABI_NAMESPACE_END
99 #endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
a simple class to control print indentation
Definition: vtkIndent.h:38
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
Renders a skybox environment.
Definition: vtkSkybox.h:30
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:58
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:48
@ StereoSphere
Definition: vtkSkybox.h:52
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:56
int Projection
Definition: vtkSkybox.h:87
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:59
static vtkSkybox * New()
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:57