starting some field/dataset cleanup
This commit is contained in:
parent
ed66fde8ae
commit
68d2353e6c
@ -48,8 +48,9 @@ public:
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> array;
|
||||
vtkm::cont::DeviceAdapterAlgorithm<VTKM_DEFAULT_DEVICE_ADAPTER_TAG>::
|
||||
Copy(tmp, array);
|
||||
Fields.resize(Fields.size()+1);
|
||||
Fields[Fields.size()-1].SetData(array);
|
||||
|
||||
Field f("name", 1, Field::ASSOC_POINTS, array);
|
||||
Fields.push_back(f);
|
||||
}
|
||||
vtkm::cont::Field &GetField(int index)
|
||||
{
|
||||
|
@ -42,15 +42,10 @@ public:
|
||||
ASSOC_LOGICAL_DIM
|
||||
};
|
||||
|
||||
/// default constructor
|
||||
Field()
|
||||
{
|
||||
}
|
||||
|
||||
/// constructor for points / whole mesh
|
||||
template <typename T>
|
||||
Field(int o, Association a, ArrayHandle<T> &d)
|
||||
: order(o), association(a), data(d)
|
||||
Field(std::string n, int o, Association a, ArrayHandle<T> &d)
|
||||
: name(n), order(o), association(a), data(d)
|
||||
{
|
||||
VTKM_ASSERT_CONT(association == ASSOC_WHOLE_MESH ||
|
||||
association == ASSOC_POINTS);
|
||||
@ -59,8 +54,8 @@ public:
|
||||
|
||||
/// constructor for cell set associations
|
||||
template <typename T>
|
||||
Field(int o, Association a, std::string n, ArrayHandle<T> &d)
|
||||
: order(o), association(a), assoc_cellset_name(n), data(d)
|
||||
Field(std::string n, int o, Association a, std::string csn, ArrayHandle<T> &d)
|
||||
: name(n), order(o), association(a), assoc_cellset_name(csn), data(d)
|
||||
{
|
||||
VTKM_ASSERT_CONT(association == ASSOC_CELL_SET);
|
||||
SetData(d);
|
||||
@ -68,13 +63,18 @@ public:
|
||||
|
||||
/// constructor for logical dimension associations
|
||||
template <typename T>
|
||||
Field(int o, Association a, int l, ArrayHandle<T> &d)
|
||||
: order(o), association(a), assoc_logical_dim(l), data(d)
|
||||
Field(std::string n, int o, Association a, int l, ArrayHandle<T> &d)
|
||||
: name(n), order(o), association(a), assoc_logical_dim(l), data(d)
|
||||
{
|
||||
VTKM_ASSERT_CONT(association == ASSOC_LOGICAL_DIM);
|
||||
SetData(d);
|
||||
}
|
||||
|
||||
const std::string &GetName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
Association GetAssociation()
|
||||
{
|
||||
return association;
|
||||
@ -106,6 +106,14 @@ public:
|
||||
data = newdata;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void CopyData(T *ptr, int nvals)
|
||||
{
|
||||
vtkm::cont::ArrayHandle<T> tmp = vtkm::cont::make_ArrayHandle(ptr, nvals);
|
||||
vtkm::cont::DeviceAdapterAlgorithm<VTKM_DEFAULT_DEVICE_ADAPTER_TAG>::
|
||||
Copy(tmp, data);
|
||||
}
|
||||
|
||||
/*
|
||||
void CopyIntoData(vtkm::cont::ArrayHandle<vtkm::FloatDefault> &tmp)
|
||||
{
|
||||
@ -116,6 +124,8 @@ public:
|
||||
*/
|
||||
|
||||
private:
|
||||
std::string name; ///< only populate if assoc is cells
|
||||
|
||||
int order; ///< 0=(piecewise) constant, 1=linear, 2=quadratic
|
||||
Association association;
|
||||
std::string assoc_cellset_name; ///< only populate if assoc is cells
|
||||
|
Loading…
Reference in New Issue
Block a user