VTKFIG  0.20.20181114
Easy VTK based in situ visualization
template<class V >
void vtkfig::DataSet::SetBoundaryCellScalar ( const V &  f,
const std::string  name 
)
inline

Set data of a scalar function defined on the cells of the grid.

Template Parameters
VVector class counting from zero with member functions size() and operator[]. std::vector will work.
Parameters
fVector of function values
nameName of function

Definition at line 601 of file vtkfigDataSet.h.

602  {
603  assert(this->boundary_data!=NULL);
604  auto ncells=this->boundary_data->GetNumberOfCells();
605  assert(ncells==values.size());
606  vtkSmartPointer<vtkDoubleArray>gridvalues;
607 
608  if (this->boundary_data->GetPointData()->HasArray(name.c_str()))
609  gridvalues=vtkDoubleArray::SafeDownCast(this->boundary_data->GetPointData()->GetAbstractArray(name.c_str()));
610  else
611  {
612  gridvalues=vtkSmartPointer<vtkDoubleArray>::New();
613  gridvalues->SetNumberOfComponents(1);
614  gridvalues->SetNumberOfTuples(ncells);
615  gridvalues->SetName(name.c_str());
616  this->boundary_data->GetCellData()->AddArray(gridvalues);
617  }
618 
619 
620  for (int i=0;i<ncells; i++)
621  gridvalues->InsertComponent(i,0,values[i]);
622 
623  gridvalues->Modified();
624  }
vtkSmartPointer< vtkDataSet > boundary_data