VTK
vtkOpenGLStickMapper.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 vtkOpenGLStickMapper_h
22 #define vtkOpenGLStickMapper_h
23 
24 #include "vtkDomainsChemistryOpenGL2Module.h" // For export macro
25 #include "vtkOpenGLPolyDataMapper.h"
26 
27 class VTKDOMAINSCHEMISTRYOPENGL2_EXPORT vtkOpenGLStickMapper : public vtkOpenGLPolyDataMapper
28 {
29 public:
30  static vtkOpenGLStickMapper* New();
32  void PrintSelf(ostream& os, vtkIndent indent);
33 
35 
36  vtkSetStringMacro(ScaleArray);
38 
40 
41  vtkSetStringMacro(OrientationArray);
43 
45 
46  vtkSetStringMacro(SelectionIdArray);
48 
49 protected:
51  ~vtkOpenGLStickMapper();
52 
54 
55  virtual void GetShaderTemplate(std::string &VertexCode,
56  std::string &fragmentCode,
57  std::string &geometryCode,
58  int lightComplexity,
59  vtkRenderer *ren, vtkActor *act);
61 
63 
64  virtual void ReplaceShaderValues(std::string &VertexCode,
65  std::string &fragmentCode,
66  std::string &geometryCode,
67  int lightComplexity,
68  vtkRenderer *ren, vtkActor *act);
70 
72  virtual void SetCameraShaderParameters(vtkgl::CellBO &cellBO, vtkRenderer *ren, vtkActor *act);
73 
75  virtual void SetMapperShaderParameters(vtkgl::CellBO &cellBO, vtkRenderer *ren, vtkActor *act);
76 
77  const char *ScaleArray;
78  const char *OrientationArray;
79  const char *SelectionIdArray;
80 
82  virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act);
83 
85  virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act);
86 
87  virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act);
88 
89 private:
90  vtkOpenGLStickMapper(const vtkOpenGLStickMapper&); // Not implemented.
91  void operator=(const vtkOpenGLStickMapper&); // Not implemented.
92 };
93 
94 #endif
a PolyDataMapper for the OpenGL library
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
static vtkOpenGLPolyDataMapper * New()
use imposters to draw cylinders
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
abstract specification for renderers
Definition: vtkRenderer.h:63
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:94
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:632
a simple class to control print indentation
Definition: vtkIndent.h:38
Definition: vtkgl.h:11267