VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrvVideoStream
DtMetadataPublisher.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2012 VT-MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvVideoStream/DtMetadataElement.h
>
13
14
#include <
vrvCore/DtUniqueID.h
>
15
16
#include <
vrvUtil/DtUnicode.h
>
17
18
#include <matrix/vlVector.h>
19
20
namespace
makArchives
21
{
22
class
DtMetadataPublisherRecord;
23
}
24
25
namespace
makVrv
26
{
27
class
DtObserver;
28
class
DtDe;
29
class
DtVideoStream;
30
class
DtSceneObject;
31
35
class
DT_DLL_VRVVIDEOSTREAM
DtMetadataPublisher
36
{
37
public
:
39
friend
class
DtMetadataPublisherCreator
;
40
42
virtual
~
DtMetadataPublisher
();
43
45
virtual
void
realize(
const
makArchives::DtMetadataPublisherRecord
& metadataConfig );
46
48
virtual
void
setObserverName(
const
DtUnicode
& observerName );
49
52
virtual
bool
isAttached();
53
55
virtual
void
attachEntity(
makVrv::DtUniqueID
entity );
56
59
virtual
void
detach();
60
64
virtual
void
addMetadataElement(
DtMetadataElement
* element );
65
67
virtual
void
tick(
double
dt );
68
69
// Get the total number of bytes currently in the publisher's buffer
70
virtual
int
numBytes();
71
73
virtual
unsigned
char
* getBytes();
74
79
virtual
const
DtVideoStream
& videoStream();
80
87
virtual
const
DtSceneObject
& attachedEntitySceneObject();
88
96
virtual
const
DtObserver
& observer();
97
101
virtual
bool
haveValidTargetPoint()
const
;
102
105
virtual
DtVector
targetPoint()
const
;
106
111
virtual
DtDe
& de();
112
113
protected
:
114
116
DtMetadataPublisher
(
DtDe
& de,
const
DtVideoStream
& videoStream );
117
119
virtual
void
slot_attachToChanged(
makVrv::DtObserver
* obs );
120
123
virtual
DtSceneObject
* findSceneObjectFromElement(
const
DtElementID
&
id
);
124
127
virtual
void
updateTargetPoint();
128
129
private
:
130
132
DtMetadataPublisher
();
133
135
DtMetadataPublisher
(
const
DtMetadataPublisher
& orig );
136
138
DtMetadataPublisher
& operator=(
const
DtMetadataPublisher
& rhs );
139
140
protected
:
141
DtDe
&
myDe
;
142
const
DtVideoStream
&
myVideoStream
;
143
std::vector<DtMetadataElement*>
myElements
;
144
DtObserver
*
myObserver
;
145
146
DtSceneObject
*
myAttachedEntitySceneObject
;
147
bool
myIsAttached
;
148
makVrv::DtUniqueID
myAttachedEntity
;
149
150
unsigned
char
*
myBuffer
;
151
int
myBufferLength
;
152
bool
myValidTargetPoint
;
153
DtVector
myTargetPoint
;
154
};
155
156
class
DT_DLL_VRVVIDEOSTREAM
DtMetadataPublisherCreator
157
{
158
public
:
159
DtMetadataPublisherCreator
();
160
virtual
~
DtMetadataPublisherCreator
();
161
162
virtual
DtMetadataPublisher
* create(
DtDe
& de,
const
DtVideoStream
& videoStream ) = 0;
163
};
164
}
Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)