15#ifndef vtkMoleculeMapper_h 
   16#define vtkMoleculeMapper_h 
   18#include "vtkDomainsChemistryModule.h"  
   22VTK_ABI_NAMESPACE_BEGIN
 
  109  vtkGetMacro(RenderAtoms, 
bool);
 
  110  vtkSetMacro(RenderAtoms, 
bool);
 
  111  vtkBooleanMacro(RenderAtoms, 
bool);
 
  118  vtkGetMacro(RenderBonds, 
bool);
 
  119  vtkSetMacro(RenderBonds, 
bool);
 
  120  vtkBooleanMacro(RenderBonds, 
bool);
 
  128  vtkGetMacro(RenderLattice, 
bool);
 
  129  vtkSetMacro(RenderLattice, 
bool);
 
  130  vtkBooleanMacro(RenderLattice, 
bool);
 
  147  vtkGetMacro(AtomicRadiusType, 
int);
 
  148  vtkSetMacro(AtomicRadiusType, 
int);
 
  162  vtkGetMacro(AtomicRadiusScaleFactor, 
float);
 
  163  vtkSetMacro(AtomicRadiusScaleFactor, 
float);
 
  171  vtkGetMacro(UseMultiCylindersForBonds, 
bool);
 
  172  vtkSetMacro(UseMultiCylindersForBonds, 
bool);
 
  173  vtkBooleanMacro(UseMultiCylindersForBonds, 
bool);
 
  193  vtkGetMacro(BondColorMode, 
int);
 
  194  vtkSetClampMacro(BondColorMode, 
int, SingleColor, DiscreteByAtom);
 
  210  vtkGetMacro(AtomColorMode, 
int);
 
  211  vtkSetClampMacro(AtomColorMode, 
int, SingleColor, DiscreteByAtom);
 
  219  vtkGetVector3Macro(AtomColor, 
unsigned char);
 
  220  vtkSetVector3Macro(AtomColor, 
unsigned char);
 
  228  vtkGetVector3Macro(BondColor, 
unsigned char);
 
  229  vtkSetVector3Macro(BondColor, 
unsigned char);
 
  236  vtkGetMacro(BondRadius, 
float);
 
  237  vtkSetMacro(BondRadius, 
float);
 
  245  vtkGetVector3Macro(LatticeColor, 
unsigned char);
 
  246  vtkSetVector3Macro(LatticeColor, 
unsigned char);
 
  258    this->GetSelectedAtomsAndBonds(selection, atomIds, 
nullptr);
 
  262    this->GetSelectedAtomsAndBonds(selection, 
nullptr, bondIds);
 
  283  vtkGetStringMacro(AtomicRadiusArrayName);
 
  284  vtkSetStringMacro(AtomicRadiusArrayName);
 
  311  unsigned char AtomColor[3];
 
  322  unsigned char BondColor[3];
 
  354  unsigned char LatticeColor[3];
 
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
 
represents an object (geometry & properties) in a rendered scene
 
dynamic, self-adjusting array of vtkIdType
 
a simple class to control print indentation
 
abstract class specifies interface to map data to graphics primitives
 
Mapper that draws vtkMolecule objects.
 
virtual void GetSelectedBonds(vtkSelection *selection, vtkIdTypeArray *bondIds)
Extract the ids atoms and/or bonds rendered by this molecule from a vtkSelection object.
 
const char * GetBondColorModeAsString()
Get/Set the method by which bonds are colored.
 
virtual void GetSelectedAtoms(vtkSelection *selection, vtkIdTypeArray *atomIds)
Extract the ids atoms and/or bonds rendered by this molecule from a vtkSelection object.
 
virtual void SetMapScalars(bool map)
Helper method to set ScalarMode on both AtomGlyphMapper and BondGlyphMapper.
 
void SetBondColorModeToDiscreteByAtom()
Get/Set the method by which bonds are colored.
 
void SetAtomicRadiusTypeToUnitRadius()
Get/Set the type of radius used to generate the atoms.
 
bool GlyphDataInitialized
Cached variables and update methods.
 
vtkNew< vtkGlyph3DMapper > AtomGlyphMapper
Internal mappers.
 
