347 auto cr=vtkDoubleArray::SafeDownCast(DATA::SafeDownCast(
data_producer->GetOutputDataObject(0))->GetCellData()->GetAbstractArray(
"cellregions"));
349 auto scalar = vtkSmartPointer<vtkAssignAttribute>::New();
352 scalar->Assign(
"cellregions",vtkDataSetAttributes::SCALARS,vtkAssignAttribute::CELL_DATA);
356 cell_lut->SetTableRange(range[0],range[1]);
365 auto transgeometry=vtkSmartPointer<vtkTransformFilter>::New();
370 transgeometry->SetInputConnection(scalar->GetOutputPort());
372 transgeometry->SetInputConnection(
data_producer->GetOutputPort());
377 cutgeometry->SetInputConnection(transgeometry->GetOutputPort());
379 auto cutpolydata=vtkSmartPointer<vtkGeometryFilter>::New();
380 cutpolydata->SetInputConnection(
cutgeometry->GetOutputPort());
382 auto cells = vtkSmartPointer<vtkPolyDataMapper>::New();
383 cells->SetInputConnection(cutpolydata->GetOutputPort());
387 cells->UseLookupTableScalarRangeOn();
391 cells->ScalarVisibilityOff();
392 #ifdef VTK_HAS_MAPPER_IMMEDIATE_RENDERING_ON 393 cells->ImmediateModeRenderingOn();
395 cellplot = vtkSmartPointer<vtkActor>::New();
398 cellplot->GetProperty()->SetColor(0.9,0.9,0.9);
414 auto celledges = vtkSmartPointer<vtkPolyDataMapper>::New();
415 celledges->SetInputConnection(cutpolydata->GetOutputPort());
416 celledges->ScalarVisibilityOff();
417 #ifdef VTK_HAS_MAPPER_IMMEDIATE_RENDERING_ON 418 celledges->ImmediateModeRenderingOn();
420 auto celledgeplot = vtkSmartPointer<vtkActor>::New();
421 celledgeplot->SetMapper(celledges);
422 celledgeplot->GetProperty()->SetColor(0,0,0);
423 celledgeplot->GetProperty()->SetRepresentationToWireframe();
430 cbar->SetLabelFormat(
" %-2.0f ");
431 cbar->SetNumberOfLabels((
int)(range[1]-range[0]+1));
432 cbar->SetTitle(
"c ");
441 auto bcr=vtkDoubleArray::SafeDownCast(boundary_data->GetCellData()->GetAbstractArray(
"boundarycellregions"));
445 auto bscalar = vtkSmartPointer<vtkAssignAttribute>::New();
446 bscalar->Assign(
"boundarycellregions",vtkDataSetAttributes::SCALARS,vtkAssignAttribute::CELL_DATA);
447 bscalar->SetInputDataObject(boundary_data);
448 bcr->GetRange(brange);
450 bface_lut->SetTableRange(brange[0],brange[1]);
452 auto bgeometry=vtkSmartPointer<FILTER>::New();
453 bgeometry->SetInputConnection(bscalar->GetOutputPort());
455 auto transbgeometry=vtkSmartPointer<vtkTransformPolyDataFilter>::New();
456 transbgeometry->SetInputConnection(bgeometry->GetOutputPort());
460 bcutgeometry->SetInputConnection(transbgeometry->GetOutputPort());
462 auto bcutpolydata=vtkSmartPointer<vtkGeometryFilter>::New();
463 bcutpolydata->SetInputConnection(
bcutgeometry->GetOutputPort());
467 auto bcells = vtkSmartPointer<vtkPolyDataMapper>::New();
468 bcells->SetInputConnection(bcutpolydata->GetOutputPort());
470 bcells->UseLookupTableScalarRangeOn();
472 bcells->ScalarVisibilityOn();
473 #ifdef VTK_HAS_MAPPER_IMMEDIATE_RENDERING_ON 474 bcells->ImmediateModeRenderingOn();
476 bcellplot = vtkSmartPointer<vtkActor>::New();
481 auto bedges= vtkSmartPointer<vtkExtractEdges>::New();
482 bedges->SetInputConnection(
bcutgeometry->GetOutputPort());
483 auto bemapper = vtkSmartPointer<vtkPolyDataMapper>::New();
484 bemapper->SetInputConnection(bedges->GetOutputPort());
485 bemapper->ScalarVisibilityOff();
486 bedgeplot = vtkSmartPointer<vtkActor>::New();
487 bedgeplot->GetProperty()->SetColor(0,0,0);
493 bcbar->SetTitle(
"b ");
494 bcbar->SetLabelFormat(
" %-2.0f ");
495 bcbar->SetNumberOfLabels((
int)(brange[1]-brange[0]+1));
vtkSmartPointer< vtkActor > bcellplot
vtkSmartPointer< vtkExtractGeometry > cutgeometry
vtkSmartPointer< vtkActor > bedgeplot
vtkSmartPointer< vtkActor > cellplot
vtkSmartPointer< vtkExtractGeometry > bcutgeometry
vtkSmartPointer< vtkScalarBarActor > BuildColorBar(vtkSmartPointer< vtkPolyDataMapper > mapper, int irank=0)