VTK  9.0.1
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 =========================================================================*/
22 #ifndef vtkOpenGLMoleculeMapper_h
23 #define vtkOpenGLMoleculeMapper_h
24 
25 #include "vtkDomainsChemistryOpenGL2Module.h" // For export macro
26 #include "vtkMoleculeMapper.h"
27 #include "vtkNew.h" // For vtkNew
28 
31 
32 class VTKDOMAINSCHEMISTRYOPENGL2_EXPORT vtkOpenGLMoleculeMapper : public vtkMoleculeMapper
33 {
34 public:
35  static vtkOpenGLMoleculeMapper* New();
37 
39 
42  void Render(vtkRenderer*, vtkActor*) override;
43  void ReleaseGraphicsResources(vtkWindow*) override;
45 
49  vtkOpenGLSphereMapper* GetFastAtomMapper() { return this->FastAtomMapper; }
55  vtkHardwareSelector* sel, std::vector<unsigned int>& pixeloffsets, vtkProp* prop) override;
56 
61  void SetMapScalars(bool map) override;
62 
63 protected:
65  ~vtkOpenGLMoleculeMapper() override;
66 
67  void UpdateAtomGlyphPolyData() override;
68  void UpdateBondGlyphPolyData() override;
69 
71 
77 
78 private:
80  void operator=(const vtkOpenGLMoleculeMapper&) = delete;
81 };
82 
83 #endif
vtkMoleculeMapper::UpdateBondGlyphPolyData
virtual void UpdateBondGlyphPolyData()
vtkMoleculeMapper::Render
void Render(vtkRenderer *, vtkActor *) override
Reimplemented from base class.
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkMoleculeMapper::UpdateAtomGlyphPolyData
virtual void UpdateAtomGlyphPolyData()
vtkOpenGLMoleculeMapper::FastAtomMapper
vtkNew< vtkOpenGLSphereMapper > FastAtomMapper
Internal mappers.
Definition: vtkOpenGLMoleculeMapper.h:74
vtkMapper::ProcessSelectorPixelBuffers
virtual void ProcessSelectorPixelBuffers(vtkHardwareSelector *, std::vector< unsigned int > &, vtkProp *)
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
Definition: vtkMapper.h:470
vtkHardwareSelector
Definition: vtkHardwareSelector.h:123
vtkMoleculeMapper::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:45
vtkNew< vtkOpenGLSphereMapper >
vtkOpenGLMoleculeMapper
An accelerated class for rendering molecules.
Definition: vtkOpenGLMoleculeMapper.h:32
vtkMoleculeMapper
Mapper that draws vtkMolecule objects.
Definition: vtkMoleculeMapper.h:43
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:53
vtkMoleculeMapper.h
vtkOpenGLStickMapper
use imposters to draw cylinders
Definition: vtkOpenGLStickMapper.h:28
vtkNew.h
vtkOpenGLMoleculeMapper::FastBondMapper
vtkNew< vtkOpenGLStickMapper > FastBondMapper
Definition: vtkOpenGLMoleculeMapper.h:75
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:67
vtkMoleculeMapper::SetMapScalars
virtual void SetMapScalars(bool map)
Helper method to set ScalarMode on both AtomGlyphMapper and BondGlyphMapper.
vtkMoleculeMapper::New
static vtkMoleculeMapper * New()
vtkOpenGLSphereMapper
draw spheres using imposters
Definition: vtkOpenGLSphereMapper.h:28
vtkOpenGLMoleculeMapper::GetFastAtomMapper
vtkOpenGLSphereMapper * GetFastAtomMapper()
provide access to the underlying mappers
Definition: vtkOpenGLMoleculeMapper.h:49