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);
129 vtkGetMacro(RenderBonds,
bool);
139 vtkGetMacro(RenderLattice,
bool)
157 vtkGetMacro(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);
193 vtkGetMacro(UseMultiCylindersForBonds,
bool);
214 vtkGetMacro(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);
249 vtkGetVector3Macro(LatticeColor,
unsigned char)
250 vtkSetVector3Macro(LatticeColor,
unsigned char)
258 virtual void GetSelectedAtomsAndBonds(
vtkSelection *selection,
264 this->GetSelectedAtomsAndBonds(selection, atomIds, NULL);
269 this->GetSelectedAtomsAndBonds(selection, NULL, bondIds);
306 unsigned char BondColor[3];
325 virtual void UpdateGlyphPolyData();
326 virtual void UpdateAtomGlyphPolyData();
327 virtual void UpdateBondGlyphPolyData();
338 unsigned char LatticeColor[3];
341 virtual void UpdateLatticePolyData();
Access to information about the elements.
represents an object (geometry & properties) in a rendered scene
vtkNew< vtkGlyph3DMapper > BondGlyphMapper
Internal mappers.
bool RenderBonds
Customize bond rendering.
vtkNew< vtkPeriodicTable > PeriodicTable
Periodic table for lookups.
virtual void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this mapper.
class describing a molecule
float AtomicRadiusScaleFactor
Customize atom rendering.
bool GlyphDataInitialized
Cached variables and update methods.
void SetAtomicRadiusTypeToCovalentRadius()
Get/Set the type of radius used to generate the atoms.
bool UseMultiCylindersForBonds
Customize bond rendering.
virtual void GetSelectedBonds(vtkSelection *selection, vtkIdTypeArray *bondIds)
Extract the ids atoms and/or bonds rendered by this molecule from a vtkSelection object.
virtual bool GetSupportsSelection()
Reimplemented from base class.
vtkNew< vtkPolyData > LatticePolyData
abstract specification for renderers
vtkNew< vtkPolyData > AtomGlyphPolyData
Cached variables and update methods.
A node in a selection tree.
dynamic, self-adjusting array of vtkIdType
bool RenderAtoms
Customize atom rendering.
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetAtomicRadiusTypeToVDWRadius()
Get/Set the type of radius used to generate the atoms.
void SetAtomicRadiusTypeToCustomArrayRadius()
Get/Set the type of radius used to generate the atoms.
Mapper that draws vtkMolecule objects.
void GetBounds(double bounds[6])
Reimplemented from base class.
int AtomicRadiusType
Customize atom rendering.
window superclass for vtkRenderWindow
create a polygonal sphere centered at the origin
vtkNew< vtkPolyData > BondGlyphPolyData
Cached variables and update methods.
Producer for stand-alone data objects.
vtkNew< vtkPolyDataMapper > LatticeMapper
a simple class to control print indentation
vtkNew< vtkTrivialProducer > AtomGlyphPointOutput
Cached variables and update methods.
vtkNew< vtkGlyph3DMapper > AtomGlyphMapper
Internal mappers.
void SetAtomicRadiusTypeToUnitRadius()
Get/Set the type of radius used to generate the atoms.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
vtkNew< vtkTrivialProducer > BondGlyphPointOutput
Cached variables and update methods.
abstract class specifies interface to map data to graphics primitives
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
map vtkPolyData to graphics primitives
void SetBondColorModeToDiscreteByAtom()
Get/Set the method by which bonds are colored.
float BondRadius
Customize bond rendering.
virtual void GetSelectedAtoms(vtkSelection *selection, vtkIdTypeArray *atomIds)
Extract the ids atoms and/or bonds rendered by this molecule from a vtkSelection object.
virtual double * GetBounds()
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
static vtkAlgorithm * New()
int BondColorMode
Customize bond rendering.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkDataSet * GetInput()
Get the input as a vtkDataSet.
virtual void Render(vtkRenderer *ren, vtkActor *a)=0
Method initiates the mapping process.
void SetBondColorModeToSingleColor()
Get/Set the method by which bonds are colored.