bool RenderAtoms
Customize atom rendering.
 
vtkPeriodicTable * GetPeriodicTable()
Accessor to internal structure.
 
void SetAtomicRadiusTypeToVDWRadius()
Get/Set the type of radius used to generate the atoms.
 
void UseLiquoriceStickSettings()
Set ivars to default liquorice stick settings.
 
vtkNew< vtkPeriodicTable > PeriodicTable
Periodic table for lookups.
 
float AtomicRadiusScaleFactor
Customize atom rendering.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
virtual void GetSelectedAtomsAndBonds(vtkSelection *selection, vtkIdTypeArray *atomIds, vtkIdTypeArray *bondIds)
Extract the ids atoms and/or bonds rendered by this molecule from a vtkSelection object.
 
float BondRadius
Customize bond rendering.
 
~vtkMoleculeMapper() override
 
int AtomicRadiusType
Customize atom rendering.
 
bool RenderBonds
Customize bond rendering.
 
void Render(vtkRenderer *, vtkActor *) override
Reimplemented from base class.
 
void SetAtomicRadiusTypeToCustomArrayRadius()
Get/Set the type of radius used to generate the atoms.
 
void SetAtomicRadiusTypeToCovalentRadius()
Get/Set the type of radius used to generate the atoms.
 
char * AtomicRadiusArrayName
Customize atom rendering.
 
int FillInputPortInformation(int port, vtkInformation *info) override
Reimplemented from base class.
 
static vtkMoleculeMapper * New()
 
virtual void UpdateAtomGlyphPolyData()
Cached variables and update methods.
 
int AtomColorMode
Customize atom rendering.
 
double * GetBounds() override
Reimplemented from base class.
 
virtual void UpdateGlyphPolyData()
Cached variables and update methods.
 
vtkNew< vtkPolyData > BondGlyphPolyData
Cached variables and update methods.
 
vtkNew< vtkTrivialProducer > BondGlyphPointOutput
Cached variables and update methods.
 
void UseFastSettings()
Set ivars to use fast settings that may be useful for rendering extremely large molecules where the o...
 
void SetBondColorModeToSingleColor()
Get/Set the method by which bonds are colored.
 
bool UseMultiCylindersForBonds
Customize bond rendering.
 
bool GetSupportsSelection() override
Reimplemented from base class.
 
const char * GetAtomicRadiusTypeAsString()
Get/Set the type of radius used to generate the atoms.
 
vtkNew< vtkGlyph3DMapper > BondGlyphMapper
Internal mappers.
 
vtkMolecule * GetInput()
Get/Set the input vtkMolecule.
 
void SetInputData(vtkMolecule *in)
Get/Set the input vtkMolecule.
 
virtual void UpdateLatticePolyData()
 
void UseBallAndStickSettings()
Set ivars to default ball-and-stick settings.
 
void GlyphRender(vtkRenderer *ren, vtkActor *act)
Internal render methods.
 
int BondColorMode
Customize bond rendering.
 
void ReleaseGraphicsResources(vtkWindow *) override
Reimplemented from base class.
 
void UseVDWSpheresSettings()
Set ivars to default van der Waals spheres settings.
 
vtkNew< vtkTrivialProducer > AtomGlyphPointOutput
Cached variables and update methods.
 
void GetBounds(double bounds[6]) override
Reimplemented from base class.
 
virtual void UpdateBondGlyphPolyData()
Cached variables and update methods.
 
vtkNew< vtkPolyDataMapper > LatticeMapper
 
vtkNew< vtkPolyData > LatticePolyData
 
vtkNew< vtkPolyData > AtomGlyphPolyData
Cached variables and update methods.
 
class describing a molecule
 
Allocate and hold a VTK object.
 
Access to information about the elements.
 
map vtkPolyData to graphics primitives
 
concrete dataset represents vertices, lines, polygons, and triangle strips
 
abstract specification for renderers
 
data object that represents a "selection" in VTK.
 
create a polygonal sphere centered at the origin
 
Producer for stand-alone data objects.
 
window superclass for vtkRenderWindow