#include <vtkProgrammableGlyphFilter.h>
vtkProgrammableGlyphFilter is a filter that allows you to place a glyph at each input point in the dataset. In addition, the filter is programmable which means the user has control over the generation of the glyph. The glyphs can be controlled via the point data attributes (e.g., scalars, vectors, etc.) or any other information in the input dataset.
This is the way the filter works. You must define an input dataset which at a minimum contains points with associated attribute values. Also, the Source instance variable must be set which is of type vtkPolyData. Then, for each point in the input, the PointId is set to the current point id, and a user-defined function is called (i.e., GlyphMethod). In this method you can manipulate the Source data (including changing to a different Source object). After the GlyphMethod is called, vtkProgrammableGlyphFilter will invoke an Update() on its Source object, and then copy its data to the output of the vtkProgrammableGlyphFilter. Therefore the output of this filter is of type vtkPolyData.
Another option to this filter is the way you color the glyphs. You can use the scalar data from the input or the source. The instance variable ColorMode controls this behavior.
Note that the data attributes (cell and point) are passed to the output of this filter from the Source object. This works well as long as you are not changing the class of the Source object during execution. However, if the class of the Source object changes, then the potential exists that the data attributes might change during execution (e.g., scalars available from one source and not the next), possibly fouling up the copying of data attributes to the output. In this case, you may have to manually set the output's copy flags (e.g., CopyScalarsOn/Off(), CopyVectorsOn/Off(), etc.) to control what's being copied.
Definition at line 73 of file vtkProgrammableGlyphFilter.h.
Public Types | |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetGlyphMethod (void(*f)(void *), void *arg) |
void | SetGlyphMethodArgDelete (void(*f)(void *)) |
void | SetSource (vtkPolyData *source) |
vtkPolyData * | GetSource () |
virtual vtkIdType | GetPointId () |
virtual double * | GetPoint () |
virtual void | GetPoint (double &, double &, double &) |
virtual void | GetPoint (double[3]) |
virtual vtkPointData * | GetPointData () |
virtual void | SetColorMode (int) |
virtual int | GetColorMode () |
void | SetColorModeToColorByInput () |
void | SetColorModeToColorBySource () |
const char * | GetColorModeAsString () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkProgrammableGlyphFilter * | SafeDownCast (vtkObject *o) |
static vtkProgrammableGlyphFilter * | New () |
Protected Member Functions | |
vtkProgrammableGlyphFilter () | |
~vtkProgrammableGlyphFilter () | |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
virtual int | FillInputPortInformation (int, vtkInformation *) |
Protected Attributes | |
double | Point [3] |
vtkIdType | PointId |
vtkPointData * | PointData |
int | ColorMode |
void(* | GlyphMethod )(void *) |
void(* | GlyphMethodArgDelete )(void *) |
void * | GlyphMethodArg |
Reimplemented from vtkPolyDataAlgorithm.
Definition at line 76 of file vtkProgrammableGlyphFilter.h.
vtkProgrammableGlyphFilter::vtkProgrammableGlyphFilter | ( | ) | [protected] |
vtkProgrammableGlyphFilter::~vtkProgrammableGlyphFilter | ( | ) | [protected] |
virtual const char* vtkProgrammableGlyphFilter::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkPolyDataAlgorithm.
static int vtkProgrammableGlyphFilter::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkProgrammableGlyphFilter::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
static vtkProgrammableGlyphFilter* vtkProgrammableGlyphFilter::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkPolyDataAlgorithm.
void vtkProgrammableGlyphFilter::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkPolyDataAlgorithm.
static vtkProgrammableGlyphFilter* vtkProgrammableGlyphFilter::New | ( | ) | [static] |
Construct object with NULL GlyphMethod() and no source object. The ColorMode is set to color by the input.
Reimplemented from vtkPolyDataAlgorithm.
void vtkProgrammableGlyphFilter::SetSource | ( | vtkPolyData * | source | ) |
Set/Get the source to use for this glyph. Note: you can change the source during execution of this filter.
vtkPolyData* vtkProgrammableGlyphFilter::GetSource | ( | ) |
Set/Get the source to use for this glyph. Note: you can change the source during execution of this filter.
void vtkProgrammableGlyphFilter::SetGlyphMethod | ( | void(*)(void *) | f, | |
void * | arg | |||
) |
Specify function to be called for each input point.
void vtkProgrammableGlyphFilter::SetGlyphMethodArgDelete | ( | void(*)(void *) | f | ) |
Set the arg delete method. This is used to free user memory that might be associated with the GlyphMethod().
virtual vtkIdType vtkProgrammableGlyphFilter::GetPointId | ( | ) | [virtual] |
Get the current point id during processing. Value only valid during the Execute() method of this filter. (Meant to be called by the GlyphMethod().)
virtual double* vtkProgrammableGlyphFilter::GetPoint | ( | ) | [virtual] |
Get the current point coordinates during processing. Value only valid during the Execute() method of this filter. (Meant to be called by the GlyphMethod().)
virtual void vtkProgrammableGlyphFilter::GetPoint | ( | double & | , | |
double & | , | |||
double & | ||||
) | [virtual] |
Get the current point coordinates during processing. Value only valid during the Execute() method of this filter. (Meant to be called by the GlyphMethod().)
virtual void vtkProgrammableGlyphFilter::GetPoint | ( | double | [3] | ) | [virtual] |
Get the current point coordinates during processing. Value only valid during the Execute() method of this filter. (Meant to be called by the GlyphMethod().)
virtual vtkPointData* vtkProgrammableGlyphFilter::GetPointData | ( | ) | [virtual] |
Get the set of point data attributes for the input. A convenience to the programmer to be used in the GlyphMethod(). Only valid during the Execute() method of this filter.
virtual void vtkProgrammableGlyphFilter::SetColorMode | ( | int | ) | [virtual] |
Either color by the input or source scalar data.
virtual int vtkProgrammableGlyphFilter::GetColorMode | ( | ) | [virtual] |
Either color by the input or source scalar data.
void vtkProgrammableGlyphFilter::SetColorModeToColorByInput | ( | ) | [inline] |
Either color by the input or source scalar data.
Definition at line 122 of file vtkProgrammableGlyphFilter.h.
void vtkProgrammableGlyphFilter::SetColorModeToColorBySource | ( | ) | [inline] |
Either color by the input or source scalar data.
Definition at line 124 of file vtkProgrammableGlyphFilter.h.
const char* vtkProgrammableGlyphFilter::GetColorModeAsString | ( | ) |
Either color by the input or source scalar data.
virtual int vtkProgrammableGlyphFilter::RequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkProgrammableGlyphFilter::FillInputPortInformation | ( | int | port, | |
vtkInformation * | info | |||
) | [protected, virtual] |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPolyDataAlgorithm.
double vtkProgrammableGlyphFilter::Point[3] [protected] |
Definition at line 136 of file vtkProgrammableGlyphFilter.h.
vtkIdType vtkProgrammableGlyphFilter::PointId [protected] |
Definition at line 137 of file vtkProgrammableGlyphFilter.h.
vtkPointData* vtkProgrammableGlyphFilter::PointData [protected] |
Definition at line 138 of file vtkProgrammableGlyphFilter.h.
int vtkProgrammableGlyphFilter::ColorMode [protected] |
Definition at line 139 of file vtkProgrammableGlyphFilter.h.
void(* vtkProgrammableGlyphFilter::GlyphMethod)(void *) [protected] |
void(* vtkProgrammableGlyphFilter::GlyphMethodArgDelete)(void *) [protected] |
void* vtkProgrammableGlyphFilter::GlyphMethodArg [protected] |
Definition at line 143 of file vtkProgrammableGlyphFilter.h.