VR-Vantage 3.1.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rfxCaptureProcess.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
8 #include <radarFxServer/export.h>
10 
12 
14 
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtVideoStream;
22  class DtObserver;
23  class DtVideoFrameBuffer;
24  class DtCoordinateSystem;
25  class DtOsgChannel;
26  class DtObserverMode;
27 }
28 
29 namespace makRadarFx
30 {
34  {
35  public:
36 
39  {
41  virtual ~DtImageCaptureConfig();
42  std::string myRequestorId;
44 
48  DtTaitBryan myOwnshipOrientation;
49 
50  double mySystemTime;
51 
52  DtVector myTargetLocation;
53 
54  std::string mySensorName;
59  unsigned int myImageReturnMethod;
60  std::string myImageSavePath;
61  std::string myImageFilename;
63 
67  };
68 
69  public:
72  virtual ~DtCaptureProcess();
73 
75  virtual void tick();
76 
78  virtual bool isDone();
79 
81  virtual void processFrame(makVrv::DtVideoFrameBuffer* frame) = 0;
82 
84  virtual DtImageCaptureConfig* captureConfiguration() const;
85 
86  protected:
87 
89  enum ProcessStep { WAITING, CONFIGURE_OBSERVER, CONFIGURE_VIEWPORT, WAIT_TERRAIN, FRAME_CAPTURE, CONFIGURE_OBSERVER_WAIT_FRAME, WAIT_FRAME, FRAME_RECEIVED, END_REQUEST, END_ERROR };
90 
94  {
97  bool myIsValid;
98  };
99 
100  protected:
101 
102  virtual void beginRequest();
103  virtual void configureViewport();
104  virtual void configureViewportHelper(const std::string& observerName, const makVrv::DtObserverMode& mode);
105  virtual void configureObserver();
106  virtual void waitTerrain();
107  virtual void installFrameCapture();
108  virtual void respondError(std::string errorMsg, DtImageError err) = 0;
109  virtual void endRequest();
110 
111  virtual void restoreDisplay();
112 
113  virtual void configureSensor(const std::string& sensorName) = 0;
114 
116  virtual std::string generateFilename(const std::string& path, const std::string& filename,
117  DtImageFormat format);
118 
121  virtual bool pagingComplete(makVrv::DtDe& de, makVrv::DtOsgChannel* osgChannel);
122 
124  virtual void slot_coordinateSystemChanged();
125 
126  protected:
127 
129 
131 
134  makVrv::DtCoordinateSystem* myCoordinateSystem = nullptr;
135 
137 
141 
142  double myWaitTime;
144  double myLastTime;
149  };
150 }
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by wi...
Definition: DtVideoStream.h:35
DtImageRequest defines a request for an image from the RadarFX Server.
Definition: rfxImageMessage.h:37
double mySystemTime
Definition: rfxCaptureProcess.h:50
DtTaitBryan myOwnshipOrientation
Definition: rfxCaptureProcess.h:48
std::string myImageFilename
Definition: rfxCaptureProcess.h:61
std::string myRequestorId
Definition: rfxCaptureProcess.h:42
bool myUseObserverOrientation
Definition: rfxCaptureProcess.h:46
bool mySingleChannelRaw
Definition: rfxCaptureProcess.h:62
bool myRestoreState
Definition: rfxCaptureProcess.h:66
DtImageRotation
Definition: rfxImageMessage.h:23
bool myTerrainTimeoutFlag
Definition: rfxCaptureProcess.h:146
A DtObserverSettingsRecord contains the state of an observer.
Definition: DtObserverStateRecord.h:20
DtImageDataType
Definition: rfxImageMessage.h:25
double myTerrainTimeout
Definition: rfxCaptureProcess.h:145
ProcessStep myProcessStep
Definition: rfxCaptureProcess.h:136
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:26
makVrv::DtSignalConnectionManager myConnections
Definition: rfxCaptureProcess.h:130
DtImageCaptureConfig * myCaptureConfig
Definition: rfxCaptureProcess.h:128
structure used by Capture processes to keep around backups of the observer state so they can reset th...
Definition: rfxCaptureProcess.h:93
unsigned int myImageReturnMethod
Definition: rfxCaptureProcess.h:59
std::string myImageSavePath
Definition: rfxCaptureProcess.h:60
DtImageError
Definition: rfxImageMessage.h:49
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:55
int myWaitFrameCount
Definition: rfxCaptureProcess.h:147
int myRequestId
Definition: rfxCaptureProcess.h:43
DtImageFormat
Definition: rfxImageMessage.h:22
DtTaitBryan myObserverOffsetOrientation
Definition: rfxCaptureProcess.h:65
DtImageFormat myImageFormat
Definition: rfxCaptureProcess.h:56
makVrv::DtWindowConfiguration myWindowConfiguration
Definition: rfxCaptureProcess.h:96
DtBaseProcess is the base class for all messages processes that can be sent between the server and th...
Definition: rfxBaseProcess.h:27
double myWaitTime
Definition: rfxCaptureProcess.h:142
A facade for a DtObserverObject.
Definition: DtObserver.h:37
DtObserverState * myOriginalState
Definition: rfxCaptureProcess.h:140
DtVector myObserverOffsetLocation
Definition: rfxCaptureProcess.h:64
DtVector myOwnshipLocation
Definition: rfxCaptureProcess.h:47
makArchives::DtObserverStateRecord myObserverState
Definition: rfxCaptureProcess.h:95
std::string mySensorName
Definition: rfxCaptureProcess.h:54
int myWaitTerrainFrames
Definition: rfxCaptureProcess.h:143
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtImageSize myImageSize
Definition: rfxCaptureProcess.h:55
bool myUseObserverLoc
Definition: rfxCaptureProcess.h:45
Definition: rfxCaptureProcess.h:89
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
#define DT_DLL_RFXSERVER
Definition: include/radarFxServer/export.h:15
DtImageDataType myImageDataType
Definition: rfxCaptureProcess.h:57
Contains makArchives::DtObserverStateRecord class.
DtImageCaptureConfig defines a request for an image from the RadarFX Server.
Definition: rfxCaptureProcess.h:38
The DtCaptureProcess represents the capture of a single frame from the renderer.
Definition: rfxCaptureProcess.h:33
Base class to provide boost signal/slot management.
ProcessStep
steps in the image capture process
Definition: rfxCaptureProcess.h:89
makVrv::DtObserver * myObserver
Definition: rfxCaptureProcess.h:139
makVrv::DtVideoStream * myVideoStream
Definition: rfxCaptureProcess.h:138
Defines the base class for all message processes that can be used by the server or client...
DtImageRotation myImageRotation
Definition: rfxCaptureProcess.h:58
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:72
double myLastTime
Definition: rfxCaptureProcess.h:144
DtObserverMode is the class used to represent a single Visual Mode Visual Modes may be saved and rest...
Definition: DtObserverMode.h:30
DtVector myTargetLocation
Definition: rfxCaptureProcess.h:52
The image as initially captured from the camera is placed into a DtVideoFrameBuffer.
Definition: DtVideoFrameBuffer.h:20
Contains makVrv::DtWindowConfiguration class.
Definition: rfxImageMessage.h:27
bool myIsValid
Definition: rfxCaptureProcess.h:97
int myNumFramesSinceForestsNotRendered
Definition: rfxCaptureProcess.h:148


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)