Merge branch 'datamodel-design' of public.kitware.com:vtkm into datamodel-design

This commit is contained in:
Dave Pugmire 2015-05-14 12:23:33 -04:00
commit 312f026e4c
3 changed files with 15 additions and 9 deletions

@ -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