00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00063
#ifndef __vtkProgrammableGlyphFilter_h
00064
#define __vtkProgrammableGlyphFilter_h
00065
00066 #define VTK_COLOR_BY_INPUT 0
00067 #define VTK_COLOR_BY_SOURCE 1
00068
00069
#include "vtkDataSetToPolyDataFilter.h"
00070
00071
class vtkPointData;
00072
00073 class VTK_GRAPHICS_EXPORT vtkProgrammableGlyphFilter :
public vtkDataSetToPolyDataFilter
00074 {
00075
public:
00076 vtkTypeRevisionMacro(vtkProgrammableGlyphFilter,
vtkDataSetToPolyDataFilter);
00077
void PrintSelf(ostream& os,
vtkIndent indent);
00078
00081
static vtkProgrammableGlyphFilter *
New();
00082
00084
00086
void SetSource(
vtkPolyData *source);
00087
vtkPolyData *GetSource();
00089
00091
void SetGlyphMethod(
void (*f)(
void *),
void *arg);
00092
00095
void SetGlyphMethodArgDelete(
void (*f)(
void *));
00096
00098
00101 vtkGetMacro(PointId,
vtkIdType);
00103
00105
00108 vtkGetVector3Macro(Point,
double);
00110
00112
00115 vtkGetObjectMacro(PointData,
vtkPointData);
00117
00119
00120 vtkSetMacro(ColorMode,
int);
00121 vtkGetMacro(ColorMode,
int);
00122 void SetColorModeToColorByInput()
00123 {this->SetColorMode(
VTK_COLOR_BY_INPUT);};
00124 void SetColorModeToColorBySource()
00125 {this->SetColorMode(
VTK_COLOR_BY_SOURCE);};
00126
const char *GetColorModeAsString();
00128
00129
protected:
00130 vtkProgrammableGlyphFilter();
00131 ~vtkProgrammableGlyphFilter();
00132
00133
void Execute();
00134
00135 double Point[3];
00136 vtkIdType PointId;
00137 vtkPointData *PointData;
00138 int ColorMode;
00139
00140 void (*GlyphMethod)(
void *);
00141 void (*GlyphMethodArgDelete)(
void *);
00142 void *GlyphMethodArg;
00143
00144
private:
00145 vtkProgrammableGlyphFilter(
const vtkProgrammableGlyphFilter&);
00146
void operator=(
const vtkProgrammableGlyphFilter&);
00147 };
00148
00149
#endif