00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00049
#ifndef __vtkExtractTensorComponents_h
00050
#define __vtkExtractTensorComponents_h
00051
00052
#include "vtkDataSetToDataSetFilter.h"
00053
00054 #define VTK_EXTRACT_COMPONENT 0
00055 #define VTK_EXTRACT_EFFECTIVE_STRESS 1
00056 #define VTK_EXTRACT_DETERMINANT 2
00057
00058 class VTK_GRAPHICS_EXPORT vtkExtractTensorComponents :
public vtkDataSetToDataSetFilter
00059 {
00060
public:
00061 vtkTypeRevisionMacro(vtkExtractTensorComponents,
vtkDataSetToDataSetFilter);
00062
void PrintSelf(ostream& os,
vtkIndent indent);
00063
00066
static vtkExtractTensorComponents *
New();
00067
00069
00070 vtkSetMacro(PassTensorsToOutput,
int);
00071 vtkGetMacro(PassTensorsToOutput,
int);
00072 vtkBooleanMacro(PassTensorsToOutput,
int);
00074
00076
00077 vtkSetMacro(ExtractScalars,
int);
00078 vtkGetMacro(ExtractScalars,
int);
00079 vtkBooleanMacro(ExtractScalars,
int);
00081
00083
00084 vtkSetVector2Macro(ScalarComponents,
int);
00085 vtkGetVectorMacro(ScalarComponents,
int,2);
00087
00089
00093 vtkSetMacro(ScalarMode,
int);
00094 vtkGetMacro(ScalarMode,
int);
00095 void SetScalarModeToComponent()
00096 {this->SetScalarMode(
VTK_EXTRACT_COMPONENT);};
00097 void SetScalarModeToEffectiveStress()
00098 {this->SetScalarMode(
VTK_EXTRACT_EFFECTIVE_STRESS);};
00099 void SetScalarModeToDeterminant()
00100 {this->SetScalarMode(
VTK_EXTRACT_DETERMINANT);};
00101 void ScalarIsComponent()
00102 {this->SetScalarMode(
VTK_EXTRACT_COMPONENT);};
00103 void ScalarIsEffectiveStress()
00104 {this->SetScalarMode(
VTK_EXTRACT_EFFECTIVE_STRESS);};
00105 void ScalarIsDeterminant()
00106 {this->SetScalarMode(
VTK_EXTRACT_DETERMINANT);};
00108
00110
00111 vtkSetMacro(ExtractVectors,
int);
00112 vtkGetMacro(ExtractVectors,
int);
00113 vtkBooleanMacro(ExtractVectors,
int);
00115
00117
00119 vtkSetVector6Macro(VectorComponents,
int);
00120 vtkGetVectorMacro(VectorComponents,
int,6);
00122
00123
00125
00126 vtkSetMacro(ExtractNormals,
int);
00127 vtkGetMacro(ExtractNormals,
int);
00128 vtkBooleanMacro(ExtractNormals,
int);
00130
00132
00134 vtkSetMacro(NormalizeNormals,
int);
00135 vtkGetMacro(NormalizeNormals,
int);
00136 vtkBooleanMacro(NormalizeNormals,
int);
00138
00140
00142 vtkSetVector6Macro(NormalComponents,
int);
00143 vtkGetVectorMacro(NormalComponents,
int,6);
00145
00147
00149 vtkSetMacro(ExtractTCoords,
int);
00150 vtkGetMacro(ExtractTCoords,
int);
00151 vtkBooleanMacro(ExtractTCoords,
int);
00153
00155
00156 vtkSetClampMacro(NumberOfTCoords,
int,1,3);
00157 vtkGetMacro(NumberOfTCoords,
int);
00159
00161
00164 vtkSetVector6Macro(TCoordComponents,
int);
00165 vtkGetVectorMacro(TCoordComponents,
int,6);
00167
00168
protected:
00169 vtkExtractTensorComponents();
00170 ~vtkExtractTensorComponents() {};
00171
00172
void Execute();
00173
00174 int PassTensorsToOutput;
00175
00176 int ExtractScalars;
00177 int ExtractVectors;
00178 int ExtractNormals;
00179 int ExtractTCoords;
00180
00181 int ScalarMode;
00182 int ScalarComponents[2];
00183
00184 int VectorComponents[6];
00185
00186 int NormalizeNormals;
00187 int NormalComponents[6];
00188
00189 int NumberOfTCoords;
00190 int TCoordComponents[6];
00191
00192
private:
00193 vtkExtractTensorComponents(
const vtkExtractTensorComponents&);
00194
void operator=(
const vtkExtractTensorComponents&);
00195 };
00196
00197
#endif
00198