15 #ifndef vtkMoleculeMapper_h
16 #define vtkMoleculeMapper_h
18 #include "vtkDomainsChemistryModule.h"
22 VTK_ABI_NAMESPACE_BEGIN
61 void UseBallAndStickSettings();
74 void UseVDWSpheresSettings();
87 void UseLiquoriceStickSettings();
103 void UseFastSettings();
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);
149 const char* GetAtomicRadiusTypeAsString();
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);
197 const char* GetBondColorModeAsString();
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);
254 virtual void GetSelectedAtomsAndBonds(
258 this->GetSelectedAtomsAndBonds(selection, atomIds,
nullptr);
262 this->GetSelectedAtomsAndBonds(selection,
nullptr, bondIds);
283 vtkGetStringMacro(AtomicRadiusArrayName);
284 vtkSetStringMacro(AtomicRadiusArrayName);
291 virtual void SetMapScalars(
bool map);
311 unsigned char AtomColor[3];
322 unsigned char BondColor[3];
341 virtual void UpdateGlyphPolyData();
342 virtual void UpdateAtomGlyphPolyData();
343 virtual void UpdateBondGlyphPolyData();
354 unsigned char LatticeColor[3];
357 virtual void UpdateLatticePolyData();
369 VTK_ABI_NAMESPACE_END
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.
bool GetSupportsSelection() override
Reimplemented from base class.
class describing a molecule
char * AtomicRadiusArrayName
Customize atom rendering.
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.
vtkNew< vtkPolyData > LatticePolyData
abstract specification for renderers
vtkNew< vtkPolyData > AtomGlyphPolyData
Cached variables and update methods.
data object that represents a "selection" in VTK.
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.
int AtomColorMode
Customize atom rendering.
Mapper that draws vtkMolecule objects.
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.
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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
vtkPeriodicTable * GetPeriodicTable()
Accessor to internal structure.
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.
static vtkAlgorithm * New()
int BondColorMode
Customize bond rendering.
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
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.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
void GetBounds(double bounds[6]) override
Reimplemented from base class.