VTK  9.0.3
vtkOpenGLSphereMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4 
5  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
6  All rights reserved.
7  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
22 #ifndef vtkOpenGLSphereMapper_h
23 #define vtkOpenGLSphereMapper_h
24 
26 #include "vtkRenderingOpenGL2Module.h" // For export macro
27 
28 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLSphereMapper : public vtkOpenGLPolyDataMapper
29 {
30 public:
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
36 
39  vtkSetStringMacro(ScaleArray);
41 
43 
47  vtkSetMacro(Radius, float);
48  vtkGetMacro(Radius, float);
49 
53  void Render(vtkRenderer* ren, vtkActor* act) override;
54 
59  // void ProcessSelectorPixelBuffers(vtkHardwareSelector *sel,
60  // int propid, vtkProp *prop) override;
61 
62 protected:
65 
70  std::map<vtkShader::Type, vtkShader*> shaders, vtkRenderer* ren, vtkActor* act) override;
71 
76  std::map<vtkShader::Type, vtkShader*> shaders, vtkRenderer* ren, vtkActor* act) override;
77 
81  void SetCameraShaderParameters(vtkOpenGLHelper& cellBO, vtkRenderer* ren, vtkActor* act) override;
82 
86  void SetMapperShaderParameters(vtkOpenGLHelper& cellBO, vtkRenderer* ren, vtkActor* act) override;
87 
88  const char* ScaleArray;
89 
93  void BuildBufferObjects(vtkRenderer* ren, vtkActor* act) override;
94 
95  void RenderPieceDraw(vtkRenderer* ren, vtkActor* act) override;
96 
97  virtual void CreateVBO(vtkPolyData* poly, vtkIdType numPts, unsigned char* colors,
98  int colorComponents, vtkIdType nc, float* sizes, vtkIdType ns, vtkRenderer* ren);
99 
100  // used for transparency
101  bool Invert;
102  float Radius;
103 
104 private:
106  void operator=(const vtkOpenGLSphereMapper&) = delete;
107 };
108 
109 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
a simple class to control print indentation
Definition: vtkIndent.h:34
PolyDataMapper using OpenGL to render.
draw spheres using imposters
virtual void CreateVBO(vtkPolyData *poly, vtkIdType numPts, unsigned char *colors, int colorComponents, vtkIdType nc, float *sizes, vtkIdType ns, vtkRenderer *ren)
void BuildBufferObjects(vtkRenderer *ren, vtkActor *act) override
Update the VBO to contain point based values.
~vtkOpenGLSphereMapper() override
void GetShaderTemplate(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Create the basic shaders before replacement.
void Render(vtkRenderer *ren, vtkActor *act) override
This calls RenderPiece (twice when transparent)
vtkOpenGLSphereMapper()
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
void RenderPieceDraw(vtkRenderer *ren, vtkActor *act) override
void SetCameraShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) override
Set the shader parameters related to the Camera.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) override
Set the shader parameters related to the actor/mapper.
static vtkOpenGLSphereMapper * New()
void ReplaceShaderValues(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
abstract specification for renderers
Definition: vtkRenderer.h:59
int vtkIdType
Definition: vtkType.h:338