VTK  9.2.6
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=========================================================================*/
73#ifndef vtkProgrammableGlyphFilter_h
74#define vtkProgrammableGlyphFilter_h
75
76#define VTK_COLOR_BY_INPUT 0
77#define VTK_COLOR_BY_SOURCE 1
78
79#include "vtkFiltersProgrammableModule.h" // For export macro
81
82class vtkPointData;
83
84class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableGlyphFilter : public vtkPolyDataAlgorithm
85{
86public:
88 void PrintSelf(ostream& os, vtkIndent indent) override;
89
95
102
104
112
121 typedef void (*ProgrammableMethodCallbackType)(void* arg);
122
126 void SetGlyphMethod(void (*f)(void*), void* arg);
127
132 void SetGlyphMethodArgDelete(void (*f)(void*));
133
135
139 vtkGetMacro(PointId, vtkIdType);
141
143
147 vtkGetVector3Macro(Point, double);
149
151
156 vtkGetObjectMacro(PointData, vtkPointData);
158
160
163 vtkSetMacro(ColorMode, int);
164 vtkGetMacro(ColorMode, int);
165 void SetColorModeToColorByInput() { this->SetColorMode(VTK_COLOR_BY_INPUT); }
166 void SetColorModeToColorBySource() { this->SetColorMode(VTK_COLOR_BY_SOURCE); }
167 const char* GetColorModeAsString();
169
170protected:
173
176
177 double Point[3]; // Coordinates of point
178 vtkIdType PointId; // Current point id during processing
181
182 ProgrammableMethodCallbackType GlyphMethod; // Support GlyphMethod
183 ProgrammableMethodCallbackType GlyphMethodArgDelete;
185
186private:
188 void operator=(const vtkProgrammableGlyphFilter&) = delete;
189};
190
191#endif
Proxy object to connect input/output ports.
a simple class to control print indentation
Definition vtkIndent.h:49
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate point attribute data
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
control the generation and placement of glyphs at input points
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetColorModeToColorByInput()
Either color by the input or source scalar data.
~vtkProgrammableGlyphFilter() override
void SetColorModeToColorBySource()
Either color by the input or source scalar data.
ProgrammableMethodCallbackType GlyphMethodArgDelete
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
const char * GetColorModeAsString()
Either color by the input or source scalar data.
void SetSourceConnection(vtkAlgorithmOutput *output)
Setup a connection for the source to use as the glyph.
void SetGlyphMethodArgDelete(void(*f)(void *))
Set the arg delete method.
void SetSourceData(vtkPolyData *source)
Set/Get the source to use for this glyph.
void SetGlyphMethod(void(*f)(void *), void *arg)
Specify function to be called for each input point.
static vtkProgrammableGlyphFilter * New()
Construct object with nullptr GlyphMethod() and no source object.
ProgrammableMethodCallbackType GlyphMethod
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyData * GetSource()
Set/Get the source to use for this glyph.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_COLOR_BY_SOURCE
#define VTK_COLOR_BY_INPUT
int vtkIdType
Definition vtkType.h:332