24 #ifndef ASLVTKCASTERS_H
25 #define ASLVTKCASTERS_H
30 #include <vtkSmartPointer.h>
47 typedef std::shared_ptr<ElementBase>
Element;
62 unsigned int save = 0,
63 const std::string &name =
"");
69 const std::string &name =
"");
76 const std::string &name =
"");
81 const std::string &name);
90 const std::string &name =
"");
93 const std::string &name =
"");
96 vtkSmartPointer<vtkDataArray> vtkData);
99 const std::string &name,
100 vtkSmartPointer<vtkImageData> vtkData);
102 vtkSmartPointer<vtkImageData>
castVTKData(
const Block & b);
104 vtkSmartPointer<vtkImageData>
castVTKData(
double *d,
106 unsigned int save = 0,
107 const std::string &name =
"");
109 vtkSmartPointer<vtkImageData>
castVTKData(
double *d1,
112 const std::string &name =
"");
114 vtkSmartPointer<vtkImageData>
castVTKData(
double *d1,
118 const std::string &name =
"");
120 void putToVTKData(
double *d, vtkSmartPointer<vtkImageData> target);
121 void putToVTKData(
double *d1,
double *d2, vtkSmartPointer<vtkImageData> target);
122 void putToVTKData(
double *d1,
double *d2,
double *d3, vtkSmartPointer<vtkImageData> target);
125 vtkSmartPointer<vtkImageData>
castVTKData(
const AbstractData & d,
126 const std::vector<std::string> &names = std::vector<std::string>(0));
129 unsigned int arrayNum = 0,
132 std::shared_ptr<Block>
makeBlock(vtkSmartPointer<vtkImageData> image);
134 template<
typename T>
inline vtkSmartPointer<vtkDataArray>
castVTKDataArray(std::shared_ptr<T> d,
136 const std::string &name =
"")
141 vtkSmartPointer<vtkImageData>
inline castVTKData(std::shared_ptr<double> d,
143 const std::string &name =
"")
149 template<
typename T>
inline vtkSmartPointer<vtkDataArray>
castVTKDataArray(std::vector<T> & d,
151 const std::string &name =
"")
157 vtkSmartPointer<vtkImageData>
inline castVTKData(std::vector<double> & d,
159 const std::string &name =
"")
165 template <
typename T> AVec<T>
castVTKVector(AVec<T> a, T fill = 0);
181 #endif // ASLVTKCASTERS_H