- vtkPolyData *pd = pdn->GetOutput();
- vtkPointData *pointdata = pd->GetPointData();
-
- int i,sizeDa = pointdata->GetNumberOfArrays();
- printf("EED vtkTensorsVisu::Process sizeDa %d \n", sizeDa );
- for (i=0;i<sizeDa;i++)
+ vtkPolyData *pd_pdn = pdn->GetOutput();
+ vtkPointData *pointdata_pdn = pd_pdn->GetPointData();
+
+ vtkPolyData *pd_tg = tg->GetOutput();
+ vtkPointData *pointdata_tg = pd_tg->GetPointData();
+
+ vtkPolyData *pd_do = (vtkPolyData*)GetDataObject();
+ vtkPointData *pointdata_do = pd_do->GetPointData();
+
+ int numPnts = ((vtkPolyData *)GetDataObject())->GetNumberOfPoints();
+
+ vtkIdType numSourcePts;
+// vtkIdType numSourceCells;
+
+ vtkPoints *sourcePts = tg->GetSource()->GetPoints();
+
+
+ numSourcePts = sourcePts->GetNumberOfPoints();
+// numSourceCells = tg->GetSource()->GetNumberOfCells();
+
+ vtkDataArray *tensorsArray = pointdata_do->GetArray("tensors");
+ if (tensorsArray)
+ {
+ vtkDoubleArray *newScalarArray = vtkDoubleArray::New();
+ newScalarArray->SetName( "NormalsEED" );
+ newScalarArray->SetNumberOfComponents(3);
+ int iNumPts,iNumSourcePts;
+ int iNormalsEED=0;
+ double *normalValue;
+ double sumEigenvalue,sumEigenvalue1,sumEigenvalue2,sumEigenvalue3;
+ unsigned char dirx,diry,dirz;
+ int idEigen;
+ for (iNumPts=0;iNumPts<numPnts;iNumPts++)
+ {
+ normalValue = tensorsArray->GetTuple9(iNumPts);
+ sumEigenvalue1 = sqrt (normalValue[0]*normalValue[0] + normalValue[1]*normalValue[1] + normalValue[2]*normalValue[2]);
+ sumEigenvalue2 = sqrt (normalValue[3]*normalValue[3] + normalValue[4]*normalValue[4] + normalValue[5]*normalValue[5]);
+ sumEigenvalue3 = sqrt (normalValue[6]*normalValue[6] + normalValue[7]*normalValue[7] + normalValue[8]*normalValue[8]);
+
+ if ((sumEigenvalue1>=sumEigenvalue2) && (sumEigenvalue1>=sumEigenvalue3))
+ {
+ sumEigenvalue=sumEigenvalue1;
+ idEigen=0;
+ }
+ if ((sumEigenvalue2>sumEigenvalue1) && (sumEigenvalue2>=sumEigenvalue3))