RadarFX API Documentation
Home
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
include
radarFxServer
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
>
9
#include <
radarFxServer/rfxBaseProcess.h
>
10
11
#include <
radarFxShared/rfxImageMessage.h
>
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
{
31
class
DT_DLL_RFXSERVER
DtCaptureProcess
:
public
DtBaseProcess
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
56
struct
DtObserverState
57
{
58
makArchives::DtObserverStateRecord
myObserverState
;
59
makVrv::DtWindowConfiguration
myWindowConfiguration
;
60
bool
myIsValid
;
61
};
62
64
struct
DtImageCaptureConfig
65
{
66
DtImageCaptureConfig
();
67
virtual
~
DtImageCaptureConfig
();
68
std::string
myRequestorId
;
69
int
myRequestId
;
70
71
bool
myUseObserverLoc
;
72
bool
myUseObserverOrientation
;
73
DtVector
myOwnshipLocation
;
74
DtTaitBryan
myOwnshipOrientation
;
75
76
double
mySystemTime
;
77
78
DtVector
myTargetLocation
;
79
80
std::string
mySensorName
;
81
DtImageSize
myImageSize
;
82
DtImageFormat
myImageFormat
;
83
DtImageDataType
myImageDataType
;
84
DtImageRotation
myImageRotation
;
85
unsigned
int
myImageReturnMethod
;
86
std::string
myImageSavePath
;
87
std::string
myImageFilename
;
88
bool
mySingleChannelRaw
;
89
90
DtVector
myObserverOffsetLocation
;
91
DtTaitBryan
myObserverOffsetOrientation
;
92
bool
myRestoreState
;
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
118
DtImageCaptureConfig
*
myCaptureConfig
;
119
120
makVrv::DtSignalConnectionManager
myConnections
;
121
124
makVrv::DtCoordinateSystem* myCoordinateSystem =
nullptr
;
125
126
ProcessStep
myProcessStep
;
127
128
makVrv::DtVideoStream*
myVideoStream
;
129
makVrv::DtObserver*
myObserver
;
130
DtObserverState
*
myOriginalState
;
131
132
double
myWaitTime
;
133
int
myWaitTerrainFrames
;
134
double
myLastTime
;
135
double
myTerrainTimeout
;
136
bool
myTerrainTimeoutFlag
;
137
int
myWaitFrameCount
;
138
};
139
}
Document ID: 1.0
Copyright © 2015 VT MÄK Inc. All Rights Reserved (
www.mak.com
)