16#ifndef vtkProteinRibbonFilter_h
17#define vtkProteinRibbonFilter_h
46#include "vtkDomainsChemistryModule.h"
67 vtkGetMacro(CoilWidth,
float);
68 vtkSetMacro(CoilWidth,
float);
75 vtkGetMacro(HelixWidth,
float);
76 vtkSetMacro(HelixWidth,
float);
83 vtkGetMacro(SubdivideFactor,
int);
84 vtkSetMacro(SubdivideFactor,
int);
91 vtkGetMacro(DrawSmallMoleculesAsSpheres,
bool);
92 vtkSetMacro(DrawSmallMoleculesAsSpheres,
bool);
99 vtkGetMacro(SphereResolution,
int);
100 vtkSetMacro(SphereResolution,
int);
112 std::vector<std::pair<vtkVector3f, bool>>& p1, std::vector<std::pair<vtkVector3f, bool>>& p2,
113 std::vector<vtkColor3ub>& colors);
116 const vtkColor3ub& color,
float radius,
float scale);
118 static std::vector<vtkVector3f>*
Subdivide(std::vector<std::pair<vtkVector3f, bool>>& p,
int div);
Some derived classes for the different colors commonly used.
a simple class to control print indentation
represent and manipulate 3D points
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
generates protein ribbons
~vtkProteinRibbonFilter() override
void SetColorByStructure(std::vector< vtkColor3ub > &colors, vtkStringArray *atomTypes, vtkUnsignedCharArray *ss, const vtkColor3ub &helixColor, const vtkColor3ub &sheetColor)
void SetColorByAtom(std::vector< vtkColor3ub > &colors, vtkStringArray *atomTypes)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static std::vector< vtkVector3f > * Subdivide(std::vector< std::pair< vtkVector3f, bool > > &p, int div)
void CreateThinStrip(vtkPolyData *poly, vtkUnsignedCharArray *pointsColors, vtkPoints *p, std::vector< std::pair< vtkVector3f, bool > > &p1, std::vector< std::pair< vtkVector3f, bool > > &p2, std::vector< vtkColor3ub > &colors)
std::map< std::string, vtkColor3ub > ElementColors
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
bool DrawSmallMoleculesAsSpheres
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkProteinRibbonFilter * New()
void CreateAtomAsSphere(vtkPolyData *poly, vtkUnsignedCharArray *pointsColors, double *pos, const vtkColor3ub &color, float radius, float scale)
a vtkAbstractArray subclass for strings
dynamic, self-adjusting array of unsigned char