1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
itk_wrap_include("itkNumericTraits.h")
itk_wrap_include("itkNumericTraitsRGBPixel.h")
itk_wrap_include("itkNumericTraitsRGBAPixel.h")
itk_wrap_include("itkNumericTraitsTensorPixel.h")
itk_wrap_include("itkNumericTraitsVariableLengthVectorPixel.h")
itk_wrap_include("itkNumericTraitsFixedArrayPixel.h")
itk_wrap_include("itkNumericTraitsVectorPixel.h")
itk_wrap_include("itkNumericTraitsCovariantVectorPixel.h")
if(WIN32 AND NOT MINGW)
itk_wrap_simple_class("std::_Num_base")
itk_wrap_simple_class("std::_Num_int_base")
itk_wrap_simple_class("std::_Num_float_base")
endif()
# the superclass
itk_wrap_class(std::numeric_limits EXPLICIT_SPECIALIZATION)
# the basic types
foreach(t UC US UI UL SC SS SI SL F D LD B)
itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
endforeach()
itk_end_wrap_class()
itk_wrap_class("itk::NumericTraits" EXPLICIT_SPECIALIZATION)
# the basic types
foreach(t UC US UI UL SC SS SI SL F D LD B)
itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
endforeach()
# foreach(t ${WRAP_ITK_COMPLEX_REAL})
# itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
# endforeach()
# the ITK types
# rgb, rgba
UNIQUE(rgbs "RGBUC;RGBAUC;RGBAF;${WRAP_ITK_RGB};${WRAP_ITK_RGBA}")
foreach(t ${WRAP_ITK_RGB} ${WRAP_ITK_RGBA})
itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
endforeach()
# covariant vector
foreach(d ${ITK_WRAP_VECTOR_COMPONENTS})
foreach(t ${WRAP_ITK_COV_VECTOR_REAL})
itk_wrap_template("${ITKM_${t}${d}}" "${ITKT_${t}${d}}")
endforeach()
endforeach()
# vector, as in WrapITKTypes.cmake
UNIQUE(vector_dims "1;${ITK_WRAP_VECTOR_COMPONENTS};6")
UNIQUE(vector_types "UC;F;D;${WRAP_ITK_SCALAR}")
foreach(d ${vector_dims})
foreach(t ${vector_types})
ADD_TEMPLATE("${ITKM_V${t}${d}}" "${ITKT_V${t}${d}}")
endforeach()
endforeach()
# fixed array, as in WrapITKTypes.cmake
set(dims ${ITK_WRAP_IMAGE_DIMS})
foreach(d ${ITK_WRAP_IMAGE_DIMS})
math(EXPR d2 "${d} * 2")
# for itk::SymmetricSecondRankTensor
math(EXPR d3 "${d} * (${d} + 1) / 2")
list(APPEND dims ${d2} ${d3})
endforeach()
UNIQUE(array_sizes "${dims};1;3;4;6")
# make sure that 1-D FixedArrays are wrapped. Also wrap for each selected
# image dimension.
# 3-D FixedArrays are required as superclass of rgb pixels
# TODO: Do we need fixed arrays for all of these types? For just the selected
# pixel types plus some few basic cases? Or just for a basic set of types?
foreach(d ${array_sizes})
ADD_TEMPLATE("${ITKM_FAD${d}}" "${ITKT_FAD${d}}")
ADD_TEMPLATE("${ITKM_FAF${d}}" "${ITKT_FAF${d}}")
ADD_TEMPLATE("${ITKM_FAUL${d}}" "${ITKT_FAUL${d}}")
ADD_TEMPLATE("${ITKM_FAUS${d}}" "${ITKT_FAUS${d}}")
ADD_TEMPLATE("${ITKM_FAUC${d}}" "${ITKT_FAUC${d}}")
ADD_TEMPLATE("${ITKM_FAUI${d}}" "${ITKT_FAUI${d}}")
ADD_TEMPLATE("${ITKM_FASL${d}}" "${ITKT_FASL${d}}")
ADD_TEMPLATE("${ITKM_FASS${d}}" "${ITKT_FASS${d}}")
ADD_TEMPLATE("${ITKM_FASC${d}}" "${ITKT_FASC${d}}")
# this one is not defined in itkNumerictTraitsFixedArrayPixel.h
# ADD_TEMPLATE("${ITKM_FAB${d}}" "${ITKT_FAB${d}}")
endforeach()
# variable length vector, as in WrapITKTypes.cmake
UNIQUE(wrap_image_types "${WRAP_ITK_SCALAR};UC")
foreach(type ${wrap_image_types})
ADD_TEMPLATE("${ITKM_VLV${type}}" "${ITKT_VLV${type}}")
endforeach(type)
itk_end_wrap_class()
|