VTK
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 =========================================================================*/
21 #ifndef vtkOpenGLSphereMapper_h
22 #define vtkOpenGLSphereMapper_h
23 
24 #include "vtkDomainsChemistryOpenGL2Module.h" // For export macro
25 #include "vtkOpenGLPolyDataMapper.h"
26 
28 {
29 public:
30  static vtkOpenGLSphereMapper* New();
32  void PrintSelf(ostream& os, vtkIndent indent);
33 
35 
36  vtkSetStringMacro(ScaleArray);
38 
40  virtual void Render(vtkRenderer *ren, vtkActor *act);
41 
42 protected:
44  ~vtkOpenGLSphereMapper();
45 
47 
48  virtual void GetShaderTemplate(
49  std::map<vtkShader::Type, vtkShader *> shaders,
50  vtkRenderer *ren, vtkActor *act);
52 
54 
55  virtual void ReplaceShaderValues(
56  std::map<vtkShader::Type, vtkShader *> shaders,
57  vtkRenderer *ren, vtkActor *act);
59 
61  virtual void SetCameraShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
62 
64  virtual void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
65 
66  const char *ScaleArray;
67 
69  virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act);
70 
72  virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act);
73 
74  virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act);
75 
76  // used for transparency
77  bool Invert;
78 
79 private:
80  vtkOpenGLSphereMapper(const vtkOpenGLSphereMapper&); // Not implemented.
81  void operator=(const vtkOpenGLSphereMapper&); // Not implemented.
82 };
83 
84 #endif
#define VTKDOMAINSCHEMISTRYOPENGL2_EXPORT
a PolyDataMapper for the OpenGL library
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
static vtkOpenGLPolyDataMapper * New()
abstract specification for renderers
Definition: vtkRenderer.h:62
a simple class to control print indentation
Definition: vtkIndent.h:38
draw spheres using imposters
Vertex or Fragment shader, combined into a ShaderProgram.
Definition: vtkShader.h:39