1 //============================================================================= 2 // 3 // Copyright (c) Kitware, Inc. 4 // All rights reserved. 5 // See LICENSE.txt for details. 6 // 7 // This software is distributed WITHOUT ANY WARRANTY; without even 8 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 9 // PURPOSE. See the above copyright notice for more information. 10 // 11 // Copyright 2012 Sandia Corporation. 12 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 13 // the U.S. Government retains certain rights in this software. 14 // 15 //============================================================================= 16 17 #ifndef vtkmTags_h 18 #define vtkmTags_h 19 20 #include "vtkCellArray.h" 21 #include "vtkPoints.h" 22 #include "vtkAOSDataArrayTemplate.h" 23 #include "vtkSOADataArrayTemplate.h" 24 25 #include "vtkmConfig.h" //required for general vtkm setup 26 27 namespace tovtkm { 28 29 struct VTKM_ALWAYS_EXPORT vtkAOSArrayContainerTag 30 { 31 }; 32 33 struct VTKM_ALWAYS_EXPORT vtkSOAArrayContainerTag 34 { 35 }; 36 37 //this tag is used to construct points coordinates 38 struct VTKM_ALWAYS_EXPORT vtkCellArrayContainerTag 39 { 40 }; 41 42 template<typename T> struct VTKM_ALWAYS_EXPORT ArrayContainerTagType; 43 44 template<typename T> 45 struct VTKM_ALWAYS_EXPORT ArrayContainerTagType< vtkAOSDataArrayTemplate< T > > 46 { 47 typedef vtkAOSArrayContainerTag TagType; 48 }; 49 50 template<typename T> 51 struct VTKM_ALWAYS_EXPORT ArrayContainerTagType< vtkSOADataArrayTemplate< T > > 52 { 53 typedef vtkSOAArrayContainerTag TagType; 54 }; 55 56 57 } 58 59 #endif 60 // VTK-HeaderTest-Exclude: vtkmTags.h 61