VTK  9.3.20240420
vtkOpenGLMoleculeMapper.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
14#ifndef vtkOpenGLMoleculeMapper_h
15#define vtkOpenGLMoleculeMapper_h
16
17#include "vtkDomainsChemistryOpenGL2Module.h" // For export macro
18#include "vtkMoleculeMapper.h"
19#include "vtkNew.h" // For vtkNew
20
21VTK_ABI_NAMESPACE_BEGIN
24
25class VTKDOMAINSCHEMISTRYOPENGL2_EXPORT vtkOpenGLMoleculeMapper : public vtkMoleculeMapper
26{
27public:
30 void PrintSelf(ostream& os, vtkIndent indent) override;
31
33
36 void Render(vtkRenderer*, vtkActor*) override;
39
43 vtkOpenGLSphereMapper* GetFastAtomMapper() { return this->FastAtomMapper; }
49 vtkHardwareSelector* sel, std::vector<unsigned int>& pixeloffsets, vtkProp* prop) override;
50
55 void SetMapScalars(bool map) override;
56
57protected:
60
61 void UpdateAtomGlyphPolyData() override;
62 void UpdateBondGlyphPolyData() override;
63
65
71
72private:
74 void operator=(const vtkOpenGLMoleculeMapper&) = delete;
75};
76
77VTK_ABI_NAMESPACE_END
78#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
Mapper that draws vtkMolecule objects.
Allocate and hold a VTK object.
Definition vtkNew.h:160
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.
static vtkOpenGLMoleculeMapper * New()
void UpdateAtomGlyphPolyData() override
Cached variables and update methods.
vtkOpenGLSphereMapper * GetFastAtomMapper()
provide access to the underlying mappers
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 ...
draw spheres using imposters
use imposters to draw cylinders
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:66
abstract specification for renderers
window superclass for vtkRenderWindow
Definition vtkWindow.h:48