VR-Forces 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 
55  virtual void setDesignator( DtElementID sourceId);
56 
61  virtual void setDesignatedObject( DtElementID 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:
77  bool myDirty;
78 
79  DtIntersectorsContainer* myIntersectors = nullptr;
80 
81  // local clone of the current system wide coordinate system converter.
82  // for thread safety.
83  DtCoordinateConverter* myCoordinateConverter = nullptr;
84  };
85 }
DtElementID mySourceElementId
Definition: DtLaserDesignatorUpdater.h:72
DtCoordinateConverter is the base class for &#39;local (cig) to geocentric&#39; converters.
Definition: DtCoordinateConverter.h:25
DtElementID myDesignatedElementId
Definition: DtLaserDesignatorUpdater.h:74
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:39
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:37
Contains makVrv::DtDe class.
DtVector mySpotLocation
Definition: DtLaserDesignatorUpdater.h:76
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myDirty
Definition: DtLaserDesignatorUpdater.h:77
Contains the declaration for makVrv::DtSceneObjectUpdater.
DtUniqueID mySourceSceneObjectId
Definition: DtLaserDesignatorUpdater.h:73
Contains makVrv:DtIntersector class.
DtUniqueID myDesignatedSceneObjectId
Definition: DtLaserDesignatorUpdater.h:75
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
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:44
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:72
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)