MCPcopy Create free account
hub / github.com/Kitware/VTK / IsCellBoundary

Method IsCellBoundary

Common/DataModel/vtkUnstructuredGrid.cxx:1655–1692  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1653
1654//----------------------------------------------------------------------------
1655bool vtkUnstructuredGrid::IsCellBoundary(
1656 vtkIdType cellId, vtkIdType npts, const vtkIdType* pts, vtkIdType& neighborCellId)
1657{
1658 // Ensure that a valid neighborhood request is made.
1659 if (npts <= 0)
1660 {
1661 return false;
1662 }
1663
1664 // Ensure that cell links are available.
1665 if (!this->Links)
1666 {
1667 this->BuildLinks();
1668 }
1669
1670 // Get the links (cells that use each point) depending on the editable
1671 // state of this object.
1672 if (!this->Editable)
1673 {
1674 using CellLinksType = vtkStaticCellLinks;
1675 using TIsCellBoundary = IsCellBoundaryImpl<CellLinksType>;
1676 auto links = static_cast<CellLinksType*>(this->Links.Get());
1677 bool result;
1678 this->Connectivity->Dispatch(
1679 TIsCellBoundary{}, links, cellId, npts, pts, neighborCellId, result);
1680 return result;
1681 }
1682 else
1683 {
1684 using CellLinksType = vtkCellLinks;
1685 using TIsCellBoundary = IsCellBoundaryImpl<CellLinksType>;
1686 auto links = static_cast<CellLinksType*>(this->Links.Get());
1687 bool result;
1688 this->Connectivity->Dispatch(
1689 TIsCellBoundary{}, links, cellId, npts, pts, neighborCellId, result);
1690 return result;
1691 }
1692}
1693
1694//----------------------------------------------------------------------------
1695// Return the cells that use all of the ptIds provided. This is a set

Callers 2

IsCellBoundaryFunction · 0.80
MarkUGCellFunction · 0.80

Calls 3

BuildLinksMethod · 0.95
GetMethod · 0.45
DispatchMethod · 0.45

Tested by

no test coverage detected