X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcreaVtk%2FvtkTensorsVisu.cpp;h=c834ada83a2a76b01e51875f310a8e590a016ac5;hb=8eab35636049813a6ce1b8f0e2d99e62dd280e0e;hp=53f55174ca22e1b81b76a2a52bdaa8bae0bc21fe;hpb=41a74698bb0203749248628baa1503144e1f12f7;p=creaVtk.git diff --git a/lib/creaVtk/vtkTensorsVisu.cpp b/lib/creaVtk/vtkTensorsVisu.cpp index 53f5517..c834ada 100644 --- a/lib/creaVtk/vtkTensorsVisu.cpp +++ b/lib/creaVtk/vtkTensorsVisu.cpp @@ -33,6 +33,7 @@ vtkTensorsVisu::vtkTensorsVisu() : vtkVectorsTensorsVisuBase() { ss = vtkSphereSource::New(); + superquadratic = vtkSuperquadricSource::New(); cs = vtkCubeSource::New(); tg = vtkTensorGlyph::New(); pdn = vtkPolyDataNormals::New(); @@ -53,16 +54,19 @@ printf("EED vtkTensorsVisu::Process Start\n"); if (_active==true){ - std::string source="sphere"; +// std::string source="sphere"; + std::string source="superquadratic"; if(source=="sphere") { tg->SetSource(ss->GetOutput()); + } else if(source=="cube") { + tg->SetSource(cs->GetOutput()); + }else if(source=="superquadratic") { + superquadratic->SetThetaResolution(20); + superquadratic->SetPhiResolution(20); + tg->SetSource(superquadratic->GetOutput()); + } else { } - else if(source=="cube") - { - tg->SetSource(ss->GetOutput()); - } - else{} tg->SetInput( GetDataObject() ); @@ -108,26 +112,26 @@ printf("EED vtkTensorsVisu::Process Start\n"); _pdm->SetInput( pdn->GetOutput() ); _pdm->ImmediateModeRenderingOn(); - _pdm->ScalarVisibilityOn(); - _pdm->SetScalarModeToUsePointFieldData(); + _pdm->ScalarVisibilityOn(); + _pdm->SetScalarModeToUsePointFieldData(); //EED _pdm->Update(); _actor->SetMapper( _pdm ); - _actor->GetProperty()->SetOpacity( GetOpacity() ); + _actor->GetProperty()->SetOpacity( GetOpacity() ); tg->ColorGlyphsOn(); - tg->ExtractEigenvaluesOn(); +// tg->ExtractEigenvaluesOn(); tg->SetColorModeToEigenvalues(); - _pdm->SetLookupTable( _LutEED ); - _pdm->SelectColorArray( "Normals" ); + _pdm->SetLookupTable( _LutEED ); + _pdm->SelectColorArray( "Normals" ); //int tcg = tg->GetColorGlyphs(); // tg->SetColorGlyphs(10); - //tg->SetColorModeToScalars(); +// tg->SetColorModeToScalars(); //tg->ThreeGlyphsOn(); @@ -146,15 +150,49 @@ printf("EED vtkTensorsVisu::Process Start\n"); + tg->Print( std::cout ); + printf("EED vtkTensorsVisu::Process ------------------------------------------\n"); + pd->Print( std::cout ); + + tg->Update(); vtkPolyData *pd = pdn->GetOutput(); vtkPointData *pointdata = pd->GetPointData(); + + + printf("EED vtkTensorsVisu::Process XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx\n"); + pointdata->Print( std::cout ); + + int aa = pd->GetNumberOfPieces (); + int bb = pd->GetNumberOfVerts (); + int cc = pd->GetNumberOfLines (); + int dd = pd->GetNumberOfPolys (); + int ee = pd->GetNumberOfStrips (); + int ff = pd->GetNumberOfCells(); + + printf("EED vtkTensorsVisu::Process %d %d %d %d %d %d \n", aa,bb,cc,dd,ee,ff); + + vtkPolyData *ttt = (vtkPolyData *)GetDataObject(); + int numPnts = ttt->GetNumberOfPoints(); + printf("EED vtkTensorsVisu::Process numPnts %d \n", numPnts ); + + + vtkIdType numSourcePts, numSourceCells; + vtkPoints *sourcePts; + sourcePts = tg->GetSource()->GetPoints(); + numSourcePts = sourcePts->GetNumberOfPoints(); + numSourceCells = tg->GetSource()->GetNumberOfCells(); + printf("EED vtkTensorsVisu::Process numSourcePts %d numSourceCells %d\n", numSourcePts, numSourceCells); + + + int i,sizeDa = pointdata->GetNumberOfArrays(); printf("EED vtkTensorsVisu::Process sizeDa %d \n", sizeDa ); for (i=0;iGetArrayName(i) , pointdata->GetArray(i)->GetSize() ); + int faces = pointdata->GetArray(i)->GetSize() / numPnts; + printf("EED vtkTensorsVisu::Process-name %d, %s, size=%d %d \n", i, pointdata->GetArrayName(i) , pointdata->GetArray(i)->GetSize(), faces ); }