File: itkNumericTraits.wrap

package info (click to toggle)
insighttoolkit4 4.13.3withdata-dfsg2-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 491,256 kB
  • sloc: cpp: 557,600; ansic: 180,546; fortran: 34,788; python: 16,572; sh: 2,187; lisp: 2,070; tcl: 993; java: 362; perl: 200; makefile: 133; csh: 81; pascal: 69; xml: 19; ruby: 10
file content (95 lines) | stat: -rw-r--r-- 3,420 bytes parent folder | download | duplicates (4)
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()