00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00050 #ifndef __vtkTensors_h
00051 #define __vtkTensors_h
00052
00053 #include "vtkAttributeData.h"
00054 #include "vtkTensor.h"
00055
00056 class vtkIdList;
00057 class vtkTensors;
00058
00059 class VTK_EXPORT vtkTensors : public vtkAttributeData
00060 {
00061 public:
00062 static vtkTensors *New(int dataType);
00063 static vtkTensors *New();
00064
00065 vtkTypeMacro(vtkTensors,vtkAttributeData);
00066 void PrintSelf(ostream& os, vtkIndent indent);
00067
00069 vtkAttributeData *MakeObject()
00070 {return vtkTensors::New(this->GetDataType());};
00071
00073 int GetNumberOfTensors() {return this->Data->GetNumberOfTuples();};
00074
00076 vtkTensor *GetTensor(int id);
00077
00081 void SetNumberOfTensors(int number);
00082
00084 void GetTensor(int id, vtkTensor *t);
00085
00089 void SetTensor(int id, vtkTensor *t);
00090
00093 void InsertTensor(int id, vtkTensor *t);
00094 void InsertTensor(int id, float t11, float t12, float t13,
00095 float t21, float t22, float t23,
00096 float t31, float t32, float t33);
00097
00100 int InsertNextTensor(vtkTensor *t);
00101 int InsertNextTensor(float t11, float t12, float t13,
00102 float t21, float t22, float t23,
00103 float t31, float t32, float t33);
00104
00106 void GetTensors(vtkIdList *ptId, vtkTensors *fv);
00107
00108 #ifndef VTK_REMOVE_LEGACY_CODE
00109
00110 void GetTensors(vtkIdList& ptId, vtkTensors& fv)
00111 {VTK_LEGACY_METHOD(GetTensors,"3.2"); this->GetTensors(&ptId, &fv);}
00112 void GetTensor(int id, vtkTensor& t)
00113 {VTK_LEGACY_METHOD(GetTensor,"3.2"); this->GetTensor(id, &t);}
00114 #endif
00115
00116 protected:
00117 vtkTensors();
00118 ~vtkTensors();
00119 vtkTensors(const vtkTensors&) {};
00120 void operator=(const vtkTensors&) {};
00121
00122 vtkTensor *T;
00123
00124 };
00125
00126
00127 inline vtkTensor *vtkTensors::GetTensor(int id)
00128 {
00129 this->T->T = this->Data->GetTuple(id);
00130 return this->T;
00131 }
00132
00133 inline void vtkTensors::SetNumberOfTensors(int number)
00134 {
00135 this->Data->SetNumberOfComponents(9);
00136 this->Data->SetNumberOfTuples(number);
00137 }
00138
00139
00140
00141 #include "vtkIdList.h"
00142
00143 #endif
00144