VR-Vantage 3.1 API Documentation
Home
Modules
Namespaces
Classes
Files
Libraries
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
sensorFx
include
radarFxServer
rfxCaptureProcess.h
Go to the documentation of this file.
1
/*********************************************************************************
2
** Copyright (c) 2016 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
17
namespace
makVrv
18
{
19
class
DtDe;
20
class
DtVideoStream;
21
class
DtObserver;
22
class
DtVideoFrameBuffer;
23
}
24
25
namespace
makRadarFx
26
{
29
class
DT_DLL_RFXSERVER
DtCaptureProcess
:
public
DtBaseProcess
30
{
31
protected
:
32
34
enum
ProcessStep
{
WAITING
, CONFIGURE_OBSERVER, CONFIGURE_VIEWPORT, WAIT_TERRAIN, FRAME_CAPTURE, WAIT_FRAME, FRAME_RECEIVED, END_REQUEST, END_ERROR};
35
36
public
:
38
DtCaptureProcess
(
makVrv::DtDe
& de,
DtImageRequest
* msg);
39
virtual
~
DtCaptureProcess
();
40
42
virtual
void
tick();
43
45
virtual
bool
isDone();
46
48
virtual
void
processFrame(
makVrv::DtVideoFrameBuffer
* frame) = 0;
49
50
protected
:
51
54
struct
DtObserverState
55
{
56
makArchives::DtObserverStateRecord
myObserverState
;
57
makVrv::DtWindowConfiguration
myWindowConfiguration
;
58
bool
myIsValid
;
59
};
60
62
struct
DtImageCaptureConfig
63
{
64
DtImageCaptureConfig
();
65
66
std::string
myRequestorId
;
67
int
myRequestId
;
68
69
bool
myUseObserverLoc
;
70
bool
myUseObserverOrientation
;
71
DtVector
myOwnshipLocation
;
72
DtVector
myTargetLocation
;
73
74
std::string
mySensorName
;
75
DtImageSize
myImageSize
;
76
DtImageFormat
myImageFormat
;
77
DtImageDataType
myImageDataType
;
78
DtImageRotation
myImageRotation
;
79
unsigned
int
myImageReturnMethod
;
80
std::string
myImageSavePath
;
81
std::string
myImageFilename
;
82
};
83
84
protected
:
85
86
virtual
void
beginRequest();
87
virtual
void
configureViewport();
88
virtual
void
configureObserver();
89
virtual
void
waitTerrain();
90
virtual
void
installFrameCapture();
91
virtual
void
respondError(
std::string
errorMsg,
DtImageError
err) = 0;
92
virtual
void
endRequest();
93
94
virtual
void
restoreDisplay();
95
96
virtual
void
configureSensor(
const
std::string
& sensorName) = 0;
97
99
virtual
std::string
generateFilename(
const
std::string
&
path
,
const
std::string
& filename,
100
DtImageFormat
format
);
101
102
103
protected
:
104
105
DtImageCaptureConfig
*
myCaptureConfig
;
106
107
ProcessStep
myProcessStep
;
108
109
makVrv::DtVideoStream
*
myVideoStream
;
110
makVrv::DtObserver
*
myObserver
;
111
DtObserverState
*
myOriginalState
;
112
113
double
myWaitTime
;
114
double
myLastTime
;
115
double
myTerrainTimeout
;
116
bool
myTerrainTimeoutFlag
;
117
118
};
119
}
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (
www.mak.com
)