From 0e1ade83a06d498848531e0908624c3a36e0cbca Mon Sep 17 00:00:00 2001 From: Abhishek Yenpure Date: Tue, 25 Jul 2023 13:22:00 -0700 Subject: [PATCH] Fixing linking issues for flow Analysis class --- vtkm/filter/flow/worklet/Analysis.cxx | 8 ++++++-- vtkm/filter/flow/worklet/Analysis.h | 18 +++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/vtkm/filter/flow/worklet/Analysis.cxx b/vtkm/filter/flow/worklet/Analysis.cxx index d3ce3e8de..698a7581e 100644 --- a/vtkm/filter/flow/worklet/Analysis.cxx +++ b/vtkm/filter/flow/worklet/Analysis.cxx @@ -9,6 +9,7 @@ // PURPOSE. See the above copyright notice for more information. // //============================================================================= +#define vtk_m_filter_flow_worklet_Analysis_cxx #include @@ -220,8 +221,11 @@ VTKM_CONT bool StreamlineAnalysis::MakeDataSet( return true; } +template class VTKM_ALWAYS_EXPORT NoAnalysis; +template class VTKM_ALWAYS_EXPORT NoAnalysis; +template class VTKM_ALWAYS_EXPORT StreamlineAnalysis; +template class VTKM_ALWAYS_EXPORT StreamlineAnalysis; + } // namespace flow } // namespace worklet } // namespace vtkm - -#include diff --git a/vtkm/filter/flow/worklet/Analysis.h b/vtkm/filter/flow/worklet/Analysis.h index f51162ced..d506afcae 100644 --- a/vtkm/filter/flow/worklet/Analysis.h +++ b/vtkm/filter/flow/worklet/Analysis.h @@ -13,6 +13,7 @@ #ifndef vtkm_worklet_particleadvection_analysis #define vtkm_worklet_particleadvection_analysis +#include #include #include #include @@ -26,7 +27,7 @@ namespace flow { template -class NoAnalysisExec +class VTKM_ALWAYS_EXPORT NoAnalysisExec { public: VTKM_EXEC_CONT @@ -51,7 +52,7 @@ public: }; template -class NoAnalysis : public vtkm::cont::ExecutionObjectBase +class VTKM_ALWAYS_EXPORT NoAnalysis : public vtkm::cont::ExecutionObjectBase { public: // Intended to store advected particles after Finalize @@ -95,7 +96,7 @@ public: }; template -class StreamlineAnalysisExec +class VTKM_ALWAYS_EXPORT StreamlineAnalysisExec { public: VTKM_EXEC_CONT @@ -161,7 +162,7 @@ private: }; template -class StreamlineAnalysis : public vtkm::cont::ExecutionObjectBase +class VTKM_ALWAYS_EXPORT StreamlineAnalysis : public vtkm::cont::ExecutionObjectBase { public: // Intended to store advected particles after Finalize @@ -231,7 +232,14 @@ private: vtkm::cont::ArrayHandle Validity; }; -} // namespace particleadvection +#ifndef vtk_m_filter_flow_worklet_Analysis_cxx +extern template class VTKM_ALWAYS_EXPORT NoAnalysis; +extern template class VTKM_ALWAYS_EXPORT NoAnalysis; +extern template class VTKM_ALWAYS_EXPORT StreamlineAnalysis; +extern template class VTKM_ALWAYS_EXPORT StreamlineAnalysis; +#endif //!vtk_m_filter_flow_worklet_Analysis_cxx + +} // namespace flow } // namespace worklet } // namespace vtkm