VTK  9.7.1
vtkOpenGLProperty.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
11 #ifndef vtkOpenGLProperty_h
12 #define vtkOpenGLProperty_h
13 
14 #include "vtkProperty.h"
15 #include "vtkRenderingOpenGL2Module.h" // For export macro
16 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
17 
18 VTK_ABI_NAMESPACE_BEGIN
20 class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkOpenGLProperty : public vtkProperty
21 {
22 public:
23  static vtkOpenGLProperty* New();
25  static vtkOverrideAttribute* CreateOverrideAttributes();
27  void PrintSelf(ostream& os, vtkIndent indent) override;
28 
32  void Render(vtkActor* a, vtkRenderer* ren) override;
33 
37  void BackfaceRender(vtkActor* a, vtkRenderer* ren) override;
38 
44  void PostRender(vtkActor* a, vtkRenderer* r) override;
45 
51  void ReleaseGraphicsResources(vtkWindow* win) override;
52 
53 protected:
55  ~vtkOpenGLProperty() override;
56 
61  bool RenderTextures(vtkActor* actor, vtkRenderer* renderer);
62 
63 private:
64  vtkOpenGLProperty(const vtkOpenGLProperty&) = delete;
65  void operator=(const vtkOpenGLProperty&) = delete;
66 };
67 
68 #define vtkOpenGLProperty_OVERRIDE_ATTRIBUTES vtkOpenGLProperty::CreateOverrideAttributes()
69 VTK_ABI_NAMESPACE_END
70 #endif
Attribute for vtkObjectFactory overrides.
virtual void Render(vtkActor *, vtkRenderer *)
This method causes the property to set up whatever is required for its instance variables.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
static vtkProperty * New()
Construct object with object color, ambient color, diffuse color, specular color, and edge color whit...
represent surface properties of a geometric object
Definition: vtkProperty.h:59
abstract specification for renderers
Definition: vtkRenderer.h:63
OpenGL property.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void PostRender(vtkActor *, vtkRenderer *)
This method is called after the actor has been rendered.
#define VTK_NEWINSTANCE
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
Definition: vtkProperty.h:93
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this property.
#define VTK_MARSHALAUTO