Go to the documentation of this file.
18 #ifndef viskores_cont_arg_TransportTagTopologyFieldIn_h
19 #define viskores_cont_arg_TransportTagTopologyFieldIn_h
43 template <
typename TopologyElementTag>
81 template <
typename TopologyElementTag,
typename ContObjectType,
typename Device>
89 using ExecObjectType = decltype(std::declval<ContObjectType>().PrepareForInput(
91 std::declval<viskores::cont::Token&>()));
100 if (
object.GetNumberOfValues() != detail::TopologyDomainSize(inputDomain, TopologyElementTag()))
105 return object.PrepareForInput(Device(), token);
112 #endif //viskores_cont_arg_TransportTagTopologyFieldIn_h
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:32
Class for transporting from the control to the execution environment.
Definition: Transport.h:46
#define VISKORES_IS_ARRAY_HANDLE(T)
Checks that the given type is a viskores::cont::ArrayHandle.
Definition: ArrayHandle.h:145
virtual viskores::Id GetNumberOfFaces() const =0
A tag used to identify the edge elements in a topology.
Definition: TopologyElementTag.h:52
ExecObjectType operator()(const ContObjectType &object, const viskores::cont::CellSet &inputDomain, viskores::Id, viskores::Id, viskores::cont::Token &token) const
Definition: TransportTagTopologyFieldIn.h:94
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:42
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
virtual viskores::Id GetNumberOfCells() const =0
Get the number of cells in the topology.
#define VISKORES_CONT
Definition: ExportMacros.h:65
Groups connected points that have the same field value.
Definition: Atomic.h:27
virtual viskores::Id GetNumberOfEdges() const =0
A tag used to identify the face elements in a topology.
Definition: TopologyElementTag.h:62
decltype(std::declval< ContObjectType >().PrepareForInput(Device(), std::declval< viskores::cont::Token & >())) ExecObjectType
Definition: TransportTagTopologyFieldIn.h:91
Transport tag for input arrays in topology maps.
Definition: TransportTagTopologyFieldIn.h:44
This class is thrown when a Viskores function or method encounters an invalid value that inhibits pro...
Definition: ErrorBadValue.h:33
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:43
Defines the topological structure of the data in a DataSet.
Definition: CellSet.h:36
virtual viskores::Id GetNumberOfPoints() const =0
Get the number of points in the topology.