00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00045 #ifndef __vtkExtractTensorComponents_h
00046 #define __vtkExtractTensorComponents_h
00047
00048 #include "vtkDataSetAlgorithm.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 vtkDataSetAlgorithm
00055 {
00056 public:
00057 vtkTypeMacro(vtkExtractTensorComponents,vtkDataSetAlgorithm);
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 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
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&);
00190 void operator=(const vtkExtractTensorComponents&);
00191 };
00192
00193 #endif
00194