Set boundary cells for simplex grids.
396 this->
boundary_data=vtkSmartPointer<vtkUnstructuredGrid>::New();
398 auto budata=vtkUnstructuredGrid::SafeDownCast(this->
boundary_data);
401 auto bgridpoints = vtkSmartPointer<vtkPoints>::New();
402 budata->SetPoints(bgridpoints);
404 auto udata=vtkUnstructuredGrid::SafeDownCast(this->
data);
405 auto pdata=udata->GetPoints();
407 int np=pdata->GetNumberOfPoints();
408 std::vector<int>pmask(np);
409 for (
size_t i=0;i<pmask.size(); i++)
417 for (
int icell=0;icell<cells.size();icell+=this->
spacedim)
419 for (
int id=0;
id<this->
spacedim;
id++)
421 if (pmask[cells[icell+
id]]==-1)
423 pmask[cells[icell+id]]=ip++;
425 pdata->GetPoint(cells[icell+
id],point);
426 bgridpoints->InsertNextPoint(point[0],point[1],point[2]);
430 if (this->spacedim==2)
432 vtkIdType c[2]={pmask[cells[icell+0]],pmask[cells[icell+1]]};
433 budata->InsertNextCell(VTK_LINE,2,c);
437 vtkIdType c[3]={pmask[cells[icell+0]],pmask[cells[icell+1]],pmask[cells[icell+2]]};
438 budata->InsertNextCell(VTK_TRIANGLE,3,c);
vtkSmartPointer< vtkDataSet > data
vtkSmartPointer< vtkDataSet > boundary_data