VTK  9.2.5
vtkOpenGLMoleculeMapper.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 =========================================================================*/
25 #ifndef vtkOpenGLMoleculeMapper_h
26 #define vtkOpenGLMoleculeMapper_h
27 
28 #include "vtkDomainsChemistryOpenGL2Module.h" // For export macro
29 #include "vtkMoleculeMapper.h"
30 #include "vtkNew.h" // For vtkNew
31 
34 
35 class VTKDOMAINSCHEMISTRYOPENGL2_EXPORT vtkOpenGLMoleculeMapper : public vtkMoleculeMapper
36 {
37 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
43 
46  void Render(vtkRenderer*, vtkActor*) override;
49 
53  vtkOpenGLSphereMapper* GetFastAtomMapper() { return this->FastAtomMapper; }
59  vtkHardwareSelector* sel, std::vector<unsigned int>& pixeloffsets, vtkProp* prop) override;
60 
65  void SetMapScalars(bool map) override;
66 
67 protected:
70 
71  void UpdateAtomGlyphPolyData() override;
72  void UpdateBondGlyphPolyData() override;
73 
75 
81 
82 private:
84  void operator=(const vtkOpenGLMoleculeMapper&) = delete;
85 };
86 
87 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:161
a simple class to control print indentation
Definition: vtkIndent.h:119
Mapper that draws vtkMolecule objects.
An accelerated class for rendering molecules.
void UpdateBondGlyphPolyData() override
Cached variables and update methods.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkNew< vtkOpenGLSphereMapper > FastAtomMapper
Internal mappers.
void SetMapScalars(bool map) override
Helper method to set ScalarMode on both FastAtomMapper and FastBondMapper.
vtkOpenGLSphereMapper * GetFastAtomMapper()
provide access to the underlying mappers
void UpdateAtomGlyphPolyData() override
Cached variables and update methods.
vtkNew< vtkOpenGLStickMapper > FastBondMapper
Internal mappers.
void Render(vtkRenderer *, vtkActor *) override
Reimplemented from base class.
~vtkOpenGLMoleculeMapper() override
void ReleaseGraphicsResources(vtkWindow *) override
Reimplemented from base class.
void ProcessSelectorPixelBuffers(vtkHardwareSelector *sel, std::vector< unsigned int > &pixeloffsets, vtkProp *prop) override
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
static vtkOpenGLMoleculeMapper * New()
draw spheres using imposters
use imposters to draw cylinders
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:76
abstract specification for renderers
Definition: vtkRenderer.h:182
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39