RadarFX API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rfxCaptureProcess.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
8 #include <radarFxServer/export.h>
10 
12 
13 #include <makArchives/DtObserverStateRecord.h>
14 
15 #include <vrvUtil/DtWindowConfiguration.h>
16 #include <vrvUtil/DtSignalConnectionManager.h>
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtVideoStream;
22  class DtObserver;
23  class DtVideoFrameBuffer;
24  class DtCoordinateSystem;
25 }
26 
27 namespace makRadarFx
28 {
32  {
33  protected:
34 
36  enum ProcessStep {WAITING, CONFIGURE_OBSERVER, CONFIGURE_VIEWPORT, WAIT_TERRAIN, FRAME_CAPTURE, CONFIGURE_OBSERVER_WAIT_FRAME, WAIT_FRAME, FRAME_RECEIVED, END_REQUEST, END_ERROR};
37 
38  public:
40  DtCaptureProcess(makVrv::DtDe& de, DtImageRequest* msg);
41  virtual ~DtCaptureProcess();
42 
44  virtual void tick();
45 
47  virtual bool isDone();
48 
50  virtual void processFrame(makVrv::DtVideoFrameBuffer* frame) = 0;
51 
52  protected:
53 
57  {
58  makArchives::DtObserverStateRecord myObserverState;
59  makVrv::DtWindowConfiguration myWindowConfiguration;
60  bool myIsValid;
61  };
62 
65  {
67  virtual ~DtImageCaptureConfig();
68  std::string myRequestorId;
70 
74  DtTaitBryan myOwnshipOrientation;
75 
76  double mySystemTime;
77 
78  DtVector myTargetLocation;
79 
80  std::string mySensorName;
85  unsigned int myImageReturnMethod;
86  std::string myImageSavePath;
87  std::string myImageFilename;
89 
93  };
94 
95  protected:
96 
97  virtual void beginRequest();
98  virtual void configureViewport();
99  virtual void configureObserver();
100  virtual void waitTerrain();
101  virtual void installFrameCapture();
102  virtual void respondError(std::string errorMsg, DtImageError err) = 0;
103  virtual void endRequest();
104 
105  virtual void restoreDisplay();
106 
107  virtual void configureSensor(const std::string& sensorName) = 0;
108 
110  virtual std::string generateFilename(const std::string& path, const std::string& filename,
111  DtImageFormat format);
112 
114  virtual void slot_coordinateSystemChanged();
115 
116  protected:
117 
119 
120  makVrv::DtSignalConnectionManager myConnections;
121 
124  makVrv::DtCoordinateSystem* myCoordinateSystem = nullptr;
125 
127 
128  makVrv::DtVideoStream* myVideoStream;
129  makVrv::DtObserver* myObserver;
131 
132  double myWaitTime;
134  double myLastTime;
138  };
139 }

Document ID: 1.0
Copyright © 2015 VT MÄK Inc. All Rights Reserved (www.mak.com)