VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrvVideoStream
DtMetadataElement.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
#include <
vrvVideoStream/vrvVideoStream.h
>
12
13
#include <
vrvVideoStream/DtKlvKey.h
>
14
15
#include <vector>
16
17
namespace
makVrv
18
{
19
class
DtMetadataPublisher;
20
24
class
DT_DLL_VRVVIDEOSTREAM
DtMetadataElement
25
{
26
public
:
28
DtMetadataElement
();
29
31
virtual
~
DtMetadataElement
();
32
34
virtual
void
setPublisher(
DtMetadataPublisher
* publisher );
35
37
virtual
unsigned
int
encodedLength() = 0;
38
40
virtual
unsigned
char
*
encode
(
unsigned
char
* buffer ) = 0;
41
44
virtual
void
decode
(
unsigned
char
* buffer,
unsigned
int
length ) = 0;
45
47
virtual
bool
timeForUpdate();
48
50
virtual
void
tick(
double
dt);
51
54
virtual
void
setFrequency(
double
timeInSeconds );
55
57
virtual
void
addChild(
DtMetadataElement
* element );
58
60
virtual
DtKlvKey
& key();
61
62
protected
:
65
virtual
void
update() = 0;
66
69
virtual
unsigned
int
encodedLengthChildren();
70
71
protected
:
72
DtMetadataElement
*
myParent
;
73
std::vector<DtMetadataElement*>
myChildren
;
74
DtMetadataPublisher
*
myPublisher
;
75
76
double
myLastUpdate
;
77
double
myNextUpdate
;
78
bool
myIsDirty
;
79
DtKlvKey
myKey
;
80
81
float
myFrequency
;
82
bool
myTimeToUpdate
;
83
};
84
}
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)