VTK  9.3.20240419
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 
128 VTK_ABI_NAMESPACE_BEGIN
129 class VTKRENDERINGCORE_EXPORT vtkSkybox : public vtkActor
130 {
131 public:
132  static vtkSkybox* New();
133  vtkTypeMacro(vtkSkybox, vtkActor);
134  void PrintSelf(ostream& os, vtkIndent indent) override;
135 
140  using Superclass::GetBounds;
141  double* GetBounds() override;
142 
144 
148  {
152  StereoSphere
153  };
154  vtkGetMacro(Projection, int);
155  vtkSetMacro(Projection, int);
156  void SetProjectionToCube() { this->SetProjection(vtkSkybox::Cube); }
157  void SetProjectionToSphere() { this->SetProjection(vtkSkybox::Sphere); }
158  void SetProjectionToStereoSphere() { this->SetProjection(vtkSkybox::StereoSphere); }
159  void SetProjectionToFloor() { this->SetProjection(vtkSkybox::Floor); }
161 
163 
166  vtkSetVector4Macro(FloorPlane, float);
167  vtkGetVector4Macro(FloorPlane, float);
168  vtkSetVector3Macro(FloorRight, float);
169  vtkGetVector3Macro(FloorRight, float);
171 
173 
178  vtkGetMacro(GammaCorrect, bool);
179  vtkSetMacro(GammaCorrect, bool);
180  vtkBooleanMacro(GammaCorrect, bool);
182 
183 protected:
185  ~vtkSkybox() override;
186 
188  float FloorPlane[4];
189  float FloorRight[3];
190 
191  bool GammaCorrect = false;
192 
193 private:
194  vtkSkybox(const vtkSkybox&) = delete;
195  void operator=(const vtkSkybox&) = delete;
196 };
197 
198 VTK_ABI_NAMESPACE_END
199 #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
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
Renders a skybox environment.
Definition: vtkSkybox.h:130
void SetProjectionToStereoSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:158
Projection
Set/Get the projection to be used.
Definition: vtkSkybox.h:148
@ StereoSphere
Definition: vtkSkybox.h:152
~vtkSkybox() override
void SetProjectionToCube()
Set/Get the projection to be used.
Definition: vtkSkybox.h:156
int Projection
Definition: vtkSkybox.h:187
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:159
static vtkSkybox * New()
void SetProjectionToSphere()
Set/Get the projection to be used.
Definition: vtkSkybox.h:157