plaqueinterfacedll.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #include "PlaqueInterfaceDLL.h"
  2. #include "PlaqueInterface.h"
  3. #include "CPlaqueResult.h"
  4. #include "PlaqueResult.h"
  5. #include "point.h"
  6. #include <vector>
  7. bool plaque::initializeFromFile( const char* fileName, double mmPerPixelX, double mmPerPixelY )
  8. {
  9. return PlaqueInterface::getInstance().initialize( fileName, mmPerPixelX, mmPerPixelY );
  10. }
  11. bool plaque::initializeFromRaw( const char* pixelArray, int width, int height, int bitsPerPixel, bool upsideDown, double mmPerPixelX, double mmPerPixelY )
  12. {
  13. return PlaqueInterface::getInstance().initialize( pixelArray, width, height, bitsPerPixel, upsideDown, mmPerPixelX, mmPerPixelY );
  14. }
  15. bool plaque::OnLButtonUp( int x, int y, plaque::PlaqueResult* result )
  16. {
  17. if ( !result )
  18. {
  19. return false;
  20. }
  21. CPlaqueResult plaque_result;
  22. int status = ((PlaqueInterface::getInstance().OnLButtonUp( x, y, &plaque_result )) == 1);
  23. status = plaque_result.fill( result);
  24. return (status == 1);
  25. }
  26. int plaque::computePlaque( int x, int y, int nbPts, unsigned char *points, plaque::PlaqueResult* result, int seuil1, int seuil2 )
  27. {
  28. if ( !result )
  29. {
  30. return 10;
  31. }
  32. CPlaqueResult plaque_result;
  33. int status = PlaqueInterface::getInstance().computePlaque( x, y, nbPts, points, &plaque_result, seuil1, seuil2 );
  34. plaque_result.fill( result);
  35. return status;
  36. }
  37. float plaque::getDistanceToFirstPoint( int x, int y, int x0, int y0 )
  38. {
  39. return PlaqueInterface::getInstance().getDistanceToFirstPoint( x, y, x0, y0 );
  40. }
  41. int plaque::fonctionDebug( plaque::PlaqueResult* result )
  42. {
  43. int status;
  44. if ( !result )
  45. {
  46. return 0;
  47. }
  48. CPlaqueResult plaque_result;
  49. status = PlaqueInterface::getInstance().fonctionDebug( &plaque_result );
  50. status = plaque_result.fill( result);
  51. return status;
  52. }
  53. int plaque::CalculerPlaqueManuelle( int nbPts, unsigned char *points, plaque::PlaqueResult* result )
  54. {
  55. int status;
  56. if ( !result )
  57. {
  58. return 0;
  59. }
  60. CPlaqueResult plaque_result;
  61. status = PlaqueInterface::getInstance().CalculerPlaqueManuelle( nbPts, points, &plaque_result );
  62. status = plaque_result.fill2( result);
  63. return status;
  64. }
  65. int plaque::getImageWidth()
  66. {
  67. return PlaqueInterface::getInstance().getImageWidth();
  68. }
  69. int plaque::getImageHeight()
  70. {
  71. return PlaqueInterface::getInstance().getImageHeight();
  72. }
  73. int plaque::getImageBitsPerPixel()
  74. {
  75. return PlaqueInterface::getInstance().getImageBitsPerPixel();
  76. }
  77. char* plaque::getPixelArray()
  78. {
  79. return PlaqueInterface::getInstance().getPixelArray();
  80. }