VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Domains/ChemistryOpenGL2/vtkOpenGLMoleculeMapper.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 vtkOpenGLMoleculeMapper_h
00022 #define vtkOpenGLMoleculeMapper_h
00023 
00024 #include "vtkDomainsChemistryOpenGL2Module.h" // For export macro
00025 #include "vtkMoleculeMapper.h"
00026 #include "vtkNew.h" // For vtkNew
00027 
00028 class vtkOpenGLSphereMapper;
00029 class vtkOpenGLStickMapper;
00030 
00031 class VTKDOMAINSCHEMISTRYOPENGL2_EXPORT vtkOpenGLMoleculeMapper : public vtkMoleculeMapper
00032 {
00033 public:
00034   static vtkOpenGLMoleculeMapper* New();
00035   vtkTypeMacro(vtkOpenGLMoleculeMapper, vtkMoleculeMapper)
00036 
00037   //@{
00039   virtual void Render(vtkRenderer *, vtkActor *);
00040   virtual void ReleaseGraphicsResources(vtkWindow *);
00042 
00043 protected:
00044   vtkOpenGLMoleculeMapper();
00045   ~vtkOpenGLMoleculeMapper();
00046 
00047   virtual void UpdateAtomGlyphPolyData();
00048   virtual void UpdateBondGlyphPolyData();
00049 
00051 
00052   vtkNew<vtkOpenGLSphereMapper> FastAtomMapper;
00053   vtkNew<vtkOpenGLStickMapper> FastBondMapper;
00055 
00056 private:
00057   vtkOpenGLMoleculeMapper(const vtkOpenGLMoleculeMapper&); // Not implemented.
00058   void operator=(const vtkOpenGLMoleculeMapper&); // Not implemented.
00059 };
00060 
00061 #endif