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

Hybrid/vtkArcPlotter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkArcPlotter.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 =========================================================================*/
00059 #ifndef __vtkArcPlotter_h
00060 #define __vtkArcPlotter_h
00061 
00062 #include "vtkPolyDataToPolyDataFilter.h"
00063 
00064 #define VTK_PLOT_SCALARS    1
00065 #define VTK_PLOT_VECTORS    2
00066 #define VTK_PLOT_NORMALS    3
00067 #define VTK_PLOT_TCOORDS    4
00068 #define VTK_PLOT_TENSORS    5
00069 #define VTK_PLOT_FIELD_DATA 6
00070 
00071 class vtkCamera;
00072 class vtkDataArray;
00073 class vtkPointData;
00074 class vtkPoints;
00075 
00076 class VTK_HYBRID_EXPORT vtkArcPlotter : public vtkPolyDataToPolyDataFilter 
00077 {
00078 public:
00080   static vtkArcPlotter *New();
00081 
00082   vtkTypeRevisionMacro(vtkArcPlotter,vtkPolyDataToPolyDataFilter);
00083   void PrintSelf(ostream& os, vtkIndent indent);
00084 
00086 
00088   virtual void SetCamera(vtkCamera*);
00089   vtkGetObjectMacro(Camera,vtkCamera);
00091 
00093 
00097   vtkSetMacro(PlotMode, int);
00098   vtkGetMacro(PlotMode, int);
00099   void SetPlotModeToPlotScalars() {this->SetPlotMode(VTK_PLOT_SCALARS);};
00100   void SetPlotModeToPlotVectors() {this->SetPlotMode(VTK_PLOT_VECTORS);};
00101   void SetPlotModeToPlotNormals() {this->SetPlotMode(VTK_PLOT_NORMALS);};
00102   void SetPlotModeToPlotTCoords() {this->SetPlotMode(VTK_PLOT_TCOORDS);};
00103   void SetPlotModeToPlotTensors() {this->SetPlotMode(VTK_PLOT_TENSORS);};
00104   void SetPlotModeToPlotFieldData()
00105             {this->SetPlotMode(VTK_PLOT_FIELD_DATA);};
00107 
00109 
00112   vtkSetMacro(PlotComponent,int);
00113   vtkGetMacro(PlotComponent,int);
00115 
00117 
00118   vtkSetClampMacro(Radius,float,0.0,VTK_LARGE_FLOAT);
00119   vtkGetMacro(Radius,float);
00121 
00123 
00125   vtkSetClampMacro(Height,float,0.0,VTK_LARGE_FLOAT);
00126   vtkGetMacro(Height,float);
00128 
00130 
00133   vtkSetClampMacro(Offset, float, 0.0, VTK_LARGE_FLOAT);
00134   vtkGetMacro(Offset, float);
00136 
00138 
00141   vtkSetMacro(UseDefaultNormal,int);
00142   vtkGetMacro(UseDefaultNormal,int);
00143   vtkBooleanMacro(UseDefaultNormal,int);
00145 
00147 
00149   vtkSetVector3Macro(DefaultNormal,float);
00150   vtkGetVectorMacro(DefaultNormal,float,3);
00152 
00154 
00156   vtkSetClampMacro(FieldDataArray,int,0,VTK_LARGE_INTEGER);
00157   vtkGetMacro(FieldDataArray,int);
00159 
00161   unsigned long GetMTime();
00162 
00163 protected:
00164   vtkArcPlotter();
00165   ~vtkArcPlotter();
00166 
00167   void Execute();
00168   int  OffsetPoint(vtkIdType ptId, vtkPoints *inPts, float n[3],
00169                    vtkPoints *newPts, float offset, float *range, float val);
00170   int  ProcessComponents(vtkIdType numPts, vtkPointData *pd);
00171 
00172   vtkCamera *Camera;
00173   int       PlotMode;
00174   int       PlotComponent;
00175   float     Radius;
00176   float     Height;
00177   float     Offset;
00178   float     DefaultNormal[3];
00179   int       UseDefaultNormal;
00180   int       FieldDataArray;
00181   
00182 private:
00183   vtkDataArray *Data;
00184   float    *DataRange;
00185   float    *Tuple;
00186   int       NumberOfComponents;
00187   int       ActiveComponent;
00188   int       StartComp;
00189   int       EndComp;
00190   
00191 private:
00192   vtkArcPlotter(const vtkArcPlotter&);  // Not implemented.
00193   void operator=(const vtkArcPlotter&);  // Not implemented.
00194 };
00195 
00196 #endif