VTK  9.4.20251203
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#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
19
20VTK_ABI_NAMESPACE_BEGIN
21class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkSkybox : public vtkActor
22{
23public:
24 static vtkSkybox* New();
25 vtkTypeMacro(vtkSkybox, vtkActor);
26 void PrintSelf(ostream& os, vtkIndent indent) override;
27
32 using Superclass::GetBounds;
33 double* GetBounds() override;
34
36
40 {
44 StereoSphere
45 };
46 vtkGetMacro(Projection, int);
47 vtkSetMacro(Projection, int);
48 void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
49 void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
51 void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
53
55
58 vtkSetVector4Macro(FloorPlane, float);
59 vtkGetVector4Macro(FloorPlane, float);
60 vtkSetVector3Macro(FloorRight, float);
61 vtkGetVector3Macro(FloorRight, float);
63
65
72 vtkGetVector2Macro(FloorTexCoordScale, float);
73 vtkSetVector2Macro(FloorTexCoordScale, float);
75
77
82 vtkGetMacro(GammaCorrect, bool);
83 vtkSetMacro(GammaCorrect, bool);
84 vtkBooleanMacro(GammaCorrect, bool);
86
87protected:
89 ~vtkSkybox() override;
90
92 float FloorPlane[4];
93 float FloorRight[3];
94 float FloorTexCoordScale[2];
95
96 bool GammaCorrect = false;
97
98private:
99 vtkSkybox(const vtkSkybox&) = delete;
100 void operator=(const vtkSkybox&) = delete;
101};
102
103VTK_ABI_NAMESPACE_END
104#endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:42
a simple class to control print indentation
Definition vtkIndent.h:29
Renders a skybox environment.
Definition vtkSkybox.h:22
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
static vtkSkybox * New()
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition vtkSkybox.h:50
Projection
Set/Get the projection to be used.
Definition vtkSkybox.h:40
@ StereoSphere
Definition vtkSkybox.h:44
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition vtkSkybox.h:48
int Projection
Definition vtkSkybox.h:91
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetProjectionToFloor()
Set/Get the projection to be used.
Definition vtkSkybox.h:51
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition vtkSkybox.h:49
#define VTK_MARSHALAUTO