VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTrackAcquirer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 #include <vrvCore/DtSceneObject.h>
15 
16 #include <vrvUtil/vrvUtil.h>
18 
19 #include <vector>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtObserver;
25  class DtChannel;
26  class DtTrackAcquisitionBox;
27 
42  {
43  public:
44  friend class DtTrackAcquirerCreator;
49  {
50  double angleToEntity;
52  };
54  typedef std::vector<DtTrackableEntity> DtTrackableEntities;
55 
57  virtual ~DtTrackAcquirer();
58 
64  virtual bool initiateTrack();
65 
70  {
71  bool operator()( const DtTrackableEntity& left, const DtTrackableEntity& right )
72  {
73  return (left.angleToEntity > right.angleToEntity);
74  }
75  };
76 
78  virtual void setTrackAcquisitionBox( DtTrackAcquisitionBox& box);
80  const virtual DtTrackAcquisitionBox& trackAcquisitionBox() const;
81  virtual DtTrackAcquisitionBox& trackAcquisitionBox();
83 
85  virtual DtTrackableEntities& trackableEntities();
87  const virtual DtTrackableEntities& trackableEntities() const;
88  virtual void setTrackAbleEntities( const DtTrackableEntities& entities );
90 
93  const virtual DtElementID identifiedTrackableObjectId() const;
94  protected:
96  DtTrackAcquirer( DtDe& de, DtObserver& observer, DtChannel& acquisitionChannel );
97  private:
99  DtTrackAcquirer( const DtTrackAcquirer& orig);
100 
102  DtTrackAcquirer& operator=( const DtTrackAcquirer& rhs);
103  protected:
110  };
111 
115  {
116  public:
119  {
120  }
121 
124  {
125  }
126 
128  virtual DtTrackAcquirerCreator* clone() const = 0;
129 
131  virtual DtTrackAcquirer* create( DtDe& de, DtObserver& observer, DtChannel& channel ) const = 0;
132 
133 
134  };
135 
136  template <typename TrackAcquirerObject>
138  {
139  public:
142  {
143  }
144 
147  {
148  }
149 
151  virtual DtTrackAcquirerCreator* clone() const
152  {
154  }
155 
157  virtual DtTrackAcquirer* create( DtDe& de, DtObserver& observer, DtChannel& channel ) const
158  {
159  return new TrackAcquirerObject( de, observer, channel );
160  }
161  };
162 }
DtTrackAcquisitionBox * myAcquisitionBox
Definition: DtTrackAcquirer.h:106
virtual DtTrackAcquirer * create(DtDe &de, DtObserver &observer, DtChannel &channel) const
Create Function.
Definition: DtTrackAcquirer.h:157
A struct for storing dot product values from observer front vector to entities within the scene...
Definition: DtTrackAcquirer.h:48
DtDe & myDe
Definition: DtTrackAcquirer.h:104
DtObserver * myObserver
Definition: DtTrackAcquirer.h:108
Used to std::sort a vector of DtTrackableEntities Sorts from 1 -&gt; 0, first element will be the closes...
Definition: DtTrackAcquirer.h:69
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtTrackableEntities myTrackableEntities
Definition: DtTrackAcquirer.h:105
DtSceneObject * entitySceneObject
Definition: DtTrackAcquirer.h:51
Contains DLL export macros.
The abstract Channel Class.
Definition: DtChannel.h:30
virtual DtTrackAcquirerCreator * clone() const
Close.
Definition: DtTrackAcquirer.h:151
Abstract DtTrackAcquirer creator.
Definition: DtTrackAcquirer.h:114
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
Base class for objects that identify entities that can be tracked on screen or in the scene...
Definition: DtTrackAcquirer.h:41
Definition: DtTrackAcquirer.h:137
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtChannel * myAcquisitionChannel
Definition: DtTrackAcquirer.h:107
virtual ~DtTrackAcquirerCreator()
DTOR.
Definition: DtTrackAcquirer.h:123
std::vector< DtTrackableEntity > DtTrackableEntities
Typedef vector for holding scene objects that are within a FOV.
Definition: DtTrackAcquirer.h:54
DtTrackAcquirerCreatorTemplate()
CTOR.
Definition: DtTrackAcquirer.h:141
DtElementID myObjectIdToTrack
Definition: DtTrackAcquirer.h:109
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
DtTrackAcquirerCreator()
CTOR.
Definition: DtTrackAcquirer.h:118
Contains makVrv::DtUniqueID type.
bool operator()(const DtTrackableEntity &left, const DtTrackableEntity &right)
Definition: DtTrackAcquirer.h:71
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual ~DtTrackAcquirerCreatorTemplate()
DTOR.
Definition: DtTrackAcquirer.h:146
Initialises a Acquisition box that a DtTrackAcquirer() can use.
Definition: DtTrackAcquisitionBox.h:30
double angleToEntity
Definition: DtTrackAcquirer.h:50
Contains makVrv::DtSceneObject class.
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)