Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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   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 =========================================================================*/
00061 #ifndef __vtkExtractTensorComponents_h
00062 #define __vtkExtractTensorComponents_h
00063 
00064 #include "vtkDataSetToDataSetFilter.h"
00065 
00066 #define VTK_EXTRACT_COMPONENT 0
00067 #define VTK_EXTRACT_EFFECTIVE_STRESS 1
00068 #define VTK_EXTRACT_DETERMINANT 2
00069 
00070 class VTK_GRAPHICS_EXPORT vtkExtractTensorComponents : public vtkDataSetToDataSetFilter 
00071 {
00072 public:
00073   vtkTypeRevisionMacro(vtkExtractTensorComponents,vtkDataSetToDataSetFilter);
00074   void PrintSelf(ostream& os, vtkIndent indent);
00075 
00078   static vtkExtractTensorComponents *New();
00079 
00081 
00082   vtkSetMacro(PassTensorsToOutput,int);
00083   vtkGetMacro(PassTensorsToOutput,int);
00084   vtkBooleanMacro(PassTensorsToOutput,int);
00086 
00088 
00089   vtkSetMacro(ExtractScalars,int);
00090   vtkGetMacro(ExtractScalars,int);
00091   vtkBooleanMacro(ExtractScalars,int);
00093 
00095 
00096   vtkSetVector2Macro(ScalarComponents,int);
00097   vtkGetVectorMacro(ScalarComponents,int,2);
00099 
00101 
00105   vtkSetMacro(ScalarMode,int);
00106   vtkGetMacro(ScalarMode,int);
00107   void SetScalarModeToComponent()
00108     {this->SetScalarMode(VTK_EXTRACT_COMPONENT);};
00109   void SetScalarModeToEffectiveStress()
00110     {this->SetScalarMode(VTK_EXTRACT_EFFECTIVE_STRESS);};
00111   void SetScalarModeToDeterminant()
00112     {this->SetScalarMode(VTK_EXTRACT_DETERMINANT);};
00113   void ScalarIsComponent()
00114     {this->SetScalarMode(VTK_EXTRACT_COMPONENT);};
00115   void ScalarIsEffectiveStress()
00116     {this->SetScalarMode(VTK_EXTRACT_EFFECTIVE_STRESS);};
00117   void ScalarIsDeterminant()
00118     {this->SetScalarMode(VTK_EXTRACT_DETERMINANT);};
00120 
00122 
00123   vtkSetMacro(ExtractVectors,int);
00124   vtkGetMacro(ExtractVectors,int);
00125   vtkBooleanMacro(ExtractVectors,int);
00127 
00129 
00131   vtkSetVector6Macro(VectorComponents,int);
00132   vtkGetVectorMacro(VectorComponents,int,6);
00134 
00135 
00137 
00138   vtkSetMacro(ExtractNormals,int);
00139   vtkGetMacro(ExtractNormals,int);
00140   vtkBooleanMacro(ExtractNormals,int);
00142 
00144 
00146   vtkSetMacro(NormalizeNormals,int);
00147   vtkGetMacro(NormalizeNormals,int);
00148   vtkBooleanMacro(NormalizeNormals,int);
00150 
00152 
00154   vtkSetVector6Macro(NormalComponents,int);
00155   vtkGetVectorMacro(NormalComponents,int,6);
00157 
00159 
00161   vtkSetMacro(ExtractTCoords,int);
00162   vtkGetMacro(ExtractTCoords,int);
00163   vtkBooleanMacro(ExtractTCoords,int);
00165 
00167 
00168   vtkSetClampMacro(NumberOfTCoords,int,1,3);
00169   vtkGetMacro(NumberOfTCoords,int);
00171 
00173 
00176   vtkSetVector6Macro(TCoordComponents,int);
00177   vtkGetVectorMacro(TCoordComponents,int,6);
00179 
00180 protected:
00181   vtkExtractTensorComponents();
00182   ~vtkExtractTensorComponents() {};
00183 
00184   void Execute();
00185 
00186   int PassTensorsToOutput;
00187 
00188   int ExtractScalars;
00189   int ExtractVectors;
00190   int ExtractNormals;
00191   int ExtractTCoords;
00192 
00193   int ScalarMode;
00194   int ScalarComponents[2];
00195 
00196   int VectorComponents[6];
00197 
00198   int NormalizeNormals;
00199   int NormalComponents[6];
00200 
00201   int NumberOfTCoords;
00202   int TCoordComponents[6];
00203 
00204 private:
00205   vtkExtractTensorComponents(const vtkExtractTensorComponents&);  // Not implemented.
00206   void operator=(const vtkExtractTensorComponents&);  // Not implemented.
00207 };
00208 
00209 #endif
00210