VTK
vtkProgrammableGlyphFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkProgrammableGlyphFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
64 #ifndef vtkProgrammableGlyphFilter_h
65 #define vtkProgrammableGlyphFilter_h
66 
67 #define VTK_COLOR_BY_INPUT 0
68 #define VTK_COLOR_BY_SOURCE 1
69 
70 #include "vtkFiltersProgrammableModule.h" // For export macro
71 #include "vtkPolyDataAlgorithm.h"
72 
73 class vtkPointData;
74 
75 class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableGlyphFilter : public vtkPolyDataAlgorithm
76 {
77 public:
79  void PrintSelf(ostream& os, vtkIndent indent);
80 
86 
92  void SetSourceConnection(vtkAlgorithmOutput* output);
93 
95 
100  void SetSourceData(vtkPolyData *source);
101  vtkPolyData *GetSource();
103 
112  typedef void (*ProgrammableMethodCallbackType)(void *arg);
113 
117  void SetGlyphMethod(void (*f)(void *), void *arg);
118 
123  void SetGlyphMethodArgDelete(void (*f)(void *));
124 
126 
130  vtkGetMacro(PointId, vtkIdType);
132 
134 
138  vtkGetVector3Macro(Point,double);
140 
142 
147  vtkGetObjectMacro(PointData,vtkPointData);
149 
151 
154  vtkSetMacro(ColorMode,int);
155  vtkGetMacro(ColorMode,int);
157  {this->SetColorMode(VTK_COLOR_BY_INPUT);};
159  {this->SetColorMode(VTK_COLOR_BY_SOURCE);};
160  const char *GetColorModeAsString();
162 
163 protected:
166 
168  virtual int FillInputPortInformation(int, vtkInformation *);
169 
170  double Point[3]; // Coordinates of point
171  vtkIdType PointId; // Current point id during processing
174 
175  ProgrammableMethodCallbackType GlyphMethod; // Support GlyphMethod
176  ProgrammableMethodCallbackType GlyphMethodArgDelete;
178 
179 private:
180  vtkProgrammableGlyphFilter(const vtkProgrammableGlyphFilter&) VTK_DELETE_FUNCTION;
181  void operator=(const vtkProgrammableGlyphFilter&) VTK_DELETE_FUNCTION;
182 };
183 
184 #endif
void SetColorModeToColorBySource()
Either color by the input or source scalar data.
represent and manipulate point attribute data
Definition: vtkPointData.h:37
#define VTK_COLOR_BY_SOURCE
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int vtkIdType
Definition: vtkType.h:287
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
void SetColorModeToColorByInput()
Either color by the input or source scalar data.
control the generation and placement of glyphs at input points
ProgrammableMethodCallbackType GlyphMethodArgDelete
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_COLOR_BY_INPUT
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
ProgrammableMethodCallbackType GlyphMethod
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.