mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 21:33:55 +00:00
Use default float to build explicit data sets
The DataSetBuilderExplicitIterative class used to use an ArrayHandle of vtkm::Vec3f_32 values, which are always of type Float32. This can cause unexpected results when using double precision by default (i.e. when FloatDefault is set to Float64). Change that to give Float32 values by default.
This commit is contained in:
parent
7c94c82d32
commit
a0df206c93
@ -40,7 +40,7 @@ vtkm::cont::DataSet DataSetBuilderExplicitIterative::Create()
|
||||
}
|
||||
|
||||
VTKM_CONT
|
||||
vtkm::Id DataSetBuilderExplicitIterative::AddPoint(const vtkm::Vec3f_32& pt)
|
||||
vtkm::Id DataSetBuilderExplicitIterative::AddPoint(const vtkm::Vec3f& pt)
|
||||
{
|
||||
points.push_back(pt);
|
||||
vtkm::Id id = static_cast<vtkm::Id>(points.size());
|
||||
@ -49,9 +49,9 @@ vtkm::Id DataSetBuilderExplicitIterative::AddPoint(const vtkm::Vec3f_32& pt)
|
||||
}
|
||||
|
||||
VTKM_CONT
|
||||
vtkm::Id DataSetBuilderExplicitIterative::AddPoint(const vtkm::Float32& x,
|
||||
const vtkm::Float32& y,
|
||||
const vtkm::Float32& z)
|
||||
vtkm::Id DataSetBuilderExplicitIterative::AddPoint(const vtkm::FloatDefault& x,
|
||||
const vtkm::FloatDefault& y,
|
||||
const vtkm::FloatDefault& z)
|
||||
{
|
||||
points.push_back(vtkm::make_Vec(x, y, z));
|
||||
vtkm::Id id = static_cast<vtkm::Id>(points.size());
|
||||
|
@ -298,22 +298,25 @@ public:
|
||||
vtkm::cont::DataSet Create();
|
||||
|
||||
VTKM_CONT
|
||||
vtkm::Id AddPoint(const vtkm::Vec3f_32& pt);
|
||||
vtkm::Id AddPoint(const vtkm::Vec3f& pt);
|
||||
|
||||
VTKM_CONT
|
||||
vtkm::Id AddPoint(const vtkm::Float32& x, const vtkm::Float32& y, const vtkm::Float32& z = 0);
|
||||
vtkm::Id AddPoint(const vtkm::FloatDefault& x,
|
||||
const vtkm::FloatDefault& y,
|
||||
const vtkm::FloatDefault& z = 0);
|
||||
|
||||
template <typename T>
|
||||
VTKM_CONT vtkm::Id AddPoint(const T& x, const T& y, const T& z = 0)
|
||||
{
|
||||
return AddPoint(
|
||||
static_cast<vtkm::Float32>(x), static_cast<vtkm::Float32>(y), static_cast<vtkm::Float32>(z));
|
||||
return AddPoint(static_cast<vtkm::FloatDefault>(x),
|
||||
static_cast<vtkm::FloatDefault>(y),
|
||||
static_cast<vtkm::FloatDefault>(z));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
VTKM_CONT vtkm::Id AddPoint(const vtkm::Vec<T, 3>& pt)
|
||||
{
|
||||
return AddPoint(static_cast<vtkm::Vec3f_32>(pt));
|
||||
return AddPoint(static_cast<vtkm::Vec3f>(pt));
|
||||
}
|
||||
|
||||
//Define cells.
|
||||
@ -332,7 +335,7 @@ public:
|
||||
private:
|
||||
std::string coordNm;
|
||||
|
||||
std::vector<vtkm::Vec3f_32> points;
|
||||
std::vector<vtkm::Vec3f> points;
|
||||
std::vector<vtkm::UInt8> shapes;
|
||||
std::vector<vtkm::IdComponent> numIdx;
|
||||
std::vector<vtkm::Id> connectivity;
|
||||
|
Loading…
Reference in New Issue
Block a user