VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLaserDesignatorUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvCore/DtDe.h>
15 #include <vrvCore/DtIntersector.h>
17 
19 
20 #include <string>
21 
22 namespace makVrv
23 {
24  class DtIntersectorsContainer;
25  class DtCoordinateConverter;
26 
32  {
33  public:
34 
37 
39  virtual ~DtLaserDesignatorUpdater();
40 
42  virtual void update( double simTime );
43 
46  virtual void setEnabled(bool enabled);
47 
50  virtual void setSpotLocation(const DtVector& end);
51 
54  // created the model that this updater updates
55  virtual void setDesignator(DtUniqueID sourceId);
56 
61  virtual void setDesignatedObject(DtUniqueID designee);
62 
63  protected:
64  // If a scene object is found for the designee it comes back in designeeSceneObject
65  virtual DtVector updateLocation(double simTime, DtSceneObject*& designeeSceneObject);
66  virtual DtTaitBryan updateOrientation(double simTime, DtSceneObject* designeeSceneObject);
67 
69  virtual void slot_coordinateSystemChanged();
70 
71  protected:
75  bool myDirty;
76 
77  DtIntersectorsContainer* myIntersectors = nullptr;
78 
80 
81  // local clone of the current system wide coordinate system converter.
82  // for thread safety.
83  DtCoordinateConverter* myCoordinateConverter = nullptr;
84  };
85 }
DtCoordinateConverter is the base class for &#39;local (cig) to geocentric&#39; converters.
Definition: DtCoordinateConverter.h:25
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:36
Utility class that contains intersectors for all model sets in the system (3d, xr, 2d) Use an object of this class when all models sets can be possibly needed. When you know which model set you need, you can just use the DtIntersectorCreator to create an intersector for a model set Models sets corresponding to 3d, xr and 2d are created by default (these correspond to values of 0, 1 and 5) Additional model sets can be registered with DtIntersectorsContainer::registerModelSet.
Definition: DtIntersectorsContainer.h:36
Contains makVrv::DtDe class.
DtVector mySpotLocation
Definition: DtLaserDesignatorUpdater.h:74
bool myDirty
Definition: DtLaserDesignatorUpdater.h:75
DtUniqueID mySource
Definition: DtLaserDesignatorUpdater.h:72
Contains the declaration for makVrv::DtSceneObjectUpdater.
Contains makVrv:DtIntersector class.
DtUniqueID myDesignatedObject
Definition: DtLaserDesignatorUpdater.h:73
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class to provide boost signal/slot management.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
DtSignalConnectionManager myConnections
Definition: DtLaserDesignatorUpdater.h:79
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
DtLaserDesignatorUpdater is an updater that is given a position and orientation, and depending on how...
Definition: DtLaserDesignatorUpdater.h:31
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)