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

dox/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