Go to the documentation of this file.
   10 #ifndef vtk_m_worklet_RemoveDegeneratePolygons_h 
   11 #define vtk_m_worklet_RemoveDegeneratePolygons_h 
   40     template <vtkm::IdComponent dimensionality, 
typename CellShapeTag, 
typename Po
intVecType>
 
   43                                           PointVecType&& pointIds)
 const 
   47       for (
vtkm::IdComponent localPointId = 0; localPointId < numPoints; ++localPointId)
 
   49         ++numUnduplicatedPoints;
 
   50         if (numUnduplicatedPoints >= dimensionality + 1)
 
   54         while (((localPointId < numPoints - 1) &&
 
   55                 (pointIds[localPointId] == pointIds[localPointId + 1])) ||
 
   56                ((localPointId == numPoints - 1) && (pointIds[localPointId] == pointIds[0])))
 
   65     template <
typename CellShapeTag, 
typename Po
intVecType>
 
   73     template <
typename CellShapeTag, 
typename Po
intVecType>
 
   76                                           PointVecType&& pointIds)
 
   78       const vtkm::IdComponent numFaces = vtkm::exec::CellFaceNumberOfFaces(shape, *
this);
 
   86           if (numValidFaces > 2)
 
   95     template <
typename CellShapeTag, 
typename Po
intIdVec>
 
  100         typename Traits::TopologicalDimensionsTag(), shape, pointIds);
 
  103     template <
typename Po
intIdVec>
 
  106       bool passCell = 
true;
 
  118   template <
typename CellSetType>
 
  123     dispatcher.Invoke(cellSet, passFlags);
 
  136   template <
typename CellSetList>
 
  140     cellSet.
CastAndCall([&](
const auto& concrete) { output = this->
Run(concrete); });
 
  153 #endif //vtk_m_worklet_RemoveDegeneratePolygons_h 
  
VTKM_CONT vtkm::Id GetNumberOfValues() const
Returns the number of entries in the array.
Definition: ArrayHandle.h:448
 
VTKM_EXEC bool operator()(CellShapeTag shape, const PointIdVec &pointIds) const
Definition: RemoveDegenerateCells.h:96
 
_1 InputDomain
Definition: RemoveDegenerateCells.h:38
 
#define VTKM_EXEC
Definition: ExportMacros.h:51
 
Groups connected points that have the same field value.
Definition: Atomic.h:19
 
VTKM_EXEC bool CheckForDimensionality(vtkm::CellTopologicalDimensionsTag< 0 >, CellShapeTag, PointVecType &&)
Definition: RemoveDegenerateCells.h:66
 
Definition: CastAndCall.h:38
 
VTKM_CONT vtkm::cont::ArrayHandleCounting< CountingValueType > make_ArrayHandleCounting(CountingValueType start, CountingValueType step, vtkm::Id length)
A convenience function for creating an ArrayHandleCounting.
Definition: ArrayHandleCounting.h:151
 
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
 
VTKM_EXEC bool CheckForDimensionality(vtkm::CellTopologicalDimensionsTag< dimensionality >, CellShapeTag, PointVecType &&pointIds) const
Definition: RemoveDegenerateCells.h:41
 
A CellSet of an uncertain type.
Definition: UncertainCellSet.h:38
 
IncidentElementIndices PointIndices
Definition: WorkletMapTopology.h:269
 
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
 
#define vtkmGenericCellShapeMacro(call)
A macro used in a switch statement to determine cell shape.
Definition: CellShape.h:230
 
Definition: RemoveDegenerateCells.h:32
 
_2(CellShape, PointIndices) ExecutionSignature
Definition: RemoveDegenerateCells.h:37
 
vtkm::CellTraits::TopologyDimensionType is typedef to this with the template parameter set to TOPOLOG...
Definition: CellTraits.h:23
 
vtkm::cont::ArrayHandle< vtkm::Id > GetValidCellIds() const
Definition: RemoveDegenerateCells.h:145
 
Dispatcher for worklets that inherit from WorkletMapTopology.
Definition: DispatcherMapTopology.h:31
 
Base class for worklets that map from Points to Cells.
Definition: WorkletMapTopology.h:255
 
vtkm::cont::ArrayHandle< vtkm::Id > ValidCellIds
Definition: RemoveDegenerateCells.h:148
 
static VTKM_CONT void CopyIf(vtkm::cont::DeviceAdapterId devId, const vtkm::cont::ArrayHandle< T, CIn > &input, const vtkm::cont::ArrayHandle< U, CStencil > &stencil, vtkm::cont::ArrayHandle< T, COut > &output)
Definition: Algorithm.h:435
 
Definition: RemoveDegenerateCells.h:34
 
VTKM_CONT void CastAndCall(Functor &&functor, Args &&... args) const
Call a functor using the underlying cell set type.
Definition: UncertainCellSet.h:81
 
VTKM_EXEC bool operator()(vtkm::CellShapeTagGeneric shape, PointIdVec &&pointIds) const
Definition: RemoveDegenerateCells.h:104
 
vtkm::cont::CellSetExplicit Run(const CellSetType &cellSet)
Definition: RemoveDegenerateCells.h:119
 
vtkm::cont::CellSetExplicit Run(const vtkm::cont::UncertainCellSet< CellSetList > &cellSet)
Definition: RemoveDegenerateCells.h:137
 
static VTKM_CONT void Run(const InCellSetType &inCellSet, vtkm::cont::CellSetExplicit< ShapeStorage, ConnectivityStorage, OffsetsStorage > &outCellSet, vtkm::Id numberOfPoints)
Definition: CellDeepCopy.h:68
 
vtkm::UInt8 Id
Definition: CellShape.h:160
 
Definition: CastAndCall.h:36
 
VTKM_EXEC bool CheckForDimensionality(vtkm::CellTopologicalDimensionsTag< 3 >, CellShapeTag shape, PointVecType &&pointIds)
Definition: RemoveDegenerateCells.h:74
 
void(CellSetIn, FieldOutCell) ControlSignature
Definition: RemoveDegenerateCells.h:36
 
A special cell shape tag that holds a cell shape that is not known at compile time.
Definition: CellShape.h:152
 
Information about a cell based on its tag.
Definition: CellTraits.h:46
 
An implicit array handle containing the its own indices.
Definition: ArrayHandleIndex.h:54
 
FieldOut FieldOutCell
Definition: WorkletMapTopology.h:263