Hybrid/vtkArcPlotter.h Source File

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