[asl] 18/177: Fix #2 #3
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Thu Aug 27 09:22:34 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch master
in repository asl.
commit 93e4eb37bfd65b28c72ccc59d3b012bb90986366
Author: AvtechScientific <AvtechScientific at users.noreply.github.com>
Date: Thu Jun 11 21:59:42 2015 +0300
Fix #2 #3
---
src/utilities/aslVTKCasters.cxx | 41 ++++++++++++++++++++++++++++++++++++-----
1 file changed, 36 insertions(+), 5 deletions(-)
diff --git a/src/utilities/aslVTKCasters.cxx b/src/utilities/aslVTKCasters.cxx
index 3c1b534..6a1b26f 100644
--- a/src/utilities/aslVTKCasters.cxx
+++ b/src/utilities/aslVTKCasters.cxx
@@ -20,7 +20,6 @@
*
*/
-
#include "aslVTKCasters.h"
#include <data/aslBlocks.h>
@@ -48,7 +47,7 @@ namespace asl
template <typename T> void combineArrays(T* d1, unsigned int size, T* dTarget, unsigned int nComponents=1);
template <typename T> void combineArrays(T* d1, T* d2, unsigned int size, T* dTarget,unsigned int nComponents=2);
template <typename T> void combineArrays(T* d1, T* d2, T* d3, unsigned int size, T* dTarget,unsigned int nComponents=3);
- template <typename TO, typename TI> TO* combineArrays(TI* d0, TI* d1, TI* d2, TI* d3, unsigned int size);
+ template <typename TO, typename TI> TO* combineArraysX(TI* d0, TI* d1, TI* d2, TI* d3, unsigned int size);
template <typename T> void combineArrays(T* d1,
unsigned int size,
@@ -137,7 +136,7 @@ namespace asl
BOOST_PP_SEQ_FOR_EACH(BOOST_TT_rep_expression, ~, BOOST_TT_acl_types)
#undef BOOST_TT_rep_expression
- template <typename TO, typename TI> TO* combineArrays(TI* d0, TI* d1, TI* d2, TI* d3, unsigned int size)
+ template <typename TO, typename TI> TO* combineArraysX(TI* d0, TI* d1, TI* d2, TI* d3, unsigned int size)
{
TO* d(new TO[size*4]);
for(unsigned int i(0); i < size; ++i)
@@ -150,7 +149,7 @@ namespace asl
return d;
}
- template vtkIdType* combineArrays<vtkIdType, unsigned int>(unsigned int* d0,
+ template vtkIdType* combineArraysX<vtkIdType, unsigned int>(unsigned int* d0,
unsigned int* d1,
unsigned int* d2,
unsigned int* d3,
@@ -291,7 +290,7 @@ namespace asl
vtkSmartPointer<vtkIdTypeArray> vtkArray(vtkSmartPointer<vtkIdTypeArray>::New());
vtkArray->SetName(name.c_str());
vtkArray->SetNumberOfComponents(1);
- vtkArray->SetArray(combineArrays<vtkIdType, unsigned int>(d0, d1, d2, d3, np), 4 * np, 0);
+ vtkArray->SetArray(combineArraysX<vtkIdType, unsigned int>(d0, d1, d2, d3, np), 4 * np, 0);
return vtkArray;
}
@@ -322,6 +321,38 @@ namespace asl
return NULL;
}
+ void updateVTKDataArray(acl::Element source,
+ vtkSmartPointer<vtkDataArray> vtkData)
+ {
+ if (!isMemBlock(source))
+ errorMessage ("updateVTKDataArray(): provided element is not a MemBlock type");
+
+ if (source->getTypeID() == acl::TYPE_DOUBLE)
+ {
+ double* d((double*)vtkData->GetVoidPointer(0));
+ copy(source, d);
+ }
+ if (source->getTypeID() == acl::TYPE_FLOAT)
+ {
+ float* d((float*)vtkData->GetVoidPointer(0));
+ copy(source, d);
+ }
+ if (source->getTypeID() == acl::TYPE_INT)
+ {
+ int* d =((int*)vtkData->GetVoidPointer(0));
+ copy(source, d);
+ }
+ vtkData->Modified();
+ }
+
+ void updateVTKDataArray(acl::Element source,
+ const std::string &name,
+ vtkSmartPointer<vtkImageData> vtkData)
+ {
+ auto da(vtkData->GetPointData()->GetScalars(name.c_str()));
+ updateVTKDataArray(source, da);
+ }
+
vtkSmartPointer<vtkImageData> castVTKData(const Block & b)
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/asl.git
More information about the debian-science-commits
mailing list