}
if ( !myIsContour ) // surface prs
{
- myWarpScalar->SetInput(aPolyData);
+ if(aPolyData->GetCellData()->GetNumberOfArrays()) {
+ myCellDataToPointData->SetInput(aPolyData);
+ myCellDataToPointData->PassCellDataOn();
+ myWarpScalar->SetInput(myCellDataToPointData->GetPolyDataOutput());
+ }else
+ myWarpScalar->SetInput(aPolyData);
}
else // contour prs
{
{
VISU_ScalarMapPL::SetMapScale(theMapScale);
+ if ( myIsContour ) {
+ float aRange[2];
+ GetSourceRange(aRange);
+ float aNewRange[] = { aRange[1] - theMapScale*(aRange[1]-aRange[0]), aRange[1] };
+ myContourFilter->GenerateValues(GetNumberOfContours(),aNewRange);
+ }
myWarpScalar->SetScaleFactor(myScaleFactor*theMapScale);
+
Modified();
}