diff -aur VISU_SRC_5.1.2.old/src/CONVERTOR/VISU_MergeFilterUtilities.cxx VISU_SRC_5.1.2/src/CONVERTOR/VISU_MergeFilterUtilities.cxx --- VISU_SRC_5.1.2.old/src/CONVERTOR/VISU_MergeFilterUtilities.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/CONVERTOR/VISU_MergeFilterUtilities.cxx 2009-09-22 20:07:47.000000000 +0200 @@ -437,7 +437,7 @@ { CopyArray(theInput->GetArray(theFieldName), theOutput, - &vtkDataSetAttributes::AddArray, + (TSetAttribute) &vtkDataSetAttributes::AddArray, theFixedNbTuples); } diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_Actor.cxx VISU_SRC_5.1.2/src/OBJECT/VISU_Actor.cxx --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_Actor.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_Actor.cxx 2009-09-22 20:07:47.000000000 +0200 @@ -69,6 +69,7 @@ #include #include +#include #include #include @@ -108,7 +109,7 @@ myIsShrunk(false), myIsShrinkable(false), myShrinkFilter(VTKViewer_ShrinkFilter::New()), - myAnnotationMapper(vtkTextMapper::New()), + myAnnotationMapper(vtkPolyDataMapper2D::New()), myAnnotationActor(vtkTextActor::New()), myTextActor(VTKViewer_FramedTextActor::New()), myIsFeatureEdgesAllowed(false), @@ -806,7 +807,7 @@ std::ostringstream aStr; aStr<<"Cell ID: "<< anObjId; std::string aString = aStr.str(); - myAnnotationMapper->SetInput(aString.c_str()); + myAnnotationMapper->SetInput((vtkPolyData *)aString.c_str()); myAnnotationActor->SetVisibility(1); return true; @@ -841,7 +842,7 @@ std::ostringstream aStr; aStr<<"Node ID: "<< anObjId; std::string aString = aStr.str(); - myAnnotationMapper->SetInput(aString.c_str()); + myAnnotationMapper->SetInput((vtkPolyData *)aString.c_str()); myAnnotationActor->SetVisibility(1); return true; diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_Actor.h VISU_SRC_5.1.2/src/OBJECT/VISU_Actor.h --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_Actor.h 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_Actor.h 2009-09-22 20:07:47.000000000 +0200 @@ -56,6 +56,8 @@ class vtkMaskPoints; class vtkActor2D; +class vtkPolyDataMapper2D; + class VTKViewer_FramedTextActor; namespace SVTK @@ -381,7 +383,7 @@ bool myIsShrinkable; bool myIsShrunk; - vtkSmartPointer myAnnotationMapper; + vtkSmartPointer myAnnotationMapper; vtkSmartPointer myAnnotationActor; vtkSmartPointer myTextActor; diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_GaussPtsAct.cxx VISU_SRC_5.1.2/src/OBJECT/VISU_GaussPtsAct.cxx --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_GaussPtsAct.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_GaussPtsAct.cxx 2009-09-22 23:12:48.000000000 +0200 @@ -360,7 +360,23 @@ int VISU_GaussPtsAct -::RenderTranslucentGeometry(vtkViewport *viewport) +::HasTranslucentPolygonalGeometry() +{ + GetMatrix(myDeviceActor->GetUserMatrix()); + return 1; +} + +int +VISU_GaussPtsAct +::RenderTranslucentPolygonalGeometry(vtkViewport *viewport) +{ + GetMatrix(myDeviceActor->GetUserMatrix()); + return 1; +} + +int +VISU_GaussPtsAct +::RenderVolumetricGeometry(vtkViewport *viewport) { GetMatrix(myDeviceActor->GetUserMatrix()); return 1; @@ -1519,9 +1535,27 @@ int VISU_GaussPtsAct1 -::RenderTranslucentGeometry(vtkViewport *viewport) +::HasTranslucentPolygonalGeometry() +{ + return Superclass::HasTranslucentPolygonalGeometry(); +} + +int +VISU_GaussPtsAct1 +::RenderTranslucentPolygonalGeometry(vtkViewport *viewport) +{ + Superclass::RenderTranslucentPolygonalGeometry(viewport); + GetMatrix(myInsideDeviceActor->GetUserMatrix()); + GetMatrix(myOutsideDeviceActor->GetUserMatrix()); + + return 1; +} + +int +VISU_GaussPtsAct1 +::RenderVolumetricGeometry(vtkViewport *viewport) { - Superclass::RenderTranslucentGeometry(viewport); + Superclass::RenderVolumetricGeometry(viewport); GetMatrix(myInsideDeviceActor->GetUserMatrix()); GetMatrix(myOutsideDeviceActor->GetUserMatrix()); diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_GaussPtsAct.h VISU_SRC_5.1.2/src/OBJECT/VISU_GaussPtsAct.h --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_GaussPtsAct.h 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_GaussPtsAct.h 2009-09-22 20:20:03.000000000 +0200 @@ -168,7 +168,13 @@ //! Redefined method of rendering the Translucent Geometry. virtual int - RenderTranslucentGeometry(vtkViewport *viewport); + HasTranslucentPolygonalGeometry(); + virtual + int + RenderTranslucentPolygonalGeometry(vtkViewport *viewport); + virtual + int + RenderVolumetricGeometry(vtkViewport *viewport); //---------------------------------------------------------------------------- //! Set actor visibility. @@ -424,7 +430,13 @@ //! Redefined method of rendering the Translucent Geometry. virtual int - RenderTranslucentGeometry(vtkViewport *viewport); + HasTranslucentPolygonalGeometry(); + virtual + int + RenderTranslucentPolygonalGeometry(vtkViewport *viewport); + virtual + int + RenderVolumetricGeometry(vtkViewport *viewport); virtual void diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_IsoSurfActor.cxx VISU_SRC_5.1.2/src/OBJECT/VISU_IsoSurfActor.cxx --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_IsoSurfActor.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_IsoSurfActor.cxx 2009-09-22 20:10:35.000000000 +0200 @@ -135,11 +135,22 @@ return VISU_ScalarMapAct::RenderOpaqueGeometry(vp); } +int VISU_IsoSurfActor::HasTranslucentPolygonalGeometry() +{ + return VISU_ScalarMapAct::HasTranslucentPolygonalGeometry(); +} + +int VISU_IsoSurfActor::RenderTranslucentPolygonalGeometry(vtkViewport *vp) +{ + UpdateLabels(); + return VISU_ScalarMapAct::RenderTranslucentPolygonalGeometry(vp); +} + -int VISU_IsoSurfActor::RenderTranslucentGeometry(vtkViewport *vp) +int VISU_IsoSurfActor::RenderVolumetricGeometry(vtkViewport *vp) { UpdateLabels(); - return VISU_ScalarMapAct::RenderTranslucentGeometry(vp); + return VISU_ScalarMapAct::RenderVolumetricGeometry(vp); } void VISU_IsoSurfActor::SetVisibility(int theMode){ diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_IsoSurfActor.h VISU_SRC_5.1.2/src/OBJECT/VISU_IsoSurfActor.h --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_IsoSurfActor.h 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_IsoSurfActor.h 2009-09-22 20:10:35.000000000 +0200 @@ -51,7 +51,9 @@ virtual void RemoveFromRender( vtkRenderer* ); virtual int RenderOpaqueGeometry(vtkViewport *viewport); - virtual int RenderTranslucentGeometry(vtkViewport *viewport); + virtual int HasTranslucentPolygonalGeometry(); + virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport); + virtual int RenderVolumetricGeometry(vtkViewport *viewport); //virtual void SetPipeLine(VISU_PipeLine* thePipeLine); diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_MeshAct.cxx VISU_SRC_5.1.2/src/OBJECT/VISU_MeshAct.cxx --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_MeshAct.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_MeshAct.cxx 2009-09-22 23:00:06.000000000 +0200 @@ -367,7 +367,78 @@ int VISU_MeshAct -::RenderTranslucentGeometry(vtkViewport *ren) +::HasTranslucentPolygonalGeometry() +{ + GetMatrix(myNodeActor->GetUserMatrix()); + GetMatrix(myEdgeActor->GetUserMatrix()); + GetMatrix(mySurfaceActor->GetUserMatrix()); + + using namespace SVTK::Representation; + switch(GetRepresentation()){ + case Points : + myNodeActor->HasTranslucentPolygonalGeometry(); + break; + case Wireframe : + case Insideframe : + myEdgeActor->HasTranslucentPolygonalGeometry(); + break; + case Surface : + mySurfaceActor->HasTranslucentPolygonalGeometry(); + break; + case Surfaceframe : + mySurfaceActor->HasTranslucentPolygonalGeometry(); + + myEdgeActor->HasTranslucentPolygonalGeometry(); + break; + case FeatureEdges : + mySurfaceActor->HasTranslucentPolygonalGeometry(); + break; + } + return 1; +} + + +int +VISU_MeshAct +::RenderTranslucentPolygonalGeometry(vtkViewport *ren) +{ + GetMatrix(myNodeActor->GetUserMatrix()); + GetMatrix(myEdgeActor->GetUserMatrix()); + GetMatrix(mySurfaceActor->GetUserMatrix()); + + using namespace SVTK::Representation; + switch(GetRepresentation()){ + case Points : + myNodeActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + myNodeActor->RenderTranslucentPolygonalGeometry(ren); + break; + case Wireframe : + case Insideframe : + myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + myEdgeActor->RenderTranslucentPolygonalGeometry(ren); + break; + case Surface : + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderTranslucentPolygonalGeometry(ren); + break; + case Surfaceframe : + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderTranslucentPolygonalGeometry(ren); + + myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); + myEdgeActor->RenderTranslucentPolygonalGeometry(ren); + break; + case FeatureEdges : + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderTranslucentPolygonalGeometry(ren); + break; + } + return 1; +} + +int +VISU_MeshAct +::RenderVolumetricGeometry(vtkViewport *ren) { GetMatrix(myNodeActor->GetUserMatrix()); GetMatrix(myEdgeActor->GetUserMatrix()); @@ -377,32 +448,33 @@ switch(GetRepresentation()){ case Points : myNodeActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - myNodeActor->RenderTranslucentGeometry(ren); + myNodeActor->RenderVolumetricGeometry(ren); break; case Wireframe : case Insideframe : myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - myEdgeActor->RenderTranslucentGeometry(ren); + myEdgeActor->RenderVolumetricGeometry(ren); break; case Surface : mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - mySurfaceActor->RenderTranslucentGeometry(ren); + mySurfaceActor->RenderVolumetricGeometry(ren); break; case Surfaceframe : mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - mySurfaceActor->RenderTranslucentGeometry(ren); + mySurfaceActor->RenderVolumetricGeometry(ren); myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); - myEdgeActor->RenderTranslucentGeometry(ren); + myEdgeActor->RenderVolumetricGeometry(ren); break; case FeatureEdges : mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - mySurfaceActor->RenderTranslucentGeometry(ren); + mySurfaceActor->RenderVolumetricGeometry(ren); break; } return 1; } + VISU_Actor::EQuadratic2DRepresentation VISU_MeshAct::GetQuadratic2DRepresentation() const { diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_MeshAct.h VISU_SRC_5.1.2/src/OBJECT/VISU_MeshAct.h --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_MeshAct.h 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_MeshAct.h 2009-09-22 22:21:53.000000000 +0200 @@ -133,7 +133,13 @@ virtual int - RenderTranslucentGeometry(vtkViewport *ren); + HasTranslucentPolygonalGeometry(); + virtual + int + RenderTranslucentPolygonalGeometry(vtkViewport *viewport); + virtual + int + RenderVolumetricGeometry(vtkViewport *ren); virtual EQuadratic2DRepresentation GetQuadratic2DRepresentation() const; diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_ScalarMapAct.cxx VISU_SRC_5.1.2/src/OBJECT/VISU_ScalarMapAct.cxx --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_ScalarMapAct.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_ScalarMapAct.cxx 2009-09-22 23:03:31.000000000 +0200 @@ -610,7 +610,7 @@ int VISU_ScalarMapAct -::RenderTranslucentGeometry(vtkViewport *ren) +::HasTranslucentPolygonalGeometry() { GetMatrix(myEdgeActor->GetUserMatrix()); GetMatrix(mySurfaceActor->GetUserMatrix()); @@ -619,26 +619,86 @@ switch ( GetRepresentation() ) { case Surfaceframe: + mySurfaceActor->HasTranslucentPolygonalGeometry(); + + myEdgeActor->HasTranslucentPolygonalGeometry(); + break; + + case Points: + myPointsActor->HasTranslucentPolygonalGeometry(); + break; + + default: + mySurfaceActor->HasTranslucentPolygonalGeometry(); + } + + return 1; +} + + +int +VISU_ScalarMapAct +::RenderTranslucentPolygonalGeometry(vtkViewport *ren) +{ + GetMatrix(myEdgeActor->GetUserMatrix()); + GetMatrix(mySurfaceActor->GetUserMatrix()); + + using namespace SVTK::Representation; + switch ( GetRepresentation() ) { + + case Surfaceframe: + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderTranslucentPolygonalGeometry(ren); + + myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); + myEdgeActor->RenderTranslucentPolygonalGeometry(ren); + break; + + case Points: + myPointsActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + myPointsActor->RenderTranslucentPolygonalGeometry(ren); + break; + + default: mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - mySurfaceActor->RenderTranslucentGeometry(ren); + mySurfaceActor->RenderTranslucentPolygonalGeometry(ren); + } + + return 1; +} + +int +VISU_ScalarMapAct +::RenderVolumetricGeometry(vtkViewport *ren) +{ + GetMatrix(myEdgeActor->GetUserMatrix()); + GetMatrix(mySurfaceActor->GetUserMatrix()); + + using namespace SVTK::Representation; + switch ( GetRepresentation() ) { + + case Surfaceframe: + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderVolumetricGeometry(ren); myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); - myEdgeActor->RenderTranslucentGeometry(ren); + myEdgeActor->RenderVolumetricGeometry(ren); break; case Points: myPointsActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - myPointsActor->RenderTranslucentGeometry(ren); + myPointsActor->RenderVolumetricGeometry(ren); break; default: mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); - mySurfaceActor->RenderTranslucentGeometry(ren); + mySurfaceActor->RenderVolumetricGeometry(ren); } return 1; } + //---------------------------------------------------------------------------- unsigned long int VISU_ScalarMapAct diff -aur VISU_SRC_5.1.2.old/src/OBJECT/VISU_ScalarMapAct.h VISU_SRC_5.1.2/src/OBJECT/VISU_ScalarMapAct.h --- VISU_SRC_5.1.2.old/src/OBJECT/VISU_ScalarMapAct.h 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/OBJECT/VISU_ScalarMapAct.h 2009-09-22 23:03:33.000000000 +0200 @@ -133,7 +133,13 @@ virtual int - RenderTranslucentGeometry(vtkViewport *ren); + HasTranslucentPolygonalGeometry(); + virtual + int + RenderTranslucentPolygonalGeometry(vtkViewport *ren); + virtual + int + RenderVolumetricGeometry(vtkViewport *ren); virtual void diff -aur VISU_SRC_5.1.2.old/src/PIPELINE/VISU_DeformedShapeAndScalarMapPL.cxx VISU_SRC_5.1.2/src/PIPELINE/VISU_DeformedShapeAndScalarMapPL.cxx --- VISU_SRC_5.1.2.old/src/PIPELINE/VISU_DeformedShapeAndScalarMapPL.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/PIPELINE/VISU_DeformedShapeAndScalarMapPL.cxx 2009-09-22 20:07:47.000000000 +0200 @@ -143,7 +143,7 @@ myCellDataToPointData, GetMergedInput()); - myScalars = GetMergedInput(); + myScalars = (vtkUnstructuredGrid *) GetMergedInput(); UpdateScalars(); @@ -258,7 +258,7 @@ if(GetScalars() == theScalars) return; - myScalars = theScalars; + myScalars = (vtkUnstructuredGrid *) theScalars; UpdateScalars(); } diff -aur VISU_SRC_5.1.2.old/src/PIPELINE/VISU_XYPlotActor.cxx VISU_SRC_5.1.2/src/PIPELINE/VISU_XYPlotActor.cxx --- VISU_SRC_5.1.2.old/src/PIPELINE/VISU_XYPlotActor.cxx 2009-09-22 19:42:26.000000000 +0200 +++ VISU_SRC_5.1.2/src/PIPELINE/VISU_XYPlotActor.cxx 2009-09-22 20:07:47.000000000 +0200 @@ -747,11 +747,12 @@ this->TitleTextProperty); } - vtkAxisActor2D::SetFontSize(viewport, - this->TitleMapper, - size, - 1.0, - stringSize); +// vtkAxisActor2D::SetMultipleFontSize(viewport, +// &(this->TitleMapper), +// 1, +// size, +// 1.0, +// stringSize); this->TitleActor->GetPositionCoordinate()->SetValue( pos[0] + 0.5 * (pos2[0] - pos[0]) - stringSize[0] / 2.0, @@ -1715,13 +1716,13 @@ // Estimate the padding around the X and Y axes tprop->ShallowCopy(axisX->GetTitleTextProperty()); textMapper->SetInput(axisX->GetTitle()); - vtkAxisActor2D::SetFontSize( - viewport, textMapper, size, fontFactorX, titleSizeX); +// vtkAxisActor2D::SetMultipleFontSize( +// viewport, &textMapper, 1, size, fontFactorX, titleSizeX); tprop->ShallowCopy(axisY->GetTitleTextProperty()); textMapper->SetInput(axisY->GetTitle()); - vtkAxisActor2D::SetFontSize( - viewport, textMapper, size, fontFactorY, titleSizeY); +// vtkAxisActor2D::SetMultipleFontSize( +// viewport, &textMapper, 1, size, fontFactorY, titleSizeY); // At this point the thing to do would be to actually ask the Y axis // actor to return the largest label. @@ -1730,16 +1731,16 @@ sprintf(str2, axisY->GetLabelFormat(), axisY->GetAdjustedRange()[1]); tprop->ShallowCopy(axisY->GetLabelTextProperty()); textMapper->SetInput(strlen(str1) > strlen(str2) ? str1 : str2); - vtkAxisActor2D::SetFontSize( - viewport, textMapper, size, labelFactorY * fontFactorY, labelSizeY); +// vtkAxisActor2D::SetMultipleFontSize( +// viewport, &textMapper, 1, size, labelFactorY * fontFactorY, labelSizeY); // We do only care of the height of the label in the X axis, so let's // use the min for example sprintf(str1, axisX->GetLabelFormat(), axisX->GetAdjustedRange()[0]); tprop->ShallowCopy(axisX->GetLabelTextProperty()); textMapper->SetInput(str1); - vtkAxisActor2D::SetFontSize( - viewport, textMapper, size, labelFactorX * fontFactorX, labelSizeX); +// vtkAxisActor2D::SetMultipleFontSize( +// viewport, &textMapper, 1, size, labelFactorX * fontFactorX, labelSizeX); tickOffsetX = axisX->GetTickOffset(); tickOffsetY = axisY->GetTickOffset();