kamera.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef KAMERA_H
  2. #define KAMERA_H
  3. #include "frame.h"
  4. #include <QList>
  5. #include "mask.h"
  6. #include <QString>
  7. #include "frametree.h"
  8. class Kamera : public FrameTreeNode
  9. {
  10. private:
  11. int ref; // reference Counter
  12. QList< Frame* > frames; // Liste mit Bildern
  13. Mask m; // Die Maske der Kamera
  14. QString name; // Der Name der Kamera)
  15. public:
  16. Kamera( QString name, QString maskPath, int index );
  17. ~Kamera();
  18. // Gibt 1 zurück, falls keine Objekte ohne ID existieren und auf keinem Bild eine ID mehrfach vergeben wurde
  19. bool isCorrectAnnotated() const;
  20. // Gibt this zurück
  21. void *getNodeObject() const override;
  22. // gibt die Anzahl der Bilder zurück
  23. int getChildCount() const override;
  24. // Gibt das Bild mit Index index zurück
  25. Frame *getFrame( int index ) const;
  26. // fügt der Kamera das Bild f hinzu
  27. void addFrame( Frame *f );
  28. // Wendet die Maske der Kamera auf alle Bilder an
  29. void applyMask();
  30. // Gibt den Namen der Kamera zurück
  31. QString getName() const;
  32. // Gibt die Maske der Kamera zurück
  33. Mask *getMask() const;
  34. // Speichert die Maske der Kamera und erzeugt die Bilder in JPEG Images
  35. void saveMask();
  36. // Erhöht den Reference Counter um 1
  37. void refNew();
  38. // Verringert den Reference Counter um 1 (bei 0 löscht sich das Objekt selbst)
  39. void refRelease();
  40. };
  41. #endif // KAMERA_H