27#ifndef vtkMoleculeMapper_h
28#define vtkMoleculeMapper_h
30#include "vtkDomainsChemistryModule.h"
120 vtkGetMacro(RenderAtoms,
bool);
129 vtkGetMacro(RenderBonds,
bool);
139 vtkGetMacro(RenderLattice,
bool)
157 vtkGetMacro(AtomicRadiusType,
int);
162 this->SetAtomicRadiusType(CovalentRadius);
166 this->SetAtomicRadiusType(VDWRadius);
170 this->SetAtomicRadiusType(UnitRadius);
174 this->SetAtomicRadiusType(CustomArrayRadius);
184 vtkGetMacro(AtomicRadiusScaleFactor,
float);
193 vtkGetMacro(UseMultiCylindersForBonds,
bool);
214 vtkGetMacro(BondColorMode,
int);
219 this->SetBondColorMode(SingleColor);
223 this->SetBondColorMode(DiscreteByAtom);
232 vtkGetVector3Macro(BondColor,
unsigned char);
233 vtkSetVector3Macro(BondColor,
unsigned char);
240 vtkGetMacro(BondRadius,
float);
249 vtkGetVector3Macro(LatticeColor,
unsigned char)
250 vtkSetVector3Macro(LatticeColor,
unsigned char)
264 this->GetSelectedAtomsAndBonds(selection, atomIds, NULL);
269 this->GetSelectedAtomsAndBonds(selection, NULL, bondIds);
306 unsigned char BondColor[3];
338 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)
const char * GetBondColorModeAsString()
void SetBondColorModeToDiscreteByAtom()
void SetAtomicRadiusTypeToUnitRadius()
bool GlyphDataInitialized
vtkNew< vtkGlyph3DMapper > AtomGlyphMapper
Internal mappers.
bool RenderAtoms
Customize atom rendering.
void SetAtomicRadiusTypeToVDWRadius()
void UseLiquoriceStickSettings()
Set ivars to default liquorice stick settings.
vtkNew< vtkPeriodicTable > PeriodicTable
Periodic table for lookups.
float AtomicRadiusScaleFactor
bool RenderBonds
Customize bond rendering.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void SetAtomicRadiusTypeToCustomArrayRadius()
void SetAtomicRadiusTypeToCovalentRadius()
void GetBounds(double bounds[6])
Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
static vtkMoleculeMapper * New()
virtual void UpdateAtomGlyphPolyData()
virtual void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this mapper.
virtual void UpdateGlyphPolyData()
double * GetBounds()
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
vtkNew< vtkPolyData > BondGlyphPolyData
vtkNew< vtkTrivialProducer > BondGlyphPointOutput
void UseFastSettings()
Set ivars to use fast settings that may be useful for rendering extremely large molecules where the o...
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetBondColorModeToSingleColor()
bool UseMultiCylindersForBonds
const char * GetAtomicRadiusTypeAsString()
virtual bool GetSupportsSelection()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkNew< vtkGlyph3DMapper > BondGlyphMapper
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.
void UseVDWSpheresSettings()
Set ivars to default van der Waals spheres settings.
vtkNew< vtkTrivialProducer > AtomGlyphPointOutput
virtual void UpdateBondGlyphPolyData()
vtkNew< vtkPolyDataMapper > LatticeMapper
virtual void Render(vtkRenderer *, vtkActor *)
Reimplemented from base class.
vtkNew< vtkPolyData > LatticePolyData
vtkNew< vtkPolyData > AtomGlyphPolyData
Cached variables and update methods.
class describing a molecule
Access to information about the elements.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract specification for renderers
A node in a selection tree.
create a polygonal sphere centered at the origin
Producer for stand-alone data objects.
window superclass for vtkRenderWindow
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.