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

Graphics/vtkExtractTensorComponents.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkExtractTensorComponents.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 =========================================================================*/
00045 #ifndef __vtkExtractTensorComponents_h
00046 #define __vtkExtractTensorComponents_h
00047 
00048 #include "vtkDataSetToDataSetFilter.h"
00049 
00050 #define VTK_EXTRACT_COMPONENT 0
00051 #define VTK_EXTRACT_EFFECTIVE_STRESS 1
00052 #define VTK_EXTRACT_DETERMINANT 2
00053 
00054 class VTK_GRAPHICS_EXPORT vtkExtractTensorComponents : public vtkDataSetToDataSetFilter 
00055 {
00056 public:
00057   vtkTypeRevisionMacro(vtkExtractTensorComponents,vtkDataSetToDataSetFilter);
00058   void PrintSelf(ostream& os, vtkIndent indent);
00059 
00062   static vtkExtractTensorComponents *New();
00063 
00065 
00066   vtkSetMacro(PassTensorsToOutput,int);
00067   vtkGetMacro(PassTensorsToOutput,int);
00068   vtkBooleanMacro(PassTensorsToOutput,int);
00070 
00072 
00073   vtkSetMacro(ExtractScalars,int);
00074   vtkGetMacro(ExtractScalars,int);
00075   vtkBooleanMacro(ExtractScalars,int);
00077 
00079 
00080   vtkSetVector2Macro(ScalarComponents,int);
00081   vtkGetVectorMacro(ScalarComponents,int,2);
00083 
00085 
00089   vtkSetMacro(ScalarMode,int);
00090   vtkGetMacro(ScalarMode,int);
00091   void SetScalarModeToComponent()
00092     {this->SetScalarMode(VTK_EXTRACT_COMPONENT);};
00093   void SetScalarModeToEffectiveStress()
00094     {this->SetScalarMode(VTK_EXTRACT_EFFECTIVE_STRESS);};
00095   void SetScalarModeToDeterminant()
00096     {this->SetScalarMode(VTK_EXTRACT_DETERMINANT);};
00097   void ScalarIsComponent()
00098     {this->SetScalarMode(VTK_EXTRACT_COMPONENT);};
00099   void ScalarIsEffectiveStress()
00100     {this->SetScalarMode(VTK_EXTRACT_EFFECTIVE_STRESS);};
00101   void ScalarIsDeterminant()
00102     {this->SetScalarMode(VTK_EXTRACT_DETERMINANT);};
00104 
00106 
00107   vtkSetMacro(ExtractVectors,int);
00108   vtkGetMacro(ExtractVectors,int);
00109   vtkBooleanMacro(ExtractVectors,int);
00111 
00113 
00115   vtkSetVector6Macro(VectorComponents,int);
00116   vtkGetVectorMacro(VectorComponents,int,6);
00118 
00119 
00121 
00122   vtkSetMacro(ExtractNormals,int);
00123   vtkGetMacro(ExtractNormals,int);
00124   vtkBooleanMacro(ExtractNormals,int);
00126 
00128 
00130   vtkSetMacro(NormalizeNormals,int);
00131   vtkGetMacro(NormalizeNormals,int);
00132   vtkBooleanMacro(NormalizeNormals,int);
00134 
00136 
00138   vtkSetVector6Macro(NormalComponents,int);
00139   vtkGetVectorMacro(NormalComponents,int,6);
00141 
00143 
00145   vtkSetMacro(ExtractTCoords,int);
00146   vtkGetMacro(ExtractTCoords,int);
00147   vtkBooleanMacro(ExtractTCoords,int);
00149 
00151 
00152   vtkSetClampMacro(NumberOfTCoords,int,1,3);
00153   vtkGetMacro(NumberOfTCoords,int);
00155 
00157 
00160   vtkSetVector6Macro(TCoordComponents,int);
00161   vtkGetVectorMacro(TCoordComponents,int,6);
00163 
00164 protected:
00165   vtkExtractTensorComponents();
00166   ~vtkExtractTensorComponents() {};
00167 
00168   void Execute();
00169 
00170   int PassTensorsToOutput;
00171 
00172   int ExtractScalars;
00173   int ExtractVectors;
00174   int ExtractNormals;
00175   int ExtractTCoords;
00176 
00177   int ScalarMode;
00178   int ScalarComponents[2];
00179 
00180   int VectorComponents[6];
00181 
00182   int NormalizeNormals;
00183   int NormalComponents[6];
00184 
00185   int NumberOfTCoords;
00186   int TCoordComponents[6];
00187 
00188 private:
00189   vtkExtractTensorComponents(const vtkExtractTensorComponents&);  // Not implemented.
00190   void operator=(const vtkExtractTensorComponents&);  // Not implemented.
00191 };
00192 
00193 #endif
00194