Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class 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 =========================================================================*/
00047 #ifndef __vtkArcPlotter_h
00048 #define __vtkArcPlotter_h
00049 
00050 #include "vtkPolyDataToPolyDataFilter.h"
00051 
00052 #define VTK_PLOT_SCALARS    1
00053 #define VTK_PLOT_VECTORS    2
00054 #define VTK_PLOT_NORMALS    3
00055 #define VTK_PLOT_TCOORDS    4
00056 #define VTK_PLOT_TENSORS    5
00057 #define VTK_PLOT_FIELD_DATA 6
00058 
00059 class vtkCamera;
00060 class vtkDataArray;
00061 class vtkPointData;
00062 class vtkPoints;
00063 
00064 class VTK_HYBRID_EXPORT vtkArcPlotter : public vtkPolyDataToPolyDataFilter 
00065 {
00066 public:
00068   static vtkArcPlotter *New();
00069 
00070   vtkTypeRevisionMacro(vtkArcPlotter,vtkPolyDataToPolyDataFilter);
00071   void PrintSelf(ostream& os, vtkIndent indent);
00072 
00074 
00076   virtual void SetCamera(vtkCamera*);
00077   vtkGetObjectMacro(Camera,vtkCamera);
00079 
00081 
00085   vtkSetMacro(PlotMode, int);
00086   vtkGetMacro(PlotMode, int);
00087   void SetPlotModeToPlotScalars() {this->SetPlotMode(VTK_PLOT_SCALARS);};
00088   void SetPlotModeToPlotVectors() {this->SetPlotMode(VTK_PLOT_VECTORS);};
00089   void SetPlotModeToPlotNormals() {this->SetPlotMode(VTK_PLOT_NORMALS);};
00090   void SetPlotModeToPlotTCoords() {this->SetPlotMode(VTK_PLOT_TCOORDS);};
00091   void SetPlotModeToPlotTensors() {this->SetPlotMode(VTK_PLOT_TENSORS);};
00092   void SetPlotModeToPlotFieldData()
00093             {this->SetPlotMode(VTK_PLOT_FIELD_DATA);};
00095 
00097 
00100   vtkSetMacro(PlotComponent,int);
00101   vtkGetMacro(PlotComponent,int);
00103 
00105 
00106   vtkSetClampMacro(Radius,float,0.0,VTK_LARGE_FLOAT);
00107   vtkGetMacro(Radius,float);
00109 
00111 
00113   vtkSetClampMacro(Height,float,0.0,VTK_LARGE_FLOAT);
00114   vtkGetMacro(Height,float);
00116 
00118 
00121   vtkSetClampMacro(Offset, float, 0.0, VTK_LARGE_FLOAT);
00122   vtkGetMacro(Offset, float);
00124 
00126 
00129   vtkSetMacro(UseDefaultNormal,int);
00130   vtkGetMacro(UseDefaultNormal,int);
00131   vtkBooleanMacro(UseDefaultNormal,int);
00133 
00135 
00137   vtkSetVector3Macro(DefaultNormal,float);
00138   vtkGetVectorMacro(DefaultNormal,float,3);
00140 
00142 
00144   vtkSetClampMacro(FieldDataArray,int,0,VTK_LARGE_INTEGER);
00145   vtkGetMacro(FieldDataArray,int);
00147 
00149   unsigned long GetMTime();
00150 
00151 protected:
00152   vtkArcPlotter();
00153   ~vtkArcPlotter();
00154 
00155   void Execute();
00156   int  OffsetPoint(vtkIdType ptId, vtkPoints *inPts, float n[3],
00157                    vtkPoints *newPts, float offset, float *range, float val);
00158   int  ProcessComponents(vtkIdType numPts, vtkPointData *pd);
00159 
00160   vtkCamera *Camera;
00161   int       PlotMode;
00162   int       PlotComponent;
00163   float     Radius;
00164   float     Height;
00165   float     Offset;
00166   float     DefaultNormal[3];
00167   int       UseDefaultNormal;
00168   int       FieldDataArray;
00169   
00170 private:
00171   vtkDataArray *Data;
00172   float    *DataRange;
00173   float    *Tuple;
00174   int       NumberOfComponents;
00175   int       ActiveComponent;
00176   int       StartComp;
00177   int       EndComp;
00178   
00179 private:
00180   vtkArcPlotter(const vtkArcPlotter&);  // Not implemented.
00181   void operator=(const vtkArcPlotter&);  // Not implemented.
00182 };
00183 
00184 #endif