• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Graphics/vtkLinearExtrusionFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkLinearExtrusionFilter.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00053 #ifndef __vtkLinearExtrusionFilter_h
00054 #define __vtkLinearExtrusionFilter_h
00055 
00056 #include "vtkPolyDataAlgorithm.h"
00057 
00058 class vtkDataArray;
00059 
00060 #define VTK_VECTOR_EXTRUSION 1
00061 #define VTK_NORMAL_EXTRUSION 2
00062 #define VTK_POINT_EXTRUSION 3
00063 
00064 class VTK_GRAPHICS_EXPORT vtkLinearExtrusionFilter : public vtkPolyDataAlgorithm 
00065 {
00066 public:
00067   vtkTypeRevisionMacro(vtkLinearExtrusionFilter,vtkPolyDataAlgorithm);
00068   void PrintSelf(ostream& os, vtkIndent indent);
00069 
00072   static vtkLinearExtrusionFilter *New();
00073 
00075 
00076   vtkSetClampMacro(ExtrusionType,int,VTK_VECTOR_EXTRUSION,VTK_POINT_EXTRUSION);
00077   vtkGetMacro(ExtrusionType,int);
00078   void SetExtrusionTypeToVectorExtrusion()
00079     {this->SetExtrusionType(VTK_VECTOR_EXTRUSION);};
00080   void SetExtrusionTypeToNormalExtrusion()
00081     {this->SetExtrusionType(VTK_NORMAL_EXTRUSION);};
00082   void SetExtrusionTypeToPointExtrusion()
00083     {this->SetExtrusionType(VTK_POINT_EXTRUSION);};
00085 
00087 
00088   vtkSetMacro(Capping,int);
00089   vtkGetMacro(Capping,int);
00090   vtkBooleanMacro(Capping,int);
00092 
00094 
00095   vtkSetMacro(ScaleFactor,double);
00096   vtkGetMacro(ScaleFactor,double);
00098 
00100 
00102   vtkSetVector3Macro(Vector,double);
00103   vtkGetVectorMacro(Vector,double,3);
00105 
00107 
00109   vtkSetVector3Macro(ExtrusionPoint,double);
00110   vtkGetVectorMacro(ExtrusionPoint,double,3);
00112 
00113 protected:
00114   vtkLinearExtrusionFilter();
00115   ~vtkLinearExtrusionFilter() {};
00116 
00117   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00118   int ExtrusionType;
00119   int Capping;
00120   double ScaleFactor;
00121   double Vector[3];
00122   double ExtrusionPoint[3];
00123 
00124   //BTX
00125   double *(vtkLinearExtrusionFilter::*ExtrudePoint)(double x[3], vtkIdType id, 
00126                                                    vtkDataArray *normals);
00127   double *ViaNormal(double x[3], vtkIdType id, vtkDataArray *normals);
00128   double *ViaVector(double x[3], vtkIdType id, vtkDataArray *normals=0);
00129   double *ViaPoint(double x[3], vtkIdType id, vtkDataArray *normals=0);
00130   //ETX
00131  
00132 private:
00133   vtkLinearExtrusionFilter(const vtkLinearExtrusionFilter&);  // Not implemented.
00134   void operator=(const vtkLinearExtrusionFilter&);  // Not implemented.
00135 };
00136 
00137 #endif

Generated by  doxygen 1.7.1