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
13 #ifndef vtkSkybox_h
14 #define vtkSkybox_h
15 
16 #include "vtkActor.h"
17 #include "vtkRenderingCoreModule.h" // For export macro
18 
19 VTK_ABI_NAMESPACE_BEGIN
20 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
21 {
22 public:
23  static vtkSkybox* New();
24  vtkTypeMacro(vtkSkybox, vtkActor);
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
32  double* GetBounds() override;
33 
35 
39  {
43  StereoSphere
44  };
45  vtkGetMacro(Projection, int);
46  vtkSetMacro(Projection, int);
47  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
48  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
49  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
50  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
52 
54 
57  vtkSetVector4Macro(FloorPlane, float);
58  vtkGetVector4Macro(FloorPlane, float);
59  vtkSetVector3Macro(FloorRight, float);
60  vtkGetVector3Macro(FloorRight, float);
62 
64 
69  vtkGetMacro(GammaCorrect, bool);
70  vtkSetMacro(GammaCorrect, bool);
71  vtkBooleanMacro(GammaCorrect, bool);
73 
74 protected:
76  ~vtkSkybox() override;
77 
79  float FloorPlane[4];
80  float FloorRight[3];
81 
82  bool GammaCorrect = false;
83 
84 private:
85  vtkSkybox(const vtkSkybox&) = delete;
86  void operator=(const vtkSkybox&) = delete;
87 };
88 
89 VTK_ABI_NAMESPACE_END
90 #endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
a simple class to control print indentation
Definition: vtkIndent.h:29
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
Renders a skybox environment.
Definition: vtkSkybox.h:21
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:49
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:39
@ StereoSphere
Definition: vtkSkybox.h:43
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:47
int Projection
Definition: vtkSkybox.h:78
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:50
static vtkSkybox * New()
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:48