//============================================================================ // Copyright (c) Kitware, Inc. // All rights reserved. // See LICENSE.txt for details. // // This software is distributed WITHOUT ANY WARRANTY; without even // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR // PURPOSE. See the above copyright notice for more information. //============================================================================ #ifndef vtk_m_cont_ParticleArrayCopy_h #define vtk_m_cont_ParticleArrayCopy_h #include #include #include namespace vtkm { namespace cont { /// \brief Copy fields in vtkm::Particle to standard types. /// /// Given an \c ArrayHandle of vtkm::Particle, this function copies the /// position field into an \c ArrayHandle of \c Vec3f objects. /// template VTKM_ALWAYS_EXPORT inline void ParticleArrayCopy( const vtkm::cont::ArrayHandle& inP, vtkm::cont::ArrayHandle& outPos, bool CopyTerminatedOnly = false); /// \brief Copy fields in vtkm::Particle to standard types. /// /// Given a std::vector of \c ArrayHandle of vtkm::Particle, this function copies the /// position field into an \c ArrayHandle of \c Vec3f objects. /// template VTKM_ALWAYS_EXPORT inline void ParticleArrayCopy( const std::vector>& inputs, vtkm::cont::ArrayHandle& outPos); /// \brief Copy all fields in vtkm::Particle to standard types. /// /// Given an \c ArrayHandle of vtkm::Particle, this function copies the /// position, ID, number of steps, status and time into a separate /// \c ArrayHandle. /// template VTKM_ALWAYS_EXPORT inline void ParticleArrayCopy( const vtkm::cont::ArrayHandle& inP, vtkm::cont::ArrayHandle& outPos, vtkm::cont::ArrayHandle& outID, vtkm::cont::ArrayHandle& outSteps, vtkm::cont::ArrayHandle& outStatus, vtkm::cont::ArrayHandle& outTime); } } // namespace vtkm::cont #ifndef vtk_m_cont_ParticleArrayCopy_hxx #include #endif //vtk_m_cont_ParticleArrayCopy_hxx #endif //vtk_m_cont_ParticleArrayCopy_h