00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00067
#ifndef __vtkProgrammableGlyphFilter_h
00068
#define __vtkProgrammableGlyphFilter_h
00069
00070 #define VTK_COLOR_BY_INPUT 0
00071 #define VTK_COLOR_BY_SOURCE 1
00072
00073
#include "vtkDataSetToPolyDataFilter.h"
00074
00075
class vtkPointData;
00076
00077 class VTK_GRAPHICS_EXPORT vtkProgrammableGlyphFilter :
public vtkDataSetToPolyDataFilter
00078 {
00079
public:
00080 vtkTypeRevisionMacro(vtkProgrammableGlyphFilter,
vtkDataSetToPolyDataFilter);
00081
void PrintSelf(ostream& os,
vtkIndent indent);
00082
00085
static vtkProgrammableGlyphFilter *
New();
00086
00088
00090
void SetSource(
vtkPolyData *source);
00091
vtkPolyData *GetSource();
00093
00095
void SetGlyphMethod(
void (*f)(
void *),
void *arg);
00096
00099
void SetGlyphMethodArgDelete(
void (*f)(
void *));
00100
00102
00105 vtkGetMacro(PointId,
vtkIdType);
00107
00109
00112 vtkGetVector3Macro(Point,
float);
00114
00116
00119 vtkGetObjectMacro(PointData,
vtkPointData);
00121
00123
00124 vtkSetMacro(ColorMode,
int);
00125 vtkGetMacro(ColorMode,
int);
00126 void SetColorModeToColorByInput()
00127 {this->SetColorMode(
VTK_COLOR_BY_INPUT);};
00128 void SetColorModeToColorBySource()
00129 {this->SetColorMode(
VTK_COLOR_BY_SOURCE);};
00130
const char *GetColorModeAsString();
00132
00133
protected:
00134 vtkProgrammableGlyphFilter();
00135 ~vtkProgrammableGlyphFilter();
00136
00137
void Execute();
00138
00139 float Point[3];
00140 vtkIdType PointId;
00141 vtkPointData *PointData;
00142 int ColorMode;
00143
00144 void (*GlyphMethod)(
void *);
00145 void (*GlyphMethodArgDelete)(
void *);
00146 void *GlyphMethodArg;
00147
00148
private:
00149 vtkProgrammableGlyphFilter(
const vtkProgrammableGlyphFilter&);
00150
void operator=(
const vtkProgrammableGlyphFilter&);
00151 };
00152
00153
#endif