VR-Vantage API Documentation
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 
14 
15 #include <vector>
16 
17 namespace makVrv
18 {
19  class DtMetadataPublisher;
20 
25  {
26  public:
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:
73  std::vector<DtMetadataElement*> myChildren;
75 
76  double myLastUpdate;
77  double myNextUpdate;
78  bool myIsDirty;
80 
81  float myFrequency;
83  };
84 }


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)