VTK
9.6.1
Main Page
Related Pages
Topics
Namespaces
Classes
Files
File List
File Members
Rendering
OpenGL2
vtkPanoramicProjectionPass.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
20
21
#ifndef vtkPanoramicProjectionPass_h
22
#define vtkPanoramicProjectionPass_h
23
24
#include "
vtkImageProcessingPass.h
"
25
#include "vtkRenderingOpenGL2Module.h"
// For export macro
26
#include "
vtkWrappingHints.h
"
// For VTK_MARSHALAUTO
27
28
VTK_ABI_NAMESPACE_BEGIN
29
class
vtkOpenGLFramebufferObject
;
30
class
vtkOpenGLQuadHelper
;
31
class
vtkTextureObject
;
32
33
class
VTKRENDERINGOPENGL2_EXPORT
VTK_MARSHALAUTO
vtkPanoramicProjectionPass
34
:
public
vtkImageProcessingPass
35
{
36
public
:
37
static
vtkPanoramicProjectionPass
*
New
();
38
vtkTypeMacro(
vtkPanoramicProjectionPass
,
vtkImageProcessingPass
);
39
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
40
44
void
Render
(
const
vtkRenderState
* s)
override
;
45
49
void
ReleaseGraphicsResources
(
vtkWindow
* w)
override
;
50
52
56
vtkGetMacro(
CubeResolution
,
unsigned
int
);
57
vtkSetMacro(
CubeResolution
,
unsigned
int
);
59
63
enum :
int
64
{
65
Equirectangular
= 1,
66
Azimuthal
= 2
67
};
68
70
78
vtkGetMacro(
ProjectionType
,
int
);
79
vtkSetClampMacro(
ProjectionType
,
int
,
Equirectangular
,
Azimuthal
);
80
void
SetProjectionTypeToEquirectangular
() { this->
SetProjectionType
(
Equirectangular
); }
81
void
SetProjectionTypeToAzimuthal
() { this->
SetProjectionType
(
Azimuthal
); }
83
85
91
vtkGetMacro(
Angle
,
double
);
92
vtkSetClampMacro(
Angle
,
double
, 90.0, 360.0);
94
96
101
vtkGetMacro(
Interpolate
,
bool
);
102
vtkSetMacro(
Interpolate
,
bool
);
103
vtkBooleanMacro(
Interpolate
,
bool
);
105
106
protected
:
107
vtkPanoramicProjectionPass
() =
default
;
108
~vtkPanoramicProjectionPass
()
override
=
default
;
109
110
void
RenderOnFace
(
const
vtkRenderState
* s,
int
index);
111
112
void
Project
(
vtkOpenGLRenderWindow
* renWin);
113
114
void
InitOpenGLResources
(
vtkOpenGLRenderWindow
* renWin);
115
119
vtkOpenGLFramebufferObject
*
FrameBufferObject
=
nullptr
;
120
vtkTextureObject
*
CubeMapTexture
=
nullptr
;
121
vtkOpenGLQuadHelper
*
QuadHelper
=
nullptr
;
122
123
unsigned
int
CubeResolution
= 300;
124
int
ProjectionType
=
Equirectangular
;
125
double
Angle
= 180.0;
126
bool
Interpolate
=
false
;
127
128
private
:
129
vtkPanoramicProjectionPass
(
const
vtkPanoramicProjectionPass
&) =
delete
;
130
void
operator=(
const
vtkPanoramicProjectionPass
&) =
delete
;
131
};
132
133
VTK_ABI_NAMESPACE_END
134
#endif
vtkImageProcessingPass::vtkImageProcessingPass
vtkImageProcessingPass()
Default constructor.
vtkIndent
a simple class to control print indentation
Definition
vtkIndent.h:29
vtkOpenGLFramebufferObject
Internal class which encapsulates OpenGL FramebufferObject.
Definition
vtkOpenGLFramebufferObject.h:175
vtkOpenGLQuadHelper
Class to make rendering a full screen quad easier.
Definition
vtkOpenGLQuadHelper.h:53
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition
vtkOpenGLRenderWindow.h:45
vtkPanoramicProjectionPass::QuadHelper
vtkOpenGLQuadHelper * QuadHelper
Definition
vtkPanoramicProjectionPass.h:121
vtkPanoramicProjectionPass::CubeResolution
unsigned int CubeResolution
Definition
vtkPanoramicProjectionPass.h:123
vtkPanoramicProjectionPass::Azimuthal
@ Azimuthal
Azimuthal equidistant projection.
Definition
vtkPanoramicProjectionPass.h:66
vtkPanoramicProjectionPass::Equirectangular
@ Equirectangular
Equirectangular projection.
Definition
vtkPanoramicProjectionPass.h:65
vtkPanoramicProjectionPass::CubeMapTexture
vtkTextureObject * CubeMapTexture
Definition
vtkPanoramicProjectionPass.h:120
vtkPanoramicProjectionPass::InitOpenGLResources
void InitOpenGLResources(vtkOpenGLRenderWindow *renWin)
vtkPanoramicProjectionPass::SetProjectionTypeToEquirectangular
void SetProjectionTypeToEquirectangular()
Get/Set the type of projection.
Definition
vtkPanoramicProjectionPass.h:80
vtkPanoramicProjectionPass::Interpolate
bool Interpolate
Definition
vtkPanoramicProjectionPass.h:126
vtkPanoramicProjectionPass::New
static vtkPanoramicProjectionPass * New()
vtkPanoramicProjectionPass::Project
void Project(vtkOpenGLRenderWindow *renWin)
vtkPanoramicProjectionPass::~vtkPanoramicProjectionPass
~vtkPanoramicProjectionPass() override=default
vtkPanoramicProjectionPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPanoramicProjectionPass::RenderOnFace
void RenderOnFace(const vtkRenderState *s, int index)
vtkPanoramicProjectionPass::Angle
double Angle
Definition
vtkPanoramicProjectionPass.h:125
vtkPanoramicProjectionPass::SetProjectionType
virtual void SetProjectionType(int)
Get/Set the type of projection.
vtkPanoramicProjectionPass::FrameBufferObject
vtkOpenGLFramebufferObject * FrameBufferObject
Graphics resources.
Definition
vtkPanoramicProjectionPass.h:119
vtkPanoramicProjectionPass::Render
void Render(const vtkRenderState *s) override
Perform rendering according to a render state.
vtkPanoramicProjectionPass::vtkPanoramicProjectionPass
vtkPanoramicProjectionPass()=default
vtkPanoramicProjectionPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
vtkPanoramicProjectionPass::SetProjectionTypeToAzimuthal
void SetProjectionTypeToAzimuthal()
Get/Set the type of projection.
Definition
vtkPanoramicProjectionPass.h:81
vtkPanoramicProjectionPass::ProjectionType
int ProjectionType
Definition
vtkPanoramicProjectionPass.h:124
vtkRenderState
Context in which a vtkRenderPass will render.
Definition
vtkRenderState.h:30
vtkTextureObject
In case DepthTextureCompare is true, specify the comparison function in use.
Definition
vtkTextureObject.h:34
vtkWindow
window superclass for vtkRenderWindow
Definition
vtkWindow.h:29
vtkImageProcessingPass.h
vtkWrappingHints.h
VTK_MARSHALAUTO
#define VTK_MARSHALAUTO
Definition
vtkWrappingHints.h:60
Generated on
for VTK by
1.16.1