Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# Graphics/vtkProgrammableGlyphFilter.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkProgrammableGlyphFilter.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00079 #ifndef __vtkProgrammableGlyphFilter_h
    00080 #define __vtkProgrammableGlyphFilter_h
    00081
    00082 #define VTK_COLOR_BY_INPUT  0
    00083 #define VTK_COLOR_BY_SOURCE 1
    00084
    00085 #include "vtkDataSetToPolyDataFilter.h"
    00086
    00087 class vtkPointData;
    00088
    00089 class VTK_GRAPHICS_EXPORT vtkProgrammableGlyphFilter : public vtkDataSetToPolyDataFilter
    00090 {
    00091 public:
    00092   vtkTypeRevisionMacro(vtkProgrammableGlyphFilter,vtkDataSetToPolyDataFilter);
    00093   void PrintSelf(ostream& os, vtkIndent indent);
    00094
    00097   static vtkProgrammableGlyphFilter *New();
    00098
    00100
    00102   void SetSource(vtkPolyData *source);
    00103   vtkPolyData *GetSource();
    00105
    00107   void SetGlyphMethod(void (*f)(void *), void *arg);
    00108
    00111   void SetGlyphMethodArgDelete(void (*f)(void *));
    00112
    00114
    00117   vtkGetMacro(PointId, vtkIdType);
    00119
    00121
    00124   vtkGetVector3Macro(Point,float);
    00126
    00128
    00131   vtkGetObjectMacro(PointData,vtkPointData);
    00133
    00135
    00136   vtkSetMacro(ColorMode,int);
    00137   vtkGetMacro(ColorMode,int);
    00138   void SetColorModeToColorByInput()
    00139     {this->SetColorMode(VTK_COLOR_BY_INPUT);};
    00140   void SetColorModeToColorBySource()
    00141     {this->SetColorMode(VTK_COLOR_BY_SOURCE);};
    00142   const char *GetColorModeAsString();
    00144
    00145 protected:
    00146   vtkProgrammableGlyphFilter();
    00147   ~vtkProgrammableGlyphFilter();
    00148
    00149   void Execute();
    00150
    00151   float Point[3]; // Coordinates of point
    00152   vtkIdType PointId; // Current point id during processing
    00153   vtkPointData *PointData;
    00154   int ColorMode;
    00155
    00156   void (*GlyphMethod)(void *); // Support GlyphMethod
    00157   void (*GlyphMethodArgDelete)(void *);
    00158   void *GlyphMethodArg;
    00159
    00160 private:
    00161   vtkProgrammableGlyphFilter(const vtkProgrammableGlyphFilter&);  // Not implemented.
    00162   void operator=(const vtkProgrammableGlyphFilter&);  // Not implemented.
    00163 };
    00164
    00165 #endif