VTK  9.4.20241226
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
122#ifndef vtkSkybox_h
123#define vtkSkybox_h
124
125#include "vtkActor.h"
126#include "vtkRenderingCoreModule.h" // For export macro
127#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
128
129VTK_ABI_NAMESPACE_BEGIN
130class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkSkybox : public vtkActor
131{
132public:
133 static vtkSkybox* New();
134 vtkTypeMacro(vtkSkybox, vtkActor);
135 void PrintSelf(ostream& os, vtkIndent indent) override;
136
141 using Superclass::GetBounds;
142 double* GetBounds() override;
143
145
149 {
153 StereoSphere
154 };
155 vtkGetMacro(Projection, int);
156 vtkSetMacro(Projection, int);
157 void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
158 void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
160 void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
162
164
167 vtkSetVector4Macro(FloorPlane, float);
168 vtkGetVector4Macro(FloorPlane, float);
169 vtkSetVector3Macro(FloorRight, float);
170 vtkGetVector3Macro(FloorRight, float);
172
174
181 vtkGetVector2Macro(FloorTexCoordScale, float);
182 vtkSetVector2Macro(FloorTexCoordScale, float);
184
186
191 vtkGetMacro(GammaCorrect, bool);
192 vtkSetMacro(GammaCorrect, bool);
193 vtkBooleanMacro(GammaCorrect, bool);
195
196protected:
198 ~vtkSkybox() override;
199
201 float FloorPlane[4];
202 float FloorRight[3];
203 float FloorTexCoordScale[2];
204
205 bool GammaCorrect = false;
206
207private:
208 vtkSkybox(const vtkSkybox&) = delete;
209 void operator=(const vtkSkybox&) = delete;
210};
211
212VTK_ABI_NAMESPACE_END
213#endif // vtkSkybox_h
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
Renders a skybox environment.
Definition vtkSkybox.h:131
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:159
Projection
Set/Get the projection to be used.
Definition vtkSkybox.h:149
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition vtkSkybox.h:157
int Projection
Definition vtkSkybox.h:200
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:160
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition vtkSkybox.h:158
#define VTK_MARSHALAUTO