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

# Graphics/vtkLinearExtrusionFilter.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkLinearExtrusionFilter.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 =========================================================================*/
    00069 #ifndef __vtkLinearExtrusionFilter_h
    00070 #define __vtkLinearExtrusionFilter_h
    00071
    00072 #include "vtkPolyDataToPolyDataFilter.h"
    00073
    00074 class vtkDataArray;
    00075
    00076 #define VTK_VECTOR_EXTRUSION 1
    00077 #define VTK_NORMAL_EXTRUSION 2
    00078 #define VTK_POINT_EXTRUSION 3
    00079
    00080 class VTK_GRAPHICS_EXPORT vtkLinearExtrusionFilter : public vtkPolyDataToPolyDataFilter
    00081 {
    00082 public:
    00083   vtkTypeRevisionMacro(vtkLinearExtrusionFilter,vtkPolyDataToPolyDataFilter);
    00084   void PrintSelf(ostream& os, vtkIndent indent);
    00085
    00088   static vtkLinearExtrusionFilter *New();
    00089
    00091
    00092   vtkSetClampMacro(ExtrusionType,int,VTK_VECTOR_EXTRUSION,VTK_POINT_EXTRUSION);
    00093   vtkGetMacro(ExtrusionType,int);
    00094   void SetExtrusionTypeToVectorExtrusion()
    00095     {this->SetExtrusionType(VTK_VECTOR_EXTRUSION);};
    00096   void SetExtrusionTypeToNormalExtrusion()
    00097     {this->SetExtrusionType(VTK_NORMAL_EXTRUSION);};
    00098   void SetExtrusionTypeToPointExtrusion()
    00099     {this->SetExtrusionType(VTK_POINT_EXTRUSION);};
    00101
    00103
    00104   vtkSetMacro(Capping,int);
    00105   vtkGetMacro(Capping,int);
    00106   vtkBooleanMacro(Capping,int);
    00108
    00110
    00111   vtkSetMacro(ScaleFactor,float);
    00112   vtkGetMacro(ScaleFactor,float);
    00114
    00116
    00118   vtkSetVector3Macro(Vector,float);
    00119   vtkGetVectorMacro(Vector,float,3);
    00121
    00123
    00125   vtkSetVector3Macro(ExtrusionPoint,float);
    00126   vtkGetVectorMacro(ExtrusionPoint,float,3);
    00128
    00129 protected:
    00130   vtkLinearExtrusionFilter();
    00131   ~vtkLinearExtrusionFilter() {};
    00132
    00133   void Execute();
    00134   int ExtrusionType;
    00135   int Capping;
    00136   float ScaleFactor;
    00137   float Vector[3];
    00138   float ExtrusionPoint[3];
    00139
    00140   //BTX
    00141   float *(vtkLinearExtrusionFilter::*ExtrudePoint)(float x[3], vtkIdType id,
    00142                                                    vtkDataArray *normals);
    00143   float *ViaNormal(float x[3], vtkIdType id, vtkDataArray *normals);
    00144   float *ViaVector(float x[3], vtkIdType id, vtkDataArray *normals=0);
    00145   float *ViaPoint(float x[3], vtkIdType id, vtkDataArray *normals=0);
    00146   //ETX
    00147
    00148 private:
    00149   vtkLinearExtrusionFilter(const vtkLinearExtrusionFilter&);  // Not implemented.
    00150   void operator=(const vtkLinearExtrusionFilter&);  // Not implemented.
    00151 };
    00152
    00153 #endif