ctkVTKHistogramTest1.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. // Qt includes
  2. #include <QCoreApplication>
  3. // CTKVTK includes
  4. #include "ctkVTKHistogram.h"
  5. // VTK includes
  6. #include <vtkSmartPointer.h>
  7. #include <vtkDataArray.h>
  8. // STD includes
  9. #include <cstdlib>
  10. #include <iostream>
  11. int ctkVTKHistogramTest1( int argc, char * argv [])
  12. {
  13. Q_UNUSED(argc);
  14. Q_UNUSED(argv);
  15. //---------------------------------------------------
  16. // test 1 : With default Histogram
  17. //---------------------------------------------------
  18. ctkVTKHistogram defaultHistogram;
  19. //------Test constructor---------------------------
  20. if (defaultHistogram.count() != 0
  21. || defaultHistogram.minValue() != 0
  22. || defaultHistogram.maxValue() != 0
  23. || defaultHistogram.component() != 0)
  24. {
  25. std::cerr << "Line : " << __LINE__
  26. << " - Problem with ctkVTKHistogram::ctkVTKHistogram "
  27. << defaultHistogram.count()
  28. << std::endl;
  29. return EXIT_FAILURE;
  30. }
  31. //-----Test setComponent---------------------------
  32. int newComponent = 1;
  33. defaultHistogram.setComponent(newComponent);
  34. if (defaultHistogram.component() != newComponent)
  35. {
  36. std::cerr << "Line : " << __LINE__
  37. << " - Problem with ctkVTKHistogram::setComponent "
  38. << defaultHistogram.component()
  39. << std::endl;
  40. return EXIT_FAILURE;
  41. }
  42. // All the following data array have only 1 component.
  43. defaultHistogram.setComponent(0);
  44. //------Test build--------------------------------
  45. defaultHistogram.build();
  46. //-----Test Range----------------------------------
  47. qreal minRange = 1;
  48. qreal maxRange = 2;
  49. defaultHistogram.range(minRange,maxRange);
  50. //------Test dataArray-----------------------------
  51. vtkSmartPointer<vtkDataArray> defaultDataArray;
  52. defaultDataArray = defaultHistogram.dataArray();
  53. //------Test setDataArray--------------------------
  54. int dataType = VTK_CHAR;
  55. vtkSmartPointer<vtkDataArray> newDataArray;
  56. newDataArray.TakeReference(vtkDataArray::CreateDataArray(dataType));
  57. defaultHistogram.setDataArray(newDataArray);
  58. if (defaultHistogram.dataArray() != newDataArray)
  59. {
  60. std::cerr << "Line : " << __LINE__
  61. << " - Problem with ctkVTKHistogram::setDataArray "
  62. << std::endl;
  63. return EXIT_FAILURE;
  64. }
  65. //------Test build---------------------------------
  66. defaultHistogram.build();
  67. dataType = VTK_INT;
  68. newDataArray.TakeReference(vtkDataArray::CreateDataArray(dataType));
  69. newDataArray->SetNumberOfComponents(1);
  70. newDataArray->InsertNextTuple1(50);
  71. newDataArray->InsertNextTuple1(143);
  72. newDataArray->InsertNextTuple1(210);
  73. newDataArray->InsertNextTuple1(210);
  74. defaultHistogram.setDataArray(newDataArray);
  75. if (defaultHistogram.dataArray() != newDataArray)
  76. {
  77. std::cerr << "Line : " << __LINE__
  78. << " - Problem with ctkVTKHistogram::setDataArray "
  79. << std::endl;
  80. return EXIT_FAILURE;
  81. }
  82. //------Test build---------------------------------
  83. defaultHistogram.build();
  84. dataType = VTK_FLOAT;
  85. newDataArray.TakeReference(vtkDataArray::CreateDataArray(dataType));
  86. defaultHistogram.setDataArray(newDataArray);
  87. if (defaultHistogram.dataArray() != newDataArray)
  88. {
  89. std::cerr << "Line : " << __LINE__
  90. << " - Problem with ctkVTKHistogram::setDataArray "
  91. << std::endl;
  92. return EXIT_FAILURE;
  93. }
  94. //------Test setNumberOfBins-----------------------
  95. defaultHistogram.setNumberOfBins(5);
  96. //-----Test Range----------------------------------
  97. defaultHistogram.range(minRange,maxRange);
  98. //------Test build---------------------------------
  99. defaultHistogram.build();
  100. //------Test value---------------------------------
  101. qreal defaultPos = 0.;
  102. defaultHistogram.value(defaultPos);
  103. //------Test ControlPoint--------------------------
  104. defaultHistogram.controlPoint(0);
  105. //------Test removeControlPoint--------------------
  106. /// Function NOT implemented
  107. defaultHistogram.removeControlPoint(0);
  108. return EXIT_SUCCESS;
  109. }