VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Domains/ChemistryOpenGL2/vtkOpenGLStickMapper.h
Go to the documentation of this file.
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