Go to the documentation of this file.
27 #ifndef vtkMoleculeMapper_h
28 #define vtkMoleculeMapper_h
30 #include "vtkDomainsChemistryModule.h"
72 void UseBallAndStickSettings();
85 void UseVDWSpheresSettings();
98 void UseLiquoriceStickSettings();
114 void UseFastSettings();
120 vtkGetMacro(RenderAtoms,
bool);
121 vtkSetMacro(RenderAtoms,
bool);
122 vtkBooleanMacro(RenderAtoms,
bool);
129 vtkGetMacro(RenderBonds,
bool);
130 vtkSetMacro(RenderBonds,
bool);
131 vtkBooleanMacro(RenderBonds,
bool);
139 vtkGetMacro(RenderLattice,
bool)
140 vtkSetMacro(RenderLattice,
bool)
141 vtkBooleanMacro(RenderLattice,
bool)
157 vtkGetMacro(AtomicRadiusType,
int);
158 vtkSetMacro(AtomicRadiusType,
int);
159 const char * GetAtomicRadiusTypeAsString();
162 this->SetAtomicRadiusType(CovalentRadius);
166 this->SetAtomicRadiusType(VDWRadius);
170 this->SetAtomicRadiusType(UnitRadius);
174 this->SetAtomicRadiusType(CustomArrayRadius);
184 vtkGetMacro(AtomicRadiusScaleFactor,
float);
185 vtkSetMacro(AtomicRadiusScaleFactor,
float);
193 vtkGetMacro(UseMultiCylindersForBonds,
bool);
194 vtkSetMacro(UseMultiCylindersForBonds,
bool);
195 vtkBooleanMacro(UseMultiCylindersForBonds,
bool);
214 vtkGetMacro(BondColorMode,
int);
215 vtkSetMacro(BondColorMode,
int);
216 const char * GetBondColorModeAsString();
219 this->SetBondColorMode(SingleColor);
223 this->SetBondColorMode(DiscreteByAtom);
232 vtkGetVector3Macro(BondColor,
unsigned char);
233 vtkSetVector3Macro(BondColor,
unsigned char);
240 vtkGetMacro(BondRadius,
float);
241 vtkSetMacro(BondRadius,
float);
249 vtkGetVector3Macro(LatticeColor,
unsigned char)
250 vtkSetVector3Macro(LatticeColor,
unsigned char)
258 virtual void GetSelectedAtomsAndBonds(
vtkSelection *selection,
264 this->GetSelectedAtomsAndBonds(selection, atomIds,
nullptr);
269 this->GetSelectedAtomsAndBonds(selection,
nullptr, bondIds);
290 vtkGetStringMacro(AtomicRadiusArrayName);
291 vtkSetStringMacro(AtomicRadiusArrayName);
316 unsigned char BondColor[3];
335 virtual void UpdateGlyphPolyData();
336 virtual void UpdateAtomGlyphPolyData();
337 virtual void UpdateBondGlyphPolyData();
348 unsigned char LatticeColor[3];
351 virtual void UpdateLatticePolyData();
map vtkPolyData to graphics primitives
void SetAtomicRadiusTypeToCovalentRadius()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
void SetBondColorModeToSingleColor()
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
vtkNew< vtkPeriodicTable > PeriodicTable
Periodic table for lookups.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void SetAtomicRadiusTypeToVDWRadius()
void SetAtomicRadiusTypeToCustomArrayRadius()
float AtomicRadiusScaleFactor
bool GlyphDataInitialized
data object that represents a "selection" in VTK.
vtkNew< vtkPolyData > BondGlyphPolyData
char * AtomicRadiusArrayName
vtkNew< vtkPolyData > LatticePolyData
Producer for stand-alone data objects.
bool RenderAtoms
Customize atom rendering.
window superclass for vtkRenderWindow
bool UseMultiCylindersForBonds
virtual void GetSelectedBonds(vtkSelection *selection, vtkIdTypeArray *bondIds)
virtual void Render(vtkRenderer *ren, vtkActor *a)=0
Method initiates the mapping process.
vtkNew< vtkPolyData > AtomGlyphPolyData
Cached variables and update methods.
vtkNew< vtkPolyDataMapper > LatticeMapper
vtkNew< vtkTrivialProducer > AtomGlyphPointOutput
create a polygonal sphere centered at the origin
abstract class specifies interface to map data to graphics primitives
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
void SetAtomicRadiusTypeToUnitRadius()
vtkDataSet * GetInput()
Get the input as a vtkDataSet.
class describing a molecule
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
Access to information about the elements.
Mapper that draws vtkMolecule objects.
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
vtkNew< vtkGlyph3DMapper > AtomGlyphMapper
Internal mappers.
static vtkAlgorithm * New()
virtual void GetSelectedAtoms(vtkSelection *selection, vtkIdTypeArray *atomIds)
dynamic, self-adjusting array of vtkIdType
abstract specification for renderers
void SetBondColorModeToDiscreteByAtom()
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkNew< vtkTrivialProducer > BondGlyphPointOutput
void GetBounds(double bounds[6]) override
Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
bool RenderBonds
Customize bond rendering.
vtkNew< vtkGlyph3DMapper > BondGlyphMapper