VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
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 
36  {
37  public:
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 
133 
136 
138  DtMetadataPublisher& operator=( const DtMetadataPublisher& rhs );
139 
140  protected:
143  std::vector<DtMetadataElement*> myElements;
145 
149 
150  unsigned char* myBuffer;
154  };
155 
157  {
158  public:
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)