VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
12 
13 #include <vector>
14 
15 namespace makVrv
16 {
17  class DtMetadataPublisher;
18 
23  {
24  public:
27 
29  virtual ~DtMetadataElement();
30 
32  virtual void setPublisher( DtMetadataPublisher* publisher );
33 
35  virtual unsigned int encodedLength() = 0;
36 
38  virtual unsigned char* encode( unsigned char* buffer ) = 0;
39 
42  virtual void decode( unsigned char* buffer, unsigned int length ) = 0;
43 
45  virtual bool timeForUpdate();
46 
48  virtual void tick(double dt);
49 
52  virtual void setFrequency( double timeInSeconds );
53 
55  virtual void addChild( DtMetadataElement* element );
56 
58  virtual DtKlvKey& key();
59 
60  protected:
63  virtual void update() = 0;
64 
67  virtual unsigned int encodedLengthChildren();
68 
69  protected:
71  std::vector<DtMetadataElement*> myChildren;
73 
74  double myLastUpdate;
75  double myNextUpdate;
76  bool myIsDirty;
78 
79  float myFrequency;
81  };
82 }

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)