VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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( float timeInSeconds );
53 
55  virtual void addChild( DtMetadataElement* element );
56 
58  virtual DtKlvKey& key();
59 
62  virtual bool isMetadataSynchronous() const;
63 
66  virtual void setIsMetadataSynchronous(bool isMetadataSynchronous);
67 
68 
69  protected:
72  virtual void update() = 0;
73 
76  virtual unsigned int encodedLengthChildren();
77 
78  protected:
80  std::vector<DtMetadataElement*> myChildren;
82 
83  double myLastUpdate;
84  double myNextUpdate;
85  bool myIsDirty;
87 
88  float myFrequency;
90 
93  };
94 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)