VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 00005 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00021 #ifndef vtkOpenGLStickMapper_h 00022 #define vtkOpenGLStickMapper_h 00023 00024 #include "vtkDomainsChemistryOpenGL2Module.h" // For export macro 00025 #include "vtkOpenGLPolyDataMapper.h" 00026 00027 class VTKDOMAINSCHEMISTRYOPENGL2_EXPORT vtkOpenGLStickMapper : public vtkOpenGLPolyDataMapper 00028 { 00029 public: 00030 static vtkOpenGLStickMapper* New(); 00031 vtkTypeMacro(vtkOpenGLStickMapper, vtkOpenGLPolyDataMapper) 00032 void PrintSelf(ostream& os, vtkIndent indent); 00033 00035 00036 vtkSetStringMacro(ScaleArray); 00038 00040 00041 vtkSetStringMacro(OrientationArray); 00043 00045 00046 vtkSetStringMacro(SelectionIdArray); 00048 00049 protected: 00050 vtkOpenGLStickMapper(); 00051 ~vtkOpenGLStickMapper(); 00052 00054 00055 virtual void GetShaderTemplate(std::string &VertexCode, 00056 std::string &fragmentCode, 00057 std::string &geometryCode, 00058 int lightComplexity, 00059 vtkRenderer *ren, vtkActor *act); 00061 00063 00064 virtual void ReplaceShaderValues(std::string &VertexCode, 00065 std::string &fragmentCode, 00066 std::string &geometryCode, 00067 int lightComplexity, 00068 vtkRenderer *ren, vtkActor *act); 00070 00072 virtual void SetCameraShaderParameters(vtkgl::CellBO &cellBO, vtkRenderer *ren, vtkActor *act); 00073 00075 virtual void SetMapperShaderParameters(vtkgl::CellBO &cellBO, vtkRenderer *ren, vtkActor *act); 00076 00077 const char *ScaleArray; 00078 const char *OrientationArray; 00079 const char *SelectionIdArray; 00080 00082 virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act); 00083 00085 virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act); 00086 00087 virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act); 00088 00089 private: 00090 vtkOpenGLStickMapper(const vtkOpenGLStickMapper&); // Not implemented. 00091 void operator=(const vtkOpenGLStickMapper&); // Not implemented. 00092 }; 00093 00094 #endif