SapDynamicLut.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef _SAPDYNAMICLUT_H_
  2. #define _SAPDYNAMICLUT_H_
  3. // SapDynamicLut.h : header file
  4. //
  5. #include "SapClassBasicDef.h"
  6. //
  7. // SapDynamicLut class declaration
  8. //
  9. class SAPCLASSBASIC_CLASS SapDynamicLut : public SapManager
  10. {
  11. public:
  12. // Various constants
  13. enum MiscValues
  14. {
  15. InvalidDynamicLutNumber = -1,
  16. TrashBufferIndex = -1
  17. };
  18. public:
  19. // Constructor/Destructor
  20. SapDynamicLut(SapAcquisition *acq, SapTransfer *xfer, int numDynamicLut = 1);
  21. SapDynamicLut(const SapDynamicLut &dynamicLut);
  22. virtual ~SapDynamicLut();
  23. SapDynamicLut &operator= (const SapDynamicLut &dynamicLut);
  24. // Creation/destruction
  25. virtual BOOL Create();
  26. virtual BOOL Destroy();
  27. public:
  28. // Access to implementation
  29. SapAcquisition *GetAcquisition() const { return m_Acq; }
  30. SapTransfer *GetTransfer() const { return m_Xfer; }
  31. SapLut *GetLut(int lutIndex);
  32. BOOL IsEnabled() const { return m_IsEnabled; }
  33. int GetNumDynamicLut() const { return m_NumDynamicLut; }
  34. virtual BOOL SetAcquisition(SapAcquisition *acq);
  35. virtual BOOL SetTransfer(SapTransfer *xfer);
  36. virtual BOOL SetNumDynamicLut(int numDynamicLut);
  37. // Load/save LUTs from/to disk files
  38. virtual BOOL Load(int lutIndex, const char *fileName);
  39. virtual BOOL Save(int lutIndex, const char *fileName);
  40. // Associate a dynamic LUT with a destination index (usually a buffer)
  41. virtual BOOL SetDestDynamicLutIndex(int bufIndex, int lutIndex);
  42. // Execution control
  43. virtual BOOL Enable(BOOL enable = TRUE);
  44. protected:
  45. // Utility methods
  46. virtual void Construct(SapAcquisition *acq, SapTransfer *xfer, int numDynamicLut);
  47. virtual BOOL SetAcqDynamicLut(int lutIndex);
  48. virtual BOOL SetAllAcqDynamicLut();
  49. virtual BOOL ResetAllAcqDynamicLut();
  50. protected:
  51. SapAcquisition *m_Acq;
  52. SapTransfer *m_Xfer;
  53. SapLut **m_Lut;
  54. BOOL m_IsEnabled;
  55. int *m_DynamicLutNumbers; // Dynamic LUT numbers returned from acquisition device
  56. int m_NumDynamicLut;
  57. };
  58. #endif