Go to the documentation of this file.
10 #ifndef vtk_m_cont_CellSetExtrude_h
11 #define vtk_m_cont_CellSetExtrude_h
30 template <
typename VisitTopology,
typename Inc
identTopology>
31 struct CellSetExtrudeConnectivityChooser;
34 struct CellSetExtrudeConnectivityChooser<
vtkm::TopologyElementTagCell,
41 struct CellSetExtrudeConnectivityChooser<
vtkm::TopologyElementTagPoint,
70 vtkm::Id GetNumberOfCells()
const override;
72 vtkm::Id GetNumberOfPoints()
const override;
74 vtkm::Id GetNumberOfFaces()
const override;
76 vtkm::Id GetNumberOfEdges()
const override;
86 std::shared_ptr<CellSet> NewInstance()
const override;
87 void DeepCopy(
const CellSet* src)
override;
89 void PrintSummary(std::ostream& out)
const override;
90 void ReleaseResourcesExecution()
override;
94 return this->Connectivity;
103 template <vtkm::IdComponent NumIndices>
108 template <
typename VisitTopology,
typename Inc
identTopology>
109 using ExecConnectivityType =
110 typename detail::CellSetExtrudeConnectivityChooser<VisitTopology,
124 void BuildReverseConnectivity();
141 template <
typename T>
145 bool periodic =
true)
152 template <
typename T>
155 const std::vector<vtkm::Int32>& nextNode,
156 bool periodic =
true)
165 template <
typename T>
168 std::vector<vtkm::Int32>&& nextNode,
169 bool periodic =
true)
190 struct SerializableTypeString<
vtkm::cont::CellSetExtrude>
194 static std::string name =
"CS_Extrude";
205 struct Serialization<
vtkm::cont::CellSetExtrude>
211 static VTKM_CONT void save(BinaryBuffer& bb,
const Type& cs)
213 vtkmdiy::save(bb, cs.GetNumberOfPointsPerPlane());
214 vtkmdiy::save(bb, cs.GetNumberOfPlanes());
215 vtkmdiy::save(bb, cs.GetIsPeriodic());
216 vtkmdiy::save(bb, cs.GetConnectivityArray());
217 vtkmdiy::save(bb, cs.GetNextNodeArray());
234 cs = Type{ conn, numberOfPointsPerPlane, numberOfPlanes, nextNode, isPeriodic };
241 #endif // vtk_m_cont_CellSetExtrude.h
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
VTKM_CONT vtkm::cont::ArrayHandleBasic< T > make_ArrayHandle(const T *array, vtkm::Id numberOfValues, vtkm::CopyFlag copy)
A convenience function for creating an ArrayHandle from a standard C array.
Definition: ArrayHandleBasic.h:217
Definition: ConnectivityExtrude.h:95
Groups connected points that have the same field value.
Definition: Atomic.h:19
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto Get(const vtkm::Tuple< Ts... > &tuple) -> decltype(tuple.template Get< Index >())
Retrieve the object from a vtkm::Tuple at the given index.
Definition: Tuple.h:83
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
VTKM_CONT vtkm::Id GetNumberOfPlanes() const
Definition: ArrayHandleXGCCoordinates.h:314
vtkm::Int32 NumberOfPlanes
Definition: CellSetExtrude.h:130
vtkm::cont::ArrayHandle< vtkm::Int32 > RConnectivity
Definition: CellSetExtrude.h:135
VTKM_CONT vtkm::Id GetNumberOfPointsPerPlane() const
Definition: ArrayHandleXGCCoordinates.h:334
Definition: CellSetExtrude.h:49
Definition: Particle.h:331
bool IsPeriodic
Definition: CellSetExtrude.h:126
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC T load(const U &u, vtkm::Id v)
Definition: FetchTagArrayDirectIn.h:36
vtkm::cont::ArrayHandle< vtkm::Int32 > RCounts
Definition: CellSetExtrude.h:137
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:35
vtkm::cont::ArrayHandle< vtkm::Int32 > ROffsets
Definition: CellSetExtrude.h:136
VTKM_CONT vtkm::cont::ArrayHandleBasic< T > make_ArrayHandleMove(T *&array, vtkm::Id numberOfValues, vtkm::cont::internal::BufferInfo::Deleter deleter=internal::SimpleArrayDeleter< T >, vtkm::cont::internal::BufferInfo::Reallocater reallocater=internal::SimpleArrayReallocater< T >)
A convenience function to move a user-allocated array into an ArrayHandle.
Definition: ArrayHandleBasic.h:241
const vtkm::cont::ArrayHandle< vtkm::Int32 > & GetNextNodeArray() const
Definition: CellSetExtrude.h:99
vtkm::Int32 GetNumberOfPointsPerPlane() const
Definition: CellSetExtrude.h:97
#define VTKM_CONT
Definition: ExportMacros.h:57
bool GetIsPeriodic() const
Definition: CellSetExtrude.h:101
Definition: ConnectivityExtrude.h:26
uint8_t UInt8
Definition: Types.h:157
bool ReverseConnectivityBuilt
Definition: CellSetExtrude.h:134
vtkm::Int32 NumberOfCellsPerPlane
Definition: CellSetExtrude.h:129
Definition: DeviceAdapterTag.h:52
Definition: ArrayHandleXGCCoordinates.h:282
vtkm::cont::ArrayHandle< vtkm::Int32 > Connectivity
Definition: CellSetExtrude.h:131
int32_t Int32
Definition: Types.h:160
CellSetExtrude make_CellSetExtrude(const vtkm::cont::ArrayHandle< vtkm::Int32 > &conn, const vtkm::cont::ArrayHandleXGCCoordinates< T > &coords, const vtkm::cont::ArrayHandle< vtkm::Int32 > &nextNode, bool periodic=true)
Definition: CellSetExtrude.h:142
const vtkm::cont::ArrayHandle< vtkm::Int32 > & GetConnectivityArray() const
Definition: CellSetExtrude.h:92
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
typename detail::CellSetExtrudeConnectivityChooser< VisitTopology, IncidentTopology >::ExecConnectivityType ExecConnectivityType
Definition: CellSetExtrude.h:111
vtkm::cont::ArrayHandle< vtkm::Int32 > PrevNode
Definition: CellSetExtrude.h:138
vtkm::Int32 NumberOfPointsPerPlane
Definition: CellSetExtrude.h:128
vtkm::cont::ArrayHandle< vtkm::Int32 > NextNode
Definition: CellSetExtrude.h:132