Merge branch 'datamodel-design' of public.kitware.com:vtkm into datamodel-design
This commit is contained in:
commit
312f026e4c
@ -23,6 +23,8 @@
|
||||
#include <vtkm/exec/arg/AspectTagDefault.h>
|
||||
#include <vtkm/exec/arg/Fetch.h>
|
||||
|
||||
#include <boost/type_traits.hpp>
|
||||
|
||||
namespace vtkm {
|
||||
namespace exec {
|
||||
namespace arg {
|
||||
@ -44,16 +46,18 @@ struct Fetch<
|
||||
{
|
||||
static const vtkm::IdComponent InputDomainIndex =
|
||||
Invocation::InputDomainIndex;
|
||||
typedef typename Invocation::ControlInterface::template
|
||||
|
||||
typedef typename Invocation::ControlInterface::template
|
||||
ParameterType<InputDomainIndex>::type ControlSignatureTag;
|
||||
|
||||
static const vtkm::IdComponent ITEM_TUPLE_LENGTH =
|
||||
ControlSignatureTag::ITEM_TUPLE_LENGTH;
|
||||
|
||||
typedef typename Invocation::ParameterInterface::
|
||||
template ParameterType<ParameterIndex>::type ExecObjectType;
|
||||
|
||||
typedef vtkm::Vec<typename ExecObjectType::ValueType,
|
||||
ITEM_TUPLE_LENGTH> ValueType;
|
||||
typedef boost::remove_const<typename ExecObjectType::ValueType> NonConstType;
|
||||
typedef vtkm::Vec< typename NonConstType::type, ITEM_TUPLE_LENGTH> ValueType;
|
||||
|
||||
VTKM_EXEC_EXPORT
|
||||
ValueType Load(vtkm::Id index, const Invocation &invocation) const
|
||||
@ -66,7 +70,7 @@ struct Fetch<
|
||||
|
||||
|
||||
int nids = topology.GetNumberOfIndices(index);
|
||||
|
||||
|
||||
vtkm::Vec<vtkm::Id,ITEM_TUPLE_LENGTH> ids;
|
||||
topology.GetIndices(index,ids);
|
||||
|
||||
|
@ -45,6 +45,9 @@ struct TopologyIdCount : vtkm::exec::arg::ExecutionSignatureTagBase
|
||||
template<typename FetchTag, typename Invocation>
|
||||
struct Fetch<FetchTag, vtkm::exec::arg::AspectTagTopologyIdCount, Invocation, 1>
|
||||
{
|
||||
static const vtkm::IdComponent InputDomainIndex =
|
||||
Invocation::InputDomainIndex;
|
||||
|
||||
typedef vtkm::Id ValueType;
|
||||
|
||||
VTKM_EXEC_EXPORT
|
||||
@ -53,8 +56,6 @@ struct Fetch<FetchTag, vtkm::exec::arg::AspectTagTopologyIdCount, Invocation, 1>
|
||||
// The parameter for the input domain is stored in the Invocation. (It is
|
||||
// also in the worklet, but it is safer to get it from the Invocation
|
||||
// in case some other dispatch operation had to modify it.)
|
||||
static const vtkm::IdComponent InputDomainIndex =
|
||||
Invocation::InputDomainIndex;
|
||||
|
||||
// ParameterInterface (from Invocation) is a FunctionInterface type
|
||||
// containing types for all objects passed to the Invoke method (with
|
||||
|
@ -50,10 +50,13 @@ struct Fetch<FetchTag,
|
||||
{
|
||||
static const vtkm::IdComponent InputDomainIndex =
|
||||
Invocation::InputDomainIndex;
|
||||
typedef typename Invocation::ControlInterface::template
|
||||
|
||||
typedef typename Invocation::ControlInterface::template
|
||||
ParameterType<InputDomainIndex>::type ControlSignatureTag;
|
||||
|
||||
static const vtkm::IdComponent ITEM_TUPLE_LENGTH =
|
||||
ControlSignatureTag::ITEM_TUPLE_LENGTH;
|
||||
|
||||
typedef vtkm::Vec<vtkm::Id,ITEM_TUPLE_LENGTH> ValueType;
|
||||
|
||||
VTKM_EXEC_EXPORT
|
||||
@ -62,8 +65,6 @@ struct Fetch<FetchTag,
|
||||
// The parameter for the input domain is stored in the Invocation. (It is
|
||||
// also in the worklet, but it is safer to get it from the Invocation
|
||||
// in case some other dispatch operation had to modify it.)
|
||||
static const vtkm::IdComponent InputDomainIndex =
|
||||
Invocation::InputDomainIndex;
|
||||
|
||||
// ParameterInterface (from Invocation) is a FunctionInterface type
|
||||
// containing types for all objects passed to the Invoke method (with
|
||||
|
Loading…
Reference in New Issue
Block a